scalac的dependencyfile选项不起作用?

时间:2013-09-23 22:45:04

标签: scala ant scalac

我正在阅读有关为scalac设置ant任务的先前堆栈溢出问题: FSC recompiles every time

奇怪的是当我测试-dependencyfile选项时,我发现在任何地方都没有生成依赖文件。我正在使用ubuntu的scalac 2.9.1以及ant任务中的官方2.10.2 jar来测试它。似乎命令行实用程序和ant任务都在没有抱怨的情况下接受我的输入(它们在语法上是正确的吗?)。但是,

我是否以错误的方式使用此功能?

E.g。来自命令行:

scalac -dependencyfile scala_dependencies *.scala

来自蚂蚁任务

<!-- inside a macro definition -->
<scalac destdir="@{destdir}" deprecation="yes"
        force="yes" dependencyfile="scala_dependencies"
        addparams="@{addparams}"
        scalacdebugging="true">
   <!-- src, classpath, patternset and etc -->
</scalac>

更新

我添加了-make:传递选项到命令行它确实为我生成了一个文件,但我第二次运行它,scalac只是崩溃了。 $ scalac -make:transitive -dependencyfile scala_dependencies * .scala 重新编译2个文件 警告:有1个弃用警告;使用-deprecation重新运行以获取详细信息 错误:java.lang.NullPointerException         在scala.tools.nsc.io.Path $ .apply(Path.scala:73)         在scala.tools.nsc.dependencies.DependencyAnalysis $$ anonfun $ saveDependencyAnalysis $ 1.apply(DependencyAnalysis.scala:33)         在scala.tools.nsc.dependencies.DependencyAnalysis $$ anonfun $ saveDependencyAnalysis $ 1.apply(DependencyAnalysis.scala:33)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ emit $ 1 $ 2 $$ anonfun $ apply $ 6.apply(Files.scala:96)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ emit $ 1 $ 2 $$ anonfun $ apply $ 6.apply(Files.scala:96)         在scala.collection.mutable.HashSet.foreach(HashSet.scala:72)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ emit $ 1 $ 2.apply(Files.scala:96)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ emit $ 1 $ 2.apply(Files.scala:96)         在scala.collection.mutable.OpenHashMap $$ anonfun $ foreach $ 1.apply(OpenHashMap.scala:221)         在scala.collection.mutable.OpenHashMap $$ anonfun $ foreach $ 1.apply(OpenHashMap.scala:219)         在scala.collection.mutable.OpenHashMap $$ anonfun $ foreachUndeletedEntry $ 1.apply(OpenHashMap.scala:226)         在scala.collection.mutable.OpenHashMap $$ anonfun $ foreachUndeletedEntry $ 1.apply(OpenHashMap.scala:226)         在scala.collection.IndexedSeqOptimized $ class.foreach(IndexedSeqOptimized.scala:34)         在scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38)         在scala.collection.mutable.OpenHashMap.foreachUndeletedEntry(OpenHashMap.scala:226)         在scala.collection.mutable.OpenHashMap.foreach(OpenHashMap.scala:219)         在scala.tools.nsc.dependencies.Files $ FileDependencies.emit $ 1(Files.scala:96)         在scala.tools.nsc.dependencies.Files $ FileDependencies.writeTo(Files.sca) LA:103)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ writeTo $ 1.apply(Files.scala:92)         在scala.tools.nsc.dependencies.Files $ FileDependencies $$ anonfun $ writeTo $ 1.apply(Files.scala:92)         在scala.tools.nsc.dependencies.Files $ class.writeToFile(Files.scala:163)         在scala.tools.nsc.Global $ dependencyAnalysis $ .writeToFile(Global.scala:498)         在scala.tools.nsc.dependencies.Files $ FileDependencies.writeTo(Files.scala:92)         在scala.tools.nsc.dependencies.DependencyAnalysis $ class.saveDependencies(DependencyAnalysis.scala:87)         在scala.tools.nsc.Global $ dependencyAnalysis $ .saveDependencies(Global.scala:498)         在scala.tools.nsc.dependencies.DependencyAnalysis $ class.saveDependencyAnalysis(DependencyAnalysis.scala:32)         在scala.tools.nsc.Global $ dependencyAnalysis $ .saveDependencyAnalysis(Global.scala:498)         在scala.tools.nsc.Global $ Run.compileSources(Global.scala:1022)         在scala.tools.nsc.Global $ Run.compile(Global.scala:1038)         在scala.tools.nsc.Main $ .process(Main.scala:106)         在scala.tools.nsc.Main $ .main(Main.scala:123)         在scala.tools.nsc.Main.main(Main.scala)

对于2.10.2,编译器抱怨: 警告:-make已弃用:此选项未维护。使用sbt或IDE进行选择性重新编译。 我仍然找不到生成文件

0 个答案:

没有答案