private[this] def generatedExtensionPattern()

in scrooge-sbt-plugin/src/main/scala/com/twitter/ScroogeSBT.scala [12:57]


  private[this] def generatedExtensionPattern(language: String): String =
    if (language.endsWith("java")) "*.java" else "*.scala"

  private[this] def compile(
    log: Logger,
    outputDir: File,
    thriftFiles: Set[File],
    thriftIncludes: Set[File],
    namespaceMappings: Map[String, String],
    language: String,
    flags: Set[ServiceOption],
    disableStrict: Boolean,
    scalaWarnOnJavaNSFallback: Boolean,
    defaultNamespace: String,
    addRootDirImporter: Boolean
  ): Unit = {

    val originalLoader: Option[ClassLoader] =
      // We have to change the class loader so Mustache resolver can see resources.
      // TODO: Please, remove it once Mustache is updated to >=0.9.
      if (language.toLowerCase == "java") {
        val original = Thread.currentThread.getContextClassLoader
        Thread.currentThread.setContextClassLoader(getClass.getClassLoader)
        Some(original)
      } else None

    val cfg = ScroogeConfig(
      destFolder = outputDir.getPath,
      includePaths = thriftIncludes.map(_.getPath).toList,
      thriftFiles = thriftFiles.map(_.getPath).toList,
      flags = flags,
      namespaceMappings = namespaceMappings,
      strict = !disableStrict,
      scalaWarnOnJavaNSFallback = scalaWarnOnJavaNSFallback,
      defaultNamespace = defaultNamespace,
      language = language.toLowerCase,
      addRootDirImporter = addRootDirImporter
    )

    try {
      val compiler = new Compiler(cfg)
      compiler.run()
    } finally {
      originalLoader.foreach(Thread.currentThread.setContextClassLoader)
    }
  }