モジュラー ライブラリの開発に Gradle を使用しているとします。私のルート プロジェクトにはサブプロジェクトgeometry
、algorithms
、visualizer
があり、それぞれの jar アーティファクトを公開したいと考えています。
今のところ、ルートbuild.gradle
には次の部分があります。
apply plugin: 'maven-publish'
publishing {
publications {
publishDemos(MavenPublication) {
groupId 'ru.ifmo.ctddev.igushkin.cg'
artifactId 'geometry'
version globalVersion
artifact project(':geometry').tasks.getByName('jar')
}
publishAlgorithms(MavenPublication) {
groupId 'ru.ifmo.ctddev.igushkin.cg'
artifactId 'algorithms'
version globalVersion
artifact project(':algorithms').tasks.getByName('jar')
}
publishVisualizer(MavenPublication) {
groupId 'ru.ifmo.ctddev.igushkin.cg'
artifactId 'visualizer'
version globalVersion
artifact project(':visualizer').tasks.getByName('jar')
}
}
}
私の最初の質問: 出版物を説明する短い方法はありますか? artifactId
たとえば、サブプロジェクトごとに、その名前のセットを含む出版物が必要であると述べたいと思います。
次に、私のサブプロジェクトは、 と の両方のクラスに依存してalgorithms
いますが、この時点では、jar ファイルには依存関係が含まれていません。visualizer
geometry
geometry
algorithms
algorithms
それで、ある種の自動依存性を提供する方法はありますalgorithms
かgeometry
? はいの場合、どうすればよいですか?いいえの場合、モジュラー ライブラリを提供する慣用的な方法は何ですか? 代わりに、依存関係を持つ jar をアセンブルする必要がありますか?
UPD:アーティファクトと依存関係の両方を取得するため、artifact ...
単に使用する代わりに を使用する必要があるのは正しいですか? from project(':...').components.java
を使用する場合、依存関係を個別に選択するにはどうすればよいartifact ...
ですか?