scala - 在 SBT 中,您如何覆盖 compile 以运行任意代码?

标签 scala sbt

我正在尝试使用 SBT 来构建一个依赖于字节码增强的项目。基本上,我需要在 compile 之后运行一些代码使用当前范围内的类路径(这样命令可以找到要修改的类),然后确保 compile之后不会再次运行以撤消增强功能。

如果这很重要,我正在使用 SBT 0.13.12。

最佳答案

我相信你会想做一个新的 sbt 任务并让它依赖于编译。然后使用它而不是编译。

    lazy val bytecodeEnhancedCompile = taskKey[Unit]("bytecode Enhance")

    bytecodeEnhancedCompile <<= bytecodeEnhancedCompile dependsOn (compile in Compile)

    bytecodeEnhancedCompile  := {
       ....
    }

关于scala - 在 SBT 中,您如何覆盖 compile 以运行任意代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39578501/

相关文章:

java - 'java.lang.AssertionError : assertion failed' Error while starting Scala-IDE(Eclipse)

scala - IDEA : scala multi module projet 中的模块资源根

scala - sbt 取决于 % "compile->compile;test->test"

scala - 如何在 SBT 中解决我自己的测试工件?

scala - 在 scala 中使用 def、val 和 var

java - 将两个代码点表情符号放入字符串中?

scala - 如何在 CircleCI 上添加 SBT 插件解析器?

scala - 如何使用 PartialFunctions 来编写匹配语句?

eclipse - 如何让 Eclipse 查看 jar 中的 Scala 源代码?

class - 未找到 Scala 值