exampleで試してみましたが、それを単に "メッセージ"に単純化しました。私は./gradlew -q hello
を実行すると、私は挨拶から私の文字列を渡すに失敗したのはなぜそれがGradle:プラグインでクラスに引数を渡すことができません
Message is
value: Hi from Gradle
ことを期待し
Message is
value: null
を
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
def extension = project.extensions.create('greeting', GreetingPluginExtension, project)
project.tasks.create('hello', Greeting) {
message = extension.message
}
}
}
class GreetingPluginExtension {
def String message = "aa"
GreetingPluginExtension(Project project) {
message = project.property(String)
}
}
class Greeting extends DefaultTask {
@Input
def String message = project.property(String)
@TaskAction
def testCoverageVerification() {
logger.quiet("Message is")
logger.quiet(message)
}
}
apply plugin: GreetingPlugin
greeting {
message = 'Hi from Gradle'
}
得ましたか。