Настройки не торчат между задачами - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь уменьшить мой код сценария сборки, удалив дублирование.Тем не менее, я не могу найти способ заставить это работать.

Это то, что у меня есть сегодня (но больше повторений):

task testA(type: Test) {
    exclude 'folderA/*'
    environment 'MYVAR', 'myvar'
    ...
}
task testB(type: Test) {
    exclude 'folderA/*'
    environment 'MYVAR', 'myvar'
    ...
}

И я попытался уменьшить повторение навыполняя это:

task setupTest(type: Test) {
    exclude 'folderA/*'
    environment 'MYVAR', 'myvar'
}

task testA(type: Test) {
        ...
}
testA.dependsOn setupTest

task testB(type: Test) {
        ...
}
testB.dependsOn setupTest

Блок setupTest запускается до testA и testB, но переменные exclude и env теряются (проверено с помощью операторов print).

Как мне добиться чего-то подобного?

1 Ответ

0 голосов
/ 29 мая 2018

А как насчет вашей пользовательской тестовой задачи?

class MyTest extends Test {
    @TaskAction
    def init() {
        exclude 'folderA/*'
        environment 'MYVAR', 'myvar'
    }
}

task testA(type: MyTest) {
    // ...
}

task testB(type: MyTest) {
    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...