SBT插件修改编译和测试任务

时间:2014-07-22 15:28:40

标签: sbt sbt-plugin

我正在创建一个将修改compile:compile和test:test任务的插件。我的最终目标是能够sbt monkjacksbt monkjack:test(两者都很好)。在compile:compile范围内我需要添加一个编译器插件,并且在测试中:测试范围我需要在测试完成后运行一些代码。

我的第一次尝试是尝试创建一个自定义配置,但扩展,编译或测试,不清楚,因为两者都需要(目前我有两个,我将CustomTest复制到CustomCompile然后运行monkjack:测试)。我的第二次尝试集中在一个自定义任务上,该任务在设置各种选项后依次调用(在Compile中编译).value和(test in Test).value。

我意识到我对SBT任务的了解以及它们如何相关/继承/作用域并不是很好。

Q1。是否有像maven一样的任务链?在maven中,如果执行test,它将按顺序执行其他阶段。所以mvn clean test会自动运行prepare-sources,compile等等。所以在SBT中,如果我运行sbt test,其他任务如何自动执行。

Q2。如果您使用自定义配置执行任务,例如sbt millertime:test该配置将传播到其他运行的任务。例如,这与sbt monkjack:compile monkjack:test相同或与sbt compile monkjack:test相同或两者都不相同:)

Q3。任务如何知道哪个是默认配置?如果我sbt compile,SBT如何知道这意味着sbt compile:compile

Q4。这是最好的方式,自定义配置或新任务。

0 个答案:

没有答案