4

プロジェクト ソースを消費する (クラスを使用する、メソッドを実行するなど) sbt ビルド定義にカスタム タスクを追加するにはどうすればよいですか? コンパイルする前にそれらを見つけようとしているようです。

4

1 に答える 1

5

これにより答えが変わるため、メソッドを呼び出す理由を知る必要があります。何かをしたい場合...

ビルド関連

ビルド関連の何かを行うクラス/メソッドを使用したい (minfiy のもの、サーバーへの jar/war のアップロードなど..)

  • これをプラグインに入れるか、ソースをプロジェクト フォルダーに入れる必要があります。
  • プロジェクトからコードを呼び出すことはできません

ビルドに関連している場合、誰かがおそらく同様の問題に対処しており、おそらく sbt プラグインが既に存在する可能性がありますが、そうでない場合はお知らせください。sbt プラグインの作成について説明できます。

ビルド関連以外

ビルド サイクルとは関係のないメソッドを呼び出したりテストしたりしたい。

  • これを Script という名前のプロジェクト内のオブジェクトに配置し (名前は何でも構いません)、コンソールを起動してから、スクリプト オブジェクトをインポートして実行します。
  • これをさらに簡単にするために、すべてのスクリプトを自動的にインポートするコンソール用のカスタム インポート スクリプトを作成して、実行することができます。

たとえば、パッケージスクリプト

object Script {
    def foo = println("I am doing things non-build related")
}

sbt で今すぐ実行

console
>> import script._
>> foo    // prints out  "I am doing things non-build related"
于 2012-09-24T13:47:26.350 に答える