假设我想在特定案例的arg列表的开头添加特定的args,并且在这两种情况下仍然包含args的公共列表,如下所示:
if (conditional) {
executable foo
}
else {
executable bar
args ['arg1', 'arg2']
}
args = ['other', 'common', 'args']
这抱怨> Cannot cast object 'arg1' with class 'java.lang.String' to class 'int'
我试图为exec任务运行一个公共apis:
public DefaultExecHandleBuilder args(Object... args) {
if (args == null) {
throw new IllegalArgumentException("args == null!");
}
this.arguments.addAll(Arrays.asList(args));
return this;
}
public DefaultExecHandleBuilder args(Iterable<?> args) {
GUtil.addToCollection(arguments, args);
return this;
}
在此处记录:https://docs.gradle.org/3.4.1/dsl/org.gradle.api.tasks.Exec.html
我意识到我可以创建一个List<String>
并构建它以填充args
,但我觉得我可以忽略一个更简单的方法。
答案 0 :(得分:0)
我对args的语法不正确。
使用
args 'arg1, 'arg2'
后面跟着
args 'rest', 'of', 'the', 'args'
按预期附加工作