Gradle のカスタムプラグインを JAR ファイルで公開する方法

今回は 前回作成した 『プロパティファイルを native2ascii するカスタムプラグイン』 を JAR ファイルで公開する方法について

まずは、こんな感じでカスタムプラグイン用のプロジェクトを作成します。

Native2AsciiPlugin.groovy には 前回の Groovy ファイルをそのまま置きます。
あとは <プラグイン名> + .properties ファイル (今回の場合 native2ascii.properties) に

implementation-class=com.bluepapa32.gradle.plugins.Native2AsciiPlugin
のように実装クラス名を記述するだけです。
このプロパティを追加しておくと 各プロジェクトでは
apply plugin: "native2ascii"
みたいに プラグイン名を指定できるようになるので、とっても便利。

ちなみに Groovy で作成したカスタムプラグインをビルドするための build.gradle はこれだけ...
通常の Groovy プロジェクトとほぼ同じ。

group = 'com.bluepapa32.gradle.plugins'
version = '1.0-SNAPSHOT'

apply plugin: 'groovy'

dependencies {
  compile gradleApi()
  groovy localGroovy()
}


// ローカルリポジトリに公開
apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: <local_repository_url>)    // 公開先のURL
        }
    }
}

と言うことで...
早速 このカスタムプラグインを使ってみよう。

このカスタムプラグインを使う場合は 各プロジェクトの build.gradle に

buildscript {
    repositories { mavenRepo urls: <local_repository_url> }
    dependencies { classpath 'com.bluepapa32.gradle.plugins:native2ascii:1.0-SNAPSHOT' }
}

apply plugin: 'native2ascii'
を追加するだけ...
とっても簡単!!