回答編集履歴
1
afterEvaluate問題解決の追加
answer
CHANGED
@@ -25,4 +25,37 @@
|
|
25
25
|
└ build.gradle // ← evaluationDependsOnを適用
|
26
26
|
```
|
27
27
|
|
28
|
-
しかし、
|
28
|
+
しかし、evaluateのあとにapplyしているため、プラグインのafterEvaluateが呼ばれないためエラーを起こしてしまうのが今後の課題です。
|
29
|
+
|
30
|
+
追記
|
31
|
+
---
|
32
|
+
イベントを再発火させることで解決しました。
|
33
|
+
```gradle
|
34
|
+
//rootproject/build.gradle
|
35
|
+
subprojects {
|
36
|
+
buildscript {
|
37
|
+
repositories {
|
38
|
+
jcenter()
|
39
|
+
maven { url = "http://files.minecraftforge.net/maven" }
|
40
|
+
}
|
41
|
+
dependencies {
|
42
|
+
classpath project.forgegradle // gradle.propertiesにて外部化
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
// パラメータを確保
|
47
|
+
def subproj, substate
|
48
|
+
afterEvaluate { p, s ->
|
49
|
+
subproj = p
|
50
|
+
substate = s
|
51
|
+
}
|
52
|
+
|
53
|
+
// evaluationDependsOnを使うことにより依存関係が読み込まれる
|
54
|
+
rootProject.evaluationDependsOn(project.name) // または project.evaluate() でも可
|
55
|
+
|
56
|
+
apply plugin: project.forgegradle_plugin // gradle.propertiesにて外部化
|
57
|
+
|
58
|
+
// イベントを再発火
|
59
|
+
project.projectEvaluationBroadcaster.afterEvaluate(subproj, substate);
|
60
|
+
}
|
61
|
+
```
|