summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2005-06-21 15:54:21 +0000
committerburaq <buraq@epfl.ch>2005-06-21 15:54:21 +0000
commitfcafb7bed6af5ae92fb339a674e9b13391cff634 (patch)
tree2317a679e84da6aa38416c91a6380dda5f39b878
parent5704ccb04857f2245a029a96382d1949d9848d72 (diff)
downloadscala-fcafb7bed6af5ae92fb339a674e9b13391cff634.tar.gz
scala-fcafb7bed6af5ae92fb339a674e9b13391cff634.tar.bz2
scala-fcafb7bed6af5ae92fb339a674e9b13391cff634.zip
little additions to make independent from AntAd...
little additions to make independent from AntAdaptor
-rw-r--r--sources/scala/tools/scala4ant/NscAdaptor.scala106
-rw-r--r--sources/scala/tools/scala4ant/NscTask.scala4
2 files changed, 85 insertions, 25 deletions
diff --git a/sources/scala/tools/scala4ant/NscAdaptor.scala b/sources/scala/tools/scala4ant/NscAdaptor.scala
index b70164ac89..46a8b3317a 100644
--- a/sources/scala/tools/scala4ant/NscAdaptor.scala
+++ b/sources/scala/tools/scala4ant/NscAdaptor.scala
@@ -1,6 +1,5 @@
//import scalac._;
-import scala.tools.util.Reporter;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -24,32 +23,14 @@ package scala.tools.scala4ant {
* $Id$
*/
- class NscAdaptor extends AntAdaptor {
+ class NscAdaptor extends DefaultCompilerAdapter {
- override def runCompiler( args:Array[String] ) = {
+ def runCompiler( args:Array[String] ) = {
var ex:Throwable = _;
//Console.println("runCompiler");
var result = true;
try {
- //var moreargs: List[String] = Nil;
-
- //if(verbose)
- // moreargs = "-verbose" :: moreargs;
-
- val moreargs = this.attributes.asInstanceOf[NscTask].moreArgs();
-
- for(val a <- moreargs)
- Console.println("NscAdaptor adds argument '"+a+"'");
-
- val nargs = new Array[String](moreargs.length + args.length);
- //moreargs.copyToArray(nargs, 0);
- System.arraycopy(moreargs, 0, nargs, 0, moreargs.length);
- System.arraycopy(args, 0, nargs, moreargs.length, args.length);
-
-
-
-
- scala.tools.nsc.Main.process( nargs );
+ scala.tools.nsc.Main.process( args );
} catch {
case e:Throwable =>
ex = e;
@@ -65,7 +46,86 @@ package scala.tools.scala4ant {
true
}
- override def compilerName() = "nsc";
+ def compilerName() = "nsc";
+
+ def execute() = {
+ attributes.log("Using " + compilerName() + " as scala compiler",
+ Project.MSG_VERBOSE);
+
+ runCompiler( setupNscCommand().getArguments() );
+ }
+
+ def setupNscCommand() = {
+ //Console.println("setupScalaCommand");
+ val cmd = new Commandline();
+ val cp = new Path( this.project );
+
+ //- attribute @nscArgs in order to pass anything you like
+ val moreargs = this.attributes.asInstanceOf[NscTask].moreArgs();
+ for(val a <- moreargs) {
+ Console.println("NscAdaptor adds argument '"+a+"'");
+ cmd.createArgument().setValue(a);
+ }
+
+
+ //- encoding? @todo
+ //val stask = this.attributes.asInstanceOf[ScalacTask];
+ //if(null != stask.getEncoding()) {
+ // cmd.createArgument().setValue( "-encoding" );
+ // cmd.createArgument().setValue( stask.getEncoding() );
+ //}
+
+ //- destdir
+ if( destDir != null ) {
+ cmd.createArgument().setValue( "-d" );
+ cmd.createArgument().setFile( destDir );
+ cp.setLocation( destDir );
+ }
+
+ /* cp.addExisting( Path.systemClasspath );*/
+ /* cp.addJavaRuntime(); */
+
+ //- classpath
+ if( compileClasspath != null ) {
+ cp.addExisting( compileClasspath );
+ }
+
+ cmd.createArgument().setValue("-classpath");
+ cmd.createArgument().setPath( cp );
+
+ //var bcp = inferScalaPath(Path.systemClasspath.list());
+ //val bcps = (bcp./: (PSEP) { (x:String,y:String) => x+PSEP+y });
+
+ /* scala.tools.util.ClassPath replaces "::" / ";;" at the beginning
+ with something meaningful
+ */
+ //cmd.createArgument().setValue("-bootclasspath");
+ //cmd.createArgument().setValue( bcps );
+
+ cmd.createArgument().setValue("-sourcepath");
+ cmd.createArgument().setPath(
+ if (compileSourcepath != null) {
+ compileSourcepath;
+ } else {
+ src;
+ }
+ );
+
+ if (bootclasspath != null && bootclasspath.size() > 0) {
+ cmd.createArgument().setValue("-bootclasspath");
+ cmd.createArgument().setPath(bootclasspath);
+ }
+
+ //if (extdirs != null && extdirs.size() > 0) {
+ // cmd.createArgument().setValue("-extdirs");
+ // cmd.createArgument().setPath(extdirs);
+ //}
+
+ logAndAddFilesToCompile(cmd);
+ //Console.println("DONE setupScalaCommand");
+ cmd
+ }
+
}
}
diff --git a/sources/scala/tools/scala4ant/NscTask.scala b/sources/scala/tools/scala4ant/NscTask.scala
index f977796158..e50199f6ac 100644
--- a/sources/scala/tools/scala4ant/NscTask.scala
+++ b/sources/scala/tools/scala4ant/NscTask.scala
@@ -51,8 +51,8 @@ class NscTask extends Javac {
override def execute() = {
System.setProperty("scala.home", ScalaRuntime.home.toString());
- System.setProperty("scala.product", scala.tools.scalac.Main.PRODUCT);
- System.setProperty("scala.version", scala.tools.scalac.Main.VERSION);
+ //System.setProperty("scala.product", scala.tools.scalac.Main.PRODUCT);
+ //System.setProperty("scala.version", scala.tools.scalac.Main.VERSION);
System.setProperty("scala.class.path", ".");
System.setProperty("scala.boot.class.path", ScalaRuntime.bootclasspath.toString());