2014-11-26 3 views
0

Я хочу иметь динамические задачи WAR на основе конфигурации клиента. Я создал массив с именами конфигурации и попытались применить пользовательский поведение как так:пользовательских задач войны и применения пользовательских ресурсов в пределах Gradle

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/основной/веб-приложение и также мои клиенты, основанные на etc/customers/XXXX/deploy, как указано в свойствах.

Но он не подбирает файлы в этой папке.

Что я здесь делаю неправильно? Благодарю.

ответ

2

При настройке вашей военной задачи убедитесь, что вы случайно не используете обозначение «<». '< <' является просто ярлыком для «Задача № 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'.

+0

взлеты. я случайно добавил свои вещи в блок выполнения, где он должен был быть в блоке конфигурации, как вы сказали, правильно? Благодарю. – Marc

Смежные вопросы