これがGradle 1.0m7のバグか、これを間違っているかどうかはわかりません。Gradleを使用してコンパイルされたクラスから追加のjar成果物を作成するにはどうすればよいですか?
私たちは、プロジェクトの一部としてコンパイルされたクラスをいくつか持っています。個々のクラスには、個別にアーティファクトを入れたいものがあります。これらは、たとえばスタンドアロンのドメインモデルオブジェクトで、別のプロジェクトと共有したいものです。
私はマルチプロジェクトのビルドルートに行きたくないので、Gradleにこれらのための別のjarを作成するように指示するにはどうすればよいですか?
は現在、我々はこれをやっている:
task modelJar(type: Jar) {
classifier = 'model'
from fileTree(dir: sourceSets.main.classesDir).matching { include 'com/foo/bar/model/**' }
}
artifacts {
archives modeljar
}
問題をここでは、modeljarタスクは前のクラスがコンパイルされて実行されています。最初は私たちはこれを認識せず、これが機能していると思った。現実のものではなく、以前のランからクラスを拾っていたことが分かります。ビルドの前にきれいにすると、クラスがないjarが生成され、問題が明らかになります。
私はカスタム設定を見ていましたが、かなり複雑に思えましたが、ビルドファイルがあまり複雑にならないようにしました。
アドバイスをお待ちしています。
ありがとうございました。
Briliant!それはそれをした! Gradleは素晴らしかったですが、私はそれが起こっている魔法を理解することはそれほど難しくありませんでした。私はこのクラスのタスクが何をしているのか分からず、アーティファクトクロージャに追加されたタスクに依存関係を追加することもできませんでした。ありがとう! – codemaven
うれしいことです。ウェブサイトでGradleのマニュアルをチェックしてください。それはかなり素晴らしいです! – rodion