我希望根据客户配置获得动态WAR任务。我创建了一个包含配置名称的数组,并尝试应用自定义行为:
ext.customerBuilds = ['customer1', 'customer2', 'customer3']
ext.customerBuilds.eachWithIndex() {
obj, i ->
task "dist_${obj}" (type:War) << {
from "etc/customers/${obj}/deploy"
println "I'm task number $i"
}
};
这创建了我的三个任务,如dist_customer1等。现在我希望gradle使用src / main / webapp下的常规资源以及etc / customers / XXXX / deploy下的基于客户的资源,如from属性中所述。
但它不会拾取此文件夹中的任何文件。
我在这里做错了什么?感谢。
答案 0 :(得分:2)
确保您不会意外使用'&lt;&lt;&lt;符号。 '&LT;&LT;'只是'Task#doLast'的快捷方式。所以改为:
ext.customerBuilds = ['customer1', 'customer2', 'customer3']
ext.customerBuilds.eachWithIndex() { obj, i ->
task("dist_${obj}", type:War){
from "etc/customers/${obj}/deploy"
println "I'm task number $i"
}
};
你可以在'src / main / webapp'中从语句中添加更多内容。