这是基于https://github.com/harrah/xsbt/wiki/Common-TasksAdditional run tasks
的部分。
定义新的任务键:
lazy val myHprofTask = TaskKey[Unit]("my-hprof-task")
使用执行的类路径在Compile
配置(myHprofTask in Compile
部分)中添加一个新的运行任务,将“arg1”和“arg2”作为参数传递:Compile
demo.Main
fullRunTask(myHprofTask in Compile, Compile, "demo.Main", "arg1", "arg2")
对配置执行相同的Test
操作:
fullRunTask(myHprofTask in Test, Test, "demo.TestMain", "arg1", "arg2")
然后,您可以定义问题中的fork
和javaOptions
设置。
以下是使用快速配置样式 ( build.sbt
) 的完整示例:
{
lazy val myHprofTask = TaskKey[Unit]("my-hprof-task")
seq(
fullRunTask(myHprofTask in Compile, Compile, "demo.Main", "arg1"),
fullRunTask(myHprofTask in Test, Test, "demo.TestMain", "arg1"),
fork in myHprofTask := true,
javaOptions in myHprofTask += "-agentlib:hprof"
)
}