2

我正在阅读有关为 scalac 设置 ant 任务的先前堆栈溢出问题: FSC 每次都重新编译

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

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

例如从命令行:

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:transitive 选项,它确实为我生成了一个文件,但我第二次运行它,scalac 简单地崩溃了。$ scalac -make:transitive -dependencyfile scala_dependencies *.scala 重新编译 2 个文件警告:有 1 个弃用警告;使用 -deprecation 重新运行以获取详细信息错误:scala.tools.nsc.io.Path$.apply(Path.scala:73) 处的 java.lang.NullPointerException at scala.tools.nsc.dependencies.DependencyAnalysis$$anonfun$saveDependencyAnalysis $1.apply(DependencyAnalysis.scala:33) at scala.tools.nsc.dependencies.DependencyAnalysis$$anonfun$saveDependencyAnalysis$1.apply(DependencyAnalysis.scala:33) at scala.tools.nsc.dependencies.Files$FileDependencies$$anonfun $emit$1$2$$anonfun$apply$6.apply(Files.scala:96) 在 scala.tools.nsc.dependencies。

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

4

0 回答 0