#gradle
#gradle
Вопрос:
У меня есть задача Gradle Tar, которая создает архивный файл с исходными текстами моего проекта.
Теперь мне нужно дублировать эту функциональность, но добавить файл в архив.
Есть ли способ расширить / наследовать исходную функциональность задачи без дублирования кода?
Спасибо.
Ответ №1:
Да, используйте метод with. API может выглядеть немного странно, поскольку в нем говорится, что он принимает a CopySpec
в качестве входных данных, но Tar
задача на самом деле тоже a CopySpec
.
Пример (Groovy DSL):
task myDefaultTar(type: Tar) {
archiveBaseName = "default"
from("$buildDir/default.txt")
}
task myOtherTar(type: Tar) {
archiveBaseName = "other"
with(myDefaultTar)
from("$buildDir/additional_file.txt")
}