如何将属性传递给gradle自定义任务?在蚂蚁它看起来像这样:
public class MyCustomTask extends Task {
private String name;
private String version;
@Override
public void execute() throws BuildException {
// do the job
}
public void setName(String name) {
this.name = name;
}
public void setVersion(String version) {
this.version = version;
}
}
Run Code Online (Sandbox Code Playgroud)
如何在gradle中完成?
class MyCustomTask extends DefaultTask {
private String name
private String version
@TaskAction
def build() {
// do the job
}
}
Run Code Online (Sandbox Code Playgroud)
属性名称和版本是必需的,用户需要将它们传递给任务.
pep*_*uch 12
我找到了解决方案:
class MyCustomTask extends DefaultTask {
@Input
String name
@Input
String version
@TaskAction
def build() {
// do the job
println name
println version
}
}
Run Code Online (Sandbox Code Playgroud)
使用示例:
task exampleTask(type: MyCustomTask) {
name = "MyName"
version = "1.0"
}
Run Code Online (Sandbox Code Playgroud)
您可以使用-P选项来传递命令行参数。
例如:
public class MyCustomTask extends DefaultTask {
String name;
String version;
@TaskAction
public void execute() throws BuildException {
// do the job
}
}
Run Code Online (Sandbox Code Playgroud)
Gradle 任务
task exampleTask(type: MyCustomTask) {
name = project.property("name")
version = project.property("version")
}
Run Code Online (Sandbox Code Playgroud)
摇篮命令
gradle -Pname="My name" -Pversion="1.2.3"
Run Code Online (Sandbox Code Playgroud)
检查https://docs.gradle.org/current/userguide/gradle_command_line.html以了解 Gradle 的所有命令行选项。
| 归档时间: |
|
| 查看次数: |
10168 次 |
| 最近记录: |