LoginSignup
5
7

More than 5 years have passed since last update.

ForgeGradle+IDEAでマルチプロジェクト

Posted at

マルチプロジェクトの設定

multi.png

画像のような階層構造であることを前提とする.

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の中ほどにある以下の記述をコメントアウトして,

build.gradle
minecraft {
    version = "1.7.2-10.12.0.1024"
    assetDir = "eclipse/assets"
}

次のように書き替える.

build.gradle
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でも基本的に記述は同じ.

build.gradle
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ファイルが生成される.

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7