###前提・実現したいこと
Gradleのマルチプロジェクトを作っています。
以下の3つのプロジェクトのbuild.gradle
を共通化しようとしました。
/ rootproject ├ project1 │ └ build.gradle ├ project2 │ └ build.gradle ├ project3 │ └ build.gradle └ build.gradle
###発生している問題・エラーメッセージ
/rootproject/build.gradle
にsubprojects
ブロックを使い処理を共通化しようと試みました。
apply plugin:
の部分はサブプロジェクトごとに切り替えられそうですが、buildscript
>dependencies
>classpath
の部分はうまく切り替えられません。
サブプロジェクトごとにプラグインの依存関係を切り替える良い方法はないでしょうか?
###該当のソースコード
gradle
1//rootproject/build.gradle
gradle
1//rootproject/project1/build.gradle 2buildscript { 3 repositories { 4 jcenter() 5 maven { url = "http://files.minecraftforge.net/maven" } 6 } 7 dependencies { 8 classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' 9 } 10} 11apply plugin: 'forge'
gradle
1//rootproject/project2/build.gradle 2buildscript { 3 repositories { 4 jcenter() 5 maven { url = "http://files.minecraftforge.net/maven" } 6 } 7 dependencies { 8 classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' 9 } 10} 11apply plugin: 'net.minecraftforge.gradle.forge'
gradle
1//rootproject/project3/build.gradle 2buildscript { 3 repositories { 4 jcenter() 5 maven { url = "http://files.minecraftforge.net/maven" } 6 } 7 dependencies { 8 classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' 9 } 10} 11apply plugin: 'net.minecraftforge.gradle.forge'
###試したこと
gradle
1//rootproject/build.gradle 2subprojects { 3 buildscript { 4 repositories { 5 jcenter() 6 maven { url = "http://files.minecraftforge.net/maven" } 7 } 8 dependencies { 9 classpath project.forgegradle // gradle.propertiesにて外部化 10 } 11 } 12 apply plugin: project.forgegradle_plugin // gradle.propertiesにて外部化 13}
###補足情報(言語/FW/ツール等のバージョンなど)
gradle-2.12 (バージョンは変更しても良い)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。