⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 use.scala

📁 JAVA 语言的函数式编程扩展
💻 SCALA
字号:
/*                     __                                               *\**     ________ ___   / /  ___     Scala Ant Tasks                      ****    / __/ __// _ | / /  / _ |    (c) 2005-2008, LAMP/EPFL             ****  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **** /____/\___/_/ |_/____/_/ | |                                         ****                          |/                                          **\*                                                                      */package scala.tools.ant.sabbusimport java.io.Fileimport org.apache.tools.ant.taskdefs.MatchingTaskimport org.apache.tools.ant.types.{Path, Reference}import org.apache.tools.ant.util.{GlobPatternMapper, SourceFileScanner}class Use extends MatchingTask {    def setId(input: String): Unit = {    id = Some(input)  }    def setSrcdir(input: File) {    sourceDir = Some(input)  }    def setDestdir(input: File): Unit = {    destinationDir = Some(input)  }    def setFailOnError(input: Boolean): Unit = {    failOnError = input  }    private var id: Option[String] = None  private var sourceDir: Option[File] = None  private var destinationDir: Option[File] = None  private var failOnError: Boolean = true    override def execute(): Unit = {    if (id.isEmpty) error("Mandatory attribute 'id' is not set.")    if (sourceDir.isEmpty) error("Mandatory attribute 'srcdir' is not set.")    val compiler = Compilers(id.get)    if (!destinationDir.isEmpty) compiler.settings.d = destinationDir.get    val mapper = new GlobPatternMapper()    mapper.setTo("*.class")    mapper.setFrom("*.scala")    val includedFiles: Array[File] =      new SourceFileScanner(this).restrict(        getDirectoryScanner(sourceDir.get).getIncludedFiles,        sourceDir.get,        compiler.settings.d,        mapper      ) map (new File(sourceDir.get, _))    if (includedFiles.size > 0)      try {        log("Compiling " + includedFiles.size + " file" + (if (includedFiles.size > 1) "s" else "") + " to " + compiler.settings.d.getAbsolutePath)        val (errors, warnings) = compiler.compile(includedFiles)        if (errors > 0)          error("Compilation failed with " + errors + " error" + (if (errors > 1) "s" else "") + ".")        else if (warnings > 0)          log("Compilation suceeded with " + warnings + " warning" + (if (warnings > 1) "s" else "") + ".")      }      catch {        case CompilationFailure(msg, ex) =>          ex.printStackTrace          val errorMsg =            "Compilation failed because of an internal compiler error (" + msg + "); see the error output for details."          if (failOnError) error(errorMsg) else log(errorMsg)      }  }  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -