ビルド済みの jar を Gradle から Maven に公開することについて、Stackoverflow には既に質問があります。ただし、これは少し異なります。ビルド済みの Jar を Maven リポジトリに公開し、同時に pom.xml ファイルに含める依存関係を提供するにはどうすればよいですか?
このスクリプトの外部でビルド済みの jar があります。この jar を Maven リポジトリ (Nexus) に公開し、pom.xml で依存関係を指定する必要があります。アーティファクト クロージャーを使用して Maven リポジトリに公開されたビルド済みの jar を取得できましたが、依存関係クロージャーは無視されます。Java プラグインを追加すると、Maven プラグインは依存関係を持つ pom を作成しますが、ゼロバイトの jar ファイルをアップロードします。これは、Java プラグインが、このプロジェクトには存在しない src ディレクトリにソースをコンパイルしてパッケージ化することを想定しているためだと思います。
ビルド済みの Jar を Java プラグイン プロセスに「注入」して、jar を依存関係と共にアップロードできるようにする方法はありますか? それとも、明らかな何かが欠けていますか?
もちろん、ビルド済みの Jar のビルド プロセスでその依存関係を概説し、Maven にアップロードするのが最善ですが、残念ながらそれはサード パーティ製のソフトウェアであり、私たちには制御できません。
以下のスクリプトは、ゼロ KB の jar ファイルを公開します...
apply plugin: 'java'
apply plugin: 'maven'
jar = file(projectHome + '/build/lib').listFiles()[0]
configurations {
archives
runtime
}
dependencies {
runtime 'org.apache.tika:tika-app:1.3'
}
artifacts {
archives jar
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://build.com/nexus/content/repositories/releases/")
pom.version = tag
pom.artifactId = "artifact"
pom.groupId = "group"
}
}
}
どうもありがとう!ロブ