mavenを使用すると、ossrhを介してアーティファクトを中央にプッシュできます。これには、コアjarの通常のmaven-deploy-pluginに加えて、GPG署名、ソース、およびjavadocsが必要です。
これらすべてをビルダーでアレンジするレシピはありますか?
mavenを使用すると、ossrhを介してアーティファクトを中央にプッシュできます。これには、コアjarの通常のmaven-deploy-pluginに加えて、GPG署名、ソース、およびjavadocsが必要です。
これらすべてをビルダーでアレンジするレシピはありますか?
アーティファクトがApacheのリリースポリシーに準拠し、Nexusに受け入れられるように、ApacheODEでこれを行います。OSSRHも同様に機能すると思います。
ODEで使用されるGPGタスクは、Builder How-toドキュメントに基づいていますが、機能するように少し拡張されています。ここで見つけることができます。gpg_sign_before_upload
アップロードする前にすべてのアーティファクトに署名するには、トップレベルプロジェクトにを追加するだけです(例については、ここを参照してください)。
私はちょうど行って、私のプロジェクトのいくつかにこれを実装しました。これが私がしなければならなかったことです。
Buildrには組み込みのgpgアドオンが含まれていますが、アーティファクトにpomがない場合はバグがあるようです。そのため、これを修正するためにパッチをドロップする必要がありました。次に、ここで利用できるビルドプロセスの一部としてpomを生成できるカスタムアドオンを作成しました。次に、ここに示すように、メインのビルドファイルにメタデータを追加するだけです。したがって、バグ修正パッチとカスタムアドオンを無視します。以下は、ビルドファイルに追加するために必要なコードを示しています
pom.add_apache2_license
pom.add_github_project('realityforge/gelf4j')
pom.add_developer('realityforge', 'Peter Donald', 'peter@realityforge.org', ['Developer'])
pom.optional_dependencies.concat [:getopt4j, :slf4j_api, :log4j, :logback_core, :logback_classic]
...
package(:jar)
package(:sources)
package(:javadoc)
次に、リリース場所の構成をビルドファイルに直接追加するか、次のようなコードを含むビルドファイルと同じディレクトリの_buildr.rbファイルに追加する傾向があります。
repositories.release_to[:url] = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
repositories.release_to[:username] = 'username'
repositories.release_to[:password] = 'password'
お役に立てば幸いです。