マルチプロジェクトの設定
画像のような階層構造であることを前提とする.
settings.gradleについて
settings.gradleにマルチプロジェクトとして扱うフォルダを書く. 今回はTutorial-Baseフォルダ以下を別プロジェクトとして扱うので, settings.gradleに以下のような記述を追加する.
include 'Tutorial-Base'
複数の場合は以下のようにする.
include 'Tutorial-Base', 'Other-Project'
このincludeはIDEAのproject rootの子フォルダを指定する. もしproject rootと同階層にある場合はincludeFlatにする.
IDEAのプロジェクトのbuild.gradleについて
build.gradleの中ほどにある以下の記述をコメントアウトして,
minecraft {
version = "1.7.2-10.12.0.1024"
assetDir = "eclipse/assets"
}
次のように書き替える.
allprojects {
apply plugin: 'forge'
minecraft {
version = "1.7.2-10.12.0.1024"
}
version = "1.0"
archivesBaseName = project.projectDir.name
assetDir = "eclipse/assets"
}
Modごとの個別のbuild.gradle
どのModでも基本的に記述は同じ.
tasks.withType(Compile) {
options.encoding = 'UTF-8'
}
sourceSets.main {
java.srcDirs project.projectDir.name
resources.srcDirs project.projectDir.name
}
version = "0.0.0"
tasks.withType~をしないとコンパイル時にUTF-8にならないのでビルドエラーが出る.
sourceSets.main~はgradleのデフォルトの参照先root/src/main/java, root/src/main/resourcesのこと.
このスクリプトから生成されるjarファイルの名前はprojectDir-name-version.jar, この場合はTutorial-Base-0.0.0.jarになる.
ビルド
コマンドプロンプトからIDEAのプロジェクトのルートフォルダで以下のコマンドを実行する.
gradlew build
ビルドに成功したらTutorial-Base/build/libsにjarファイルが生成される.