ビルドを簡素化するために、「build.gradle」からカスタム プラグインを抽出し、それらを個別の gradle ファイルに入れたいと考えています。
これが私が思いつく最も簡単な例です。
1. build.gradle 内でプラグインを定義する (WORKS)
次の「build.gradle」:
apply plugin: GreetingPlugin
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') << {
println "Hello, World"
}
}
}
実行すると:
gradle hello
プロデュース:
:hello
Hello, World
BUILD SUCCESSFUL
2. build.gradle からプラグインを抽出する (機能しない)
プラグイン定義を別のファイル「hello.gradle」に移動したい:
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') << {
println "Hello, World"
}
}
}
「build.gradle」を次のように変更します。
apply from: 'hello.gradle'
apply plugin: GreetingPlugin
今私が実行すると:
gradle hello
以下を生成します。
FAILURE: Build failed with an exception.
* Where:
Build file 'build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'gradle-problem'.
> Could not find property 'GreetingPlugin' on root project 'gradle-problem'.
BUILD FAILED
Total time: 1.723 secs
私はこれが可能でなければならないと確信しています。