このエントリーをはてなブックマークに追加

Gradle plugin を公開してみよう

Gradle plugin portal

http://plugins.gradle.org/

ついに、待望のGradleのPluginを管理するシステムが動き出し始めました。

これで、GradleのPluginを探しまわらなくても、公開しても自分しか使ってない寂しい思いをしなくても良くなります。

GradleのPluginの作り方は、 Chapter 58. Writing Custom Plugins第58章 カスタムプラグインの作成 を参考にしてください。

公開するための手順

注意: 2014-07-22現在の手順なので、変更されている場合があります。

http://plugins.gradle.org/submit

1. Gradle Plugin ID

以前から自分が使うために作っていたGradle Pluginを公開してみようと思いましたので、それをリリースしてみます。

対象は、 gradle obake plugin です。

If you have an existing plugin with ID foo and are GitHub user “bar”, a suitable new plugin ID would be com.github.bar.foo.

私の場合、bitbucketを公開repositoryとして使っていたので、org.bitbucket.grimrose.obake としました。

自分のドメインを持っている方であれば、org.example.plugin_id みたいになると思います。

gradle をIDに含めなる必要はないので、注意してください。

既に、Gradle Pluginを作っている場合は、既存のpropertiesを META-INF/gradle-plugins/${Gradle_plugin_ID}.properties へ変更してください。

新たに追加しても大丈夫みたいです。

2. Bintray へアップロード

bintray/gradle-bintray-plugin を使うことで、 簡単にアップロード出来るようになります。

bintray pluginについてはサンプルがあるので、bintray/bintray-examples を参考にしてください。

Bintrayのアカウントがない場合、GradleでBintrayにアップロードする手順 を参考にしてください。

3. JCenterへ登録

mavenのrepositoryへリリースしたjarは、JCenterで公開出来るようになります。

詳細は、Including Your Packages in JCenter を参考にしてください。

完了すると、以下の様なMessageが返ってくるので、それまで待ちましょう。

Your request to include your cool package /grimrose/maven/gradle-obake-plugin in Bintray’s JCenter has been approved.

4. Gradle Plugins repositoryへ登録

Gradle Plugins Bintray repo へ移動します。

Include My Package ボタンを押すと、未登録のパッケージが表示されるようになります。

そのまま申請すれば、完了です。

完了すると、以下の様なMessageが返ってくるので、それまで待ちましょう。

Your request to include the package /grimrose/maven/gradle-obake-plugin in the repo /gradle/gradle-plugins has been approved.

5. リリースするversionに’gradle-plugin’の属性を付与

もし、アップロードしたversionに gradle-plugin の属性がついてないと、Gradle Plugins repositoryへ登録されません。

手動で付ける場合は、公開するversionを選んで、中央あたりにある Edit を押します。

次に、Attributes List を選択し、Add New Attribute を押します。

表示された Name には、gradle-plugin を、Value には以下のような値を入力します。

«id»:«group»:«name»

今回の場合、org.bitbucket.grimrose.obake:org.bitbucket.grimrose:gradle-obake-plugin となります。

右の + ボタンを押すと入力した属性が追加されます。

最後に、Update ボタンを押すと完了です。

About This Version の項目に gradle-plugin の項目が追加されていれば、成功です。

bintray pluginであれば、bintray.pkg.version.attributes ブロックに定義しておくことで、アップロードの際に自動的に属性をつけてくれます。

6. リリース完了

全て成功したら、早速 Gradle plugin portal で検索してみましょう。

リリース直後であれば、一番上に自分のpluginが表示されていると思います。

おめでとうございます、これで完了です。

公開したGradle pluginの使い方

公開したGradle Pluginを利用する場合、build.gradle に以下のコードを追加します。

buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath "org.bitbucket.grimrose:gradle-obake-plugin:0.6"
  }
}

apply plugin: "org.bitbucket.grimrose.obake"

2.1以降は、以下の様な書き方が出来る模様です。

plugins {
  id "org.bitbucket.grimrose.obake" version "0.6"
}

最後に

一度、承認されれば、以降リリースの度に自動的に反映されます。

元々Bintrayで成果物を管理していたお陰で、早く適用することが出来ました。

他の言語のビルドツールのようなPluginがどんどん増えると思うので、とても楽しみです。

Gradleも2.1で期待してる機能が追加されるみたいなので、期待して待ってます。

このエントリーをはてなブックマークに追加