如何使用sbt 0.10中的hprof定义要运行的任务

时间:2011-08-05 04:01:05

标签: scala settings sbt hprof

如何定义“run”和“test:run”任务以在分叉JVM上使用hprof运行。

在build.sbt

fork in run := true

javaOptions in run += "-agentlib:hprof"

此设置使两个运行任务都可以使用hprof。

我想定义我的hprof任务,以保持默认的“run”和“test:run”任务,并使用sbt提示符。

//define myHprofTask, alias default run task

fork in myHprofTask := true

javaOptions in myHprofTask += "-agentlib:hprof"

如何定义这样的任务?

1 个答案:

答案 0 :(得分:2)

这基于https://github.com/harrah/xsbt/wiki/Common-TasksAdditional run tasks部分。

  1. 定义新任务键:

    lazy val myHprofTask = TaskKey[Unit]("my-hprof-task")
    
  2. 使用执行Compile的{​​{1}}类路径在myHprofTask in Compile配置(Compile部分)中添加新的运行任务,并传递“arg1”和“ arg2“作为参数:

    demo.Main
  3. fullRunTask(myHprofTask in Compile, Compile, "demo.Main", "arg1", "arg2") 配置执行相同的操作:

    Test
  4. 然后,您可以在问题中定义fullRunTask(myHprofTask in Test, Test, "demo.TestMain", "arg1", "arg2") fork设置。

  5. 以下是使用快速配置样式(javaOptions)的完整示例:

    build.sbt