ソース と Javadoc を Maven リポジトリに公開する方法
Gradle も 標準では ソース と Javadoc をアーカイブして Maven リポジトリに公開してくれないようなので、その方法をメモ。本当はプラグインがあると良いんだけど...
apply plugin: 'maven' // xxx-javadoc.jar 生成 task packageJavadoc(type: Jar, dependsOn: 'javadoc') { from javadoc.destinationDir classifier = 'javadoc' } // xxx-sources.jar 生成 task packageSources(type: Jar) { from sourceSets.main.allSource classifier = 'sources' } artifacts { archives packageJavadoc archives packageSources } uploadArchives { repositories.mavenDeployer { repository(url: uri('repos')) // リポジトリのURL } }
注意点はひとつだけ...
task 定義の後に artifacts を設定すること。
あとは
gradle uploadArchivesと実行するだけで ソースをビルドした後に全ての成果物 (Jar ファイル、ソースファイル、Javadoc) を Maven リポジトリにアップロードしてくれます。
と言っても、上記のコードでは ローカルPC の repos ディレクトリに 保存するだけですが...
ちなみにに 上記のコードは configuration と artifact の関係を理解するためのサンプルとしても とっても役に立ちます。
それについては、また 時間がある時にでもまとめことにしよう。