В gradle документации мы можем прочитать:
Для каждой конфигурации в вашем проекте Gradle предоставляет задачи uploadConfigurationName и buildConfigurationName [18].
Насколько я понимаю, я могу создать сборку, которая выглядит так (без каких-либо плагинов, потому что я не хочу использовать плагины в этом проекте):
configurations {
productSrc
}
// create zip file which will be published
buildProductSrc(type: Copy) << {
// do the job
}
// publish zip which were build by buildProductSrc
uploadProductSrc {
repositories {
ivy {
url "http://ivy.repo/repo"
}
}
}
Поэтому, если я запущу gradle buildProductSrc uploadProductSrc
, он создаст zip и опубликует его в репозитории ivy. Я правильно понимаю, потому что это не работает?
[ОБНОВЛЕНИЕ] Согласно ответу Питера Нидервизера, это рабочая версия сборки:
apply plugin: 'base'
configurations {
productSrc
}
// create zip file which will be published
buildProductSrc << { // unable to create specific task, for example 'type: Copy'
// do the job
}
// publish zip which were build by buildProductSrc
uploadProductSrc {
repositories {
ivy {
url "http://ivy.repo/repo"
}
}
}