|
Scala example source code file (Use.scala)
The Use.scala Scala example source code/* __ *\ ** ________ ___ / / ___ Scala Ant Tasks ** ** / __/ __// _ | / / / _ | (c) 2005-2013, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ package scala package tools.ant package sabbus import java.io.File import org.apache.tools.ant.types.{Path, Reference} import org.apache.tools.ant.util.{GlobPatternMapper, SourceFileScanner} class Use extends ScalaMatchingTask { def setId(input: String) { id = Some(input) } def setSrcdir(input: File) { sourceDir = Some(input) } def setDestdir(input: File) { destinationDir = Some(input) } def setFailOnError(input: Boolean) { 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() { if (id.isEmpty) sys.error("Mandatory attribute 'id' is not set.") if (sourceDir.isEmpty) sys.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.length > 0) try { log("Compiling " + includedFiles.length + " file" + (if (includedFiles.length > 1) "s" else "") + " to " + compiler.settings.d.getAbsolutePath) val (errors, warnings) = compiler.compile(includedFiles) if (errors > 0) sys.error("Compilation failed with " + errors + " error" + (if (errors > 1) "s" else "") + ".") else if (warnings > 0) log("Compilation succeeded 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) sys.error(errorMsg) else log(errorMsg) } } } Other Scala source code examplesHere is a short list of links related to this Scala Use.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.