[英]Pass properties to custom gradle task
如何將屬性傳遞給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;
}
}
如何在gradle中完成?
class MyCustomTask extends DefaultTask {
private String name
private String version
@TaskAction
def build() {
// do the job
}
}
屬性名稱和版本是必需的,用戶需要將它們傳遞給任務。
我找到了解決方案:
class MyCustomTask extends DefaultTask {
@Input
String name
@Input
String version
@TaskAction
def build() {
// do the job
println name
println version
}
}
使用示例:
task exampleTask(type: MyCustomTask) {
name = "MyName"
version = "1.0"
}
您可以使用-P
選項傳遞命令行參數。
例如:
public class MyCustomTask extends DefaultTask {
String name;
String version;
@TaskAction
public void execute() throws BuildException {
// do the job
}
}
Gradle任務
task exampleTask(type: MyCustomTask) {
name = project.property("name")
version = project.property("version")
}
Gradle命令
gradle -Pname="My name" -Pversion="1.2.3"
有關Gradle的所有命令行選項,請訪問https://docs.gradle.org/current/userguide/gradle_command_line.html 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.