AwAlog

めもちょー

GradleIDEでForgeを更新する方法

| Comments

Eclipse上からForgeを更新する方法

GradleIDEって?

EclipseプラグインのGradle Integration for Eclipse(GitHub)です。

先日のポスト、ちゃちゃっとマイクラMOD開発環境をつくる(1)ちゃちゃっとマイクラMOD開発環境をつくる(2)にも少しだけ書いた気がしますが、Eclipse上からAntを実行するような感じで、Gradleのタスクを実行したりできるようになるプラグインで、ForgeGradleを使う上でも結構便利です。

日本語、画像つきで簡単に解説してあるサイトもあるので、知らない人はそちらもどうぞ。

英語ですが、GradleIDEのwikiにも解説があります。

(まだほとんど読んでません)

Forgeの更新のしかた

前提条件

  • Eclipse
    • GradleIDEプラグインを導入済み

事前準備

プロジェクトをGradleプロジェクトとして構成しておきます。

以下2ケースを紹介します。

  • 既にプロジェクトを作成している場合
  • 新規にForge開発環境を作成する場合

既にプロジェクトを作成している場合

Eclipseのエクスプローラーより、プロジェクトを右クリックし、構成からGradleプロジェクトに変換してください。

コンテキストメニューからGradleプロジェクトに変換を選んでいる画像

新規にForge開発環境を作成する場合

Forgeを落としてきただけで、プロジェクトをインポートしていない場合は、インポート時にGradleプロジェクトとしてインポートする方法が使えます。

こちらの手順のほうが、細かい設定を最初に指定することができます。

  1. Forgeのsrcを展開する。
  2. コンテキストメニューからインポートを選ぶ。
  3. 開いたインポートウィンドウからGradleProjectを選択。
  4. 1のフォルダーへのパスを入力し、「BuildModel」ボタンを押下。

Forgeのsrcを展開する

Forgeのsrcを展開したフォルダーの画像

コンテキストメニューからインポートを選ぶ

コンテキストメニューからインポートを選んでいる画像

開いたインポートウィンドウからGradleProjectを選択

インポートウィンドウの画像

フォルダーへのパスを入力し、「BuildModel」ボタンを押下

GradleProjectのインポートウィンドウの上部

  • GradleProjectインポートウィンドウの下部はこんな感じ。

GradleProjectのインポートウィンドウの下部

  • Run Beforeが全てリフレッシュ時に実行されるタスク。開始タスクで、afterと対になっている。スペースで複数指定可能。例えば、setupDecompWorkspaceタスクも実行したい場合は、ここに足そう。
  • Run Beforeが全てリフレッシュ時に実行されるタスク。スペースで区切って複数タスクを指定可能。gradlewコマンド同様にタスク名は順不同。Forgeの更新を行う場合、setupタスクの再実行が必要なので、setupDecompWorkspaceタスクを足しておくといい。なお余談だが、過去のForgeGradleで、IDE系のタスクとsetup系のタスクの同時実行ができなくなっていた時期があり、ここにsetup系タスクを足すと正常に動かないことがあった(たしかFG1.1のころで一時期だけ)。おそらくFG1.2では大丈夫そう。
  • Run Afterが上記の後に実行されるタスク。終了タスク。例えば、.classpathファイルのカスタマイズをするために使ったりするみたい。標準で定義されているタスクではないけど、初期値のタスクのまま有効にしておいたほうがいい、っぽい。
  • 依存関係管理はそのまんまの意味、だと思うので有効にしておいたほうが良さそう。
  • ForgeGradleがローカルでソースなどを生成するためか、GradleIDEでの依存関係管理を有効にするとForgeのソースなどが設定されなくなる。無効にしたほうがよさげ。
  • Create resource filtersはよくわからないのでデフォルトのままにしました。
  • Create workingset ‘’ はそのまんま。不要なのでチェック外しました。
  • Enable DSL Suportはきちんと理解していないですが、有効だと、build.gradleのエディターで、一部のタイプのマークアップや参照検索が有効になったので、チェックを入れておいたほうが良さそうな感じです。
  • ライブラリが増えてうざったいかもしれない。この設定の意味がわかっていないなら、OFFのままでよさげ。
  • Use hierarchical project names はよくわからないのでチェックしませんでした。階層的なプロジェクト名…?

上記の設定をおこない、完了を押すと、GradleProjectの構成になった状態でインポートされます。

依存関係管理、DSLサポートなんかは後からも変更できるみたいですが、他の設定は、後からGUI上で変更する方法が見当たらなかったため、rubBeforeなどを変更しておきた場合は、こちらの方法でプロジェクトを構成しておいたほうがよさそうかも。

設定値の意味は、時間がないので調べきれていません。また後日、気が向いたらGradleIDEのWiki読みなおしてみます。

もう眠い( っ’ω’c)

更新手順

  1. Forgeのバージョンを調べbuild.gradleに反映する。
  2. コンテキストメニューのGradleからすべてリフレッシュを選択する。

(Jun 19, 2014 修正)

  1. Forgeのバージョンを調べbuild.gradleに反映する。
  2. 必要であれば、build.gradleファイルの、buildscriptで指定しているForgeGradleのバージョンを更新する。
  3. 必要であれば、gradle/wrapper/gradle-wrapper.propertiesの、使用するgradleのバージョンも更新する。
  4. コンテキストメニューのGradleからすべてリフレッシュを選択する。

Forgeのバージョンを調べbuild.gradleに反映する

ダウンロードのページから、更新したいForgeのバージョンを調べ、build.gradleファイルを更新します。

img3-1

ForgeGradleのバージョンを更新

Forgeをダウンロードして確認するか、最新ForgeであればFMLのGitHubを見ればわかるかと思います。(未リリースの場合もあるのでForgeをダウンロードして確認するのが確実) img3-2

gradle-wrapper.propertiesの更新

ForgeGradleのバージョンチェックと同じように、ダウンロードするか、FMLのリポジトリを確認すればわかる。指定バージョンのForgeGradleが対応していれば、違っても動きはする。 img3-3

コンテキストメニューのGradleからすべてリフレッシュを選択

img3-4

これで、Forgeの最新版がダウンロードされ、開発環境が更新されます。

Comments