来自插件的Gradle任务中的未知命令行选项

时间:2019-09-04 13:15:02

标签: gradle build.gradle gradle-plugin

我在项目中(在build.gradle中定义了Gradle任务:

class TestTask : DefaultTask() {

  @set:Option(option = "param")
  @get:Input
  var param: String = ""

  @TaskAction
  fun task() {
    println("Hello, $param")
  }
}

tasks.register<TestTask>("test_task") {

}

当我执行./gradlew test_task --param=foo时,我会得到预期的输出:

Hello, foo

现在,我想将此项目做成一个要应用于另一个项目的插件,以便导出此任务。

我将以下内容添加到build.gradle

publishing {
  publications {
    create<MavenPublication>("maven") {
        groupId = "com.test.plugin"
        artifactId = "test_plugin"
        version = "1.0"

        from(components["java"])
    }
  }
}

在目标项目中,我使用以下内容:

buildscript {
    repositories {
        mavenLocal()
    }

    dependencies {
        "com.test.plugin:test_plugin:1.0"
    }
}

apply plugin: 'test_plugin'

现在,当我尝试执行./gradlew test_task --param=foo时,得到以下输出:

Unknown command line option param.

如何使命令行选项可用于插件中的任务?

0 个答案:

没有答案