1

Play 2.2 アプリケーション用の Debian パッケージをビルドするために、ネイティブ パッケージャー プラグインで sbt を使用します。debian:publishパッケージを Artifactory サーバーにアップロードするためにを使用publishし、通常の Java jar を公開するコマンドを使用します。

publish通常のコマンドを使用して、jar ファイルと Debian パッケージの両方を公開できるようにしたいと考えています。Debianスコープ内の公開タスクとスコープ内の通常のタスクを何らかの方法で組み合わせる必要があると思いますが、Compileその方法に関するドキュメントは実際には見つかりません。

次のコードを思いつきましたが、これは機能しますが、それを行うには「間違った」方法のようです。

publish := { // Also publish deb files
  val value = publish.value
  (publish in Debian).value
}

特に 2 行目は値を無視しているため、間違っているようです。はval、別の匂いである警告を静めるためにあります。

これを行うより良い方法はありますか?

4

2 に答える 2

2

ここで、dependsOn戻り値を気にしない場合、タスクは適切です。

publish := publish.dependsOn(publish in Debian).value
于 2014-07-09T13:39:42.380 に答える
2

使用できますtriggeredBybuild.sbt次の行を追加します。

publish in Debian <<= (publish in Debian).triggeredBy(publish in Compile)

PS。やり方もいいと思います。警告が心配な場合は、結果を some に割り当てることができますval

于 2014-07-08T08:18:23.167 に答える