BukkitプラグインをIntelliJ IDEAでワイワイしてみようと思う。
一応理想はGithubでソースコードを管理してJenkinsでビルドできるようにしたい。

1.Gradleでプロジェクトを作成

f4141f8c9a4f58a15755da42e88da771
JDKは1.7に設定。プロジェクト名はおこのみで。

2.build.gradleを編集

repositoriesを編集

repositories {
    mavenCentral()
    maven {
        url "http://repo.bukkit.org/content/repositories/snapshots"
    }
}

dependenciesにbukkitを追加

dependencies {
    compile 'org.bukkit:bukkit:1.7.2-R0.3-SNAPSHOT'
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

とりあえずこれで開発できる形にはなった。

3.Githubと連携

上部のメニューバーにあるVCSから、Import Into Version Control>Share Project on Githubを選択。
選択するのはこんな感じ。
fb00bbdb5f73ed0325b31da9057323f9

リポジトリが作成されました。
1fdf9441655181dbd77707ea9b479e01

4.Jenkinsで自動ビルド

Jenkinsで新規ジョブを作成する。
予めGithub Plugin・Gradle Pluginのインストールが必要。
フリースタイルで作成。
080ecbc69088a5c4d6d4130b5e7db572

Github projectにGithubのリポジトリを入力。
例:https://github.com/orekyuu/BukkitPluginTutorial/

ソースコード管理をGitにし、Repository URLを入力。
例:https://github.com/orekyuu/BukkitPluginTutorial.git

ビルド・トリガのBuild when a change is pushed to GitHubにチェックを入れる。Githubのリポジトリにpushされるとビルドされるようになる。

ビルド手順を追加
Invoke Gradle scriptを選択。
Invoke Gradleを選択し、インストールしてあるGradleを選択。
Taskにはtestとjarを指定しておく。

ビルド後の処理を追加
成果物を保存する。jarタスクによって作られたjarを成果物として指定する。
jarはbuild/libs/の中に保存されるので、build/libs/*.jarを入れておく。

設定を保存し、ビルドをしてみる。
62fe080f9ad27786de3f300d7c818e90

5.Github側の設定

Githubでリポジトリを開き、Settings > Webhook & Services > Add service
Jenkins(Github plugin)を選択
http://JenkinsのURL/github-webhook/を入力して保存。
これでJenkinsに通知が行くようになる。

6.HelloWorldしてみる。

net.orekyuu.tutorialパッケージを作成し、中にTutorialPlugin.javaを作成する。

package net.orekyuu.tutorial;

import org.bukkit.plugin.java.JavaPlugin;

public class TutorialPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        getLogger().info("Hello World");
    }
}

resources内にplugin.ymlを作成

name: TutorialPlugin
main: net.orekyuu.tutorial.TutorialPlugin
version: 1.0

jarタスクを実行し、build/libs/にあるjarを実際のpluginsフォルダにコピーして動作を確認しよう。
HelloWorldが出力されているのを確認。
d539c981386c37b7c84f472c4d23a855
やった!これでプラグインが作れるぞ!
・・・・・・けどこれ面倒じゃない?

7.Gradleにタスクを追加する

pluginsフォルダにコピーする処理、Gradleさんに任せよう。
プロジェクトフォルダにTestServerフォルダを作成する。
TestServerフォルダにBukkitを起動するrun.batとBukkitのjarを入れておく。

build.gradleに以下を追加

task copyToServer(dependsOn: 'jar', type: Copy) {
    from 'build/libs/'
    into "TestServer/plugins/"
}

copyToServerタスクを実行することで、jarを作成してpluginsフォルダにコピーまですることができる。

8.IDEAからrun.batを起動する

IDEAからrun.batを起動するには、Batch Scripts Supportプラグインを入れるとできる。
実行はProjectからrun.batを右クリックしてRunをするだけだ。
次の起動からはショートカットやメニューバーからの起動が可能だ。
8772dcbe8f5cf8b41ce91e6d8ea2c74b

⑨.完成

c29e8811d6a6b5a1f7832068bce1653e
こんなかんじに動けば成功。やったぜ!
僕が今使っている環境はこんな感じ。
君だけの最強のBukkitプラグイン開発環境を作るのだ!