昨年末頃に発売された『Gradle徹底入門』にはgradleプラグインポータルに登録する方法が付録として掲載されていますが、Gradleの開発速度が非常に速いため、最新の方法と異なっている部分があるので、最新の方法を紹介します。(以前の方法でもできるかもしれないと思うけど…)
なお、本記事では、以前にbintrayやjcenterに登録した方のための移植方法については解説していません。これは次回以降の記事に掲載する予定です。
手順
- Gradle pluginポータルのアカウントを作成する
- API keyを取得する
- 取得したAPI keyを設定ファイルに記述する
plugin-publish
プラグインを適用する- プラグインをアップロードする
1. Gradle plugin ポータルのアカウントを作成する
GitHubアカウントがある人は、GitHubアカウントでログインすることができます。
GitHubアカウントのない人は、サインアップからユーザー登録を行います。
GitHubアカウントで登録
GitHubのOAuth認可ページに飛ぶと思うので、認可します。
サインアップページで登録
下記の情報を入力して、登録(register)ボタンを押下すると、多分メールが届くので、そのメールに記載されたアドレスにアクセスすれば多分アカウント登録完了です。
- ユーザー名
- 氏名
- メールアドレス
- パスワード
なんで、「多分」と書いたかというと、僕はGitHub経由でアカウントを作ったから、こっちの方法がわからないためです。
2. API keyを取得する
ログインが完了すると、ユーザープロフィールのページが表示されます。
ここに「API key」というタブが表示されているので、これを押下します。
そうすると次のようなメッセージとともにAPI keyが表示されます。
Copy the following to your HOME_DIR/.gradle/gradle.properties
(~/.gradle/gradle.properties
) file:
gradle.publish.key=hogehogehogehogehogehoge gradle.publish.secret=foobarbazfoobarbazfoobarbaz
このgradle.publish.key
とgradle.publish.secret
をそれぞれコピーしておきます。
3. 取得したAPI keyを設定ファイルに保存する
上記のメッセージにあるように~/.gradle/gradle.properties
ファイルに追記します。
(Windowsの場合はC:¥Users¥your-name¥.gradle¥gradle.properties
)
4. plugin-publish
プラグインをプロジェクトに適用する
プラグインパブリッシュプラグイン(何を言っているんだかわからないと思うが、そういうプラグインである)をbuild.gradle
に適用します。
plugins { id 'com.gradle.plugin-publish' version '0.9.1' }
plugin-publish
に必要な情報をpluginBundle{}
ブロックに追記します。
pluginBundle { website = 'https://github.com/your-name/your-repository-name' // プラグインについての情報が掲載されているwebサイト vcsUrl = 'https://github.com/your-name/your-repository-name' // vcsのURL(githubとかbitbucketのURL) description = 'This is description for your plugin' // プラグインに対する説明 plugins { yourPlugin { id = 'com.your.name.your-plugin-id' // src/main/resources/META-INF/gradle-pluginsにあるpropertiesファイルの名前 displayName = 'Your plugin name' // なんかあまり使われてないけど、プラグインの名前を書いておく tags = ['test', 'your-category', 'aws'] // 検索するときのキーワードになるので、どのようなプラグインであるかのタグを設定する } } }
この他、 pluginBundle{}
ブロックにはmavenCordinates{}
というブロックがあって、bintrayにアップロードしている場合などの関連付けなども行えます。設定できるのは以下の項目
groupId
- bintrayでのgroupId
artifactId
- bintrayでのartifactId
version
- bintrayでのversion
なお、mavenCordinates{}
ブロックでgroupId
を書き換えた場合、Gradlewareチームによるマニュアルの承認が必要になり、すぐには利用できません。どれくらいの時間がかかるかもわかりません。
5. プラグインをアップロードする
plugin-publish
プラグインを適用すると、次のタスクが追加されます。
Plugin portal tasks tasks ------------------------- login - Update the gradle.properties files so this machine can publish to the Gradle Plugin portal. publishPlugins - Publishes this plugin to the Gradle Plugin portal.
まず、login
タスクを実行します。
すると、プラグインポータルの認証用のURLが表示されてタスクが止まるので、そのURLにブラウザー、あるいはcurl、wgetなどでアクセスします。
すると認証が完了してタスクが終了します。
その後にpublishPlugins
タスクを実行します。
これで、プラグインの登録が完了します。
Gradle芸人からは以上です。