2011-08-05 16 views
3

forkしたJVMでhprofを実行するための "実行"タスクと "テスト:実行"タスクを定義する方法を教えてください。 build.sbtsbtからhprofで実行するタスクを定義する方法0.10

fork in run := true 

javaOptions in run += "-agentlib:hprof" 

この設定は、両方の実行タスクはのhprofで動作します。

デフォルトの「実行」および「テスト:実行」タスクを維持し、sbtプロンプトから使用するためにhprofタスクを定義したいとします。

//define myHprofTask, alias default run task 

fork in myHprofTask := true 

javaOptions in myHprofTask += "-agentlib:hprof" 

どうすればこのようなタスクを定義できますか?

答えて

2

https://github.com/harrah/xsbt/wiki/Common-TasksAdditional run tasksセクションに基づいています。

  1. 新しいタスクキーを定義します。

    lazy val myHprofTask = TaskKey[Unit]("my-hprof-task") 
    
  2. は "ARG1" と「ARG2を渡し、demo.Mainを実行Compileクラスパスを使用してCompile設定(myHprofTask in Compile部分)での新しい実行タスクを追加します。 「引数として:

    fullRunTask(myHprofTask in Compile, Compile, "demo.Main", "arg1", "arg2") 
    
  3. Test Cのために同じことを行いますonfiguration:

    fullRunTask(myHprofTask in Test, Test, "demo.TestMain", "arg1", "arg2") 
    
  4. その後、あなたは、問題のようforkjavaOptions設定を定義することができます。ここで

クイックコンフィギュレーション・スタイル(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" 
) 
} 
+0

私の質問に答えていただきありがとうございます。 – pokutuna

+0

私はデフォルトの実行とテストのためにプロンプ​​トを使用したい: [1] demo.Main1 [2] demo.Main2 番号を入力してください: – pokutuna

関連する問題