Выполнение задачи корневого проекта Gradle из подпроекта - PullRequest
1 голос
/ 08 октября 2019

Я столкнулся со следующей проблемой. У меня есть многомодульный проект Gradle. Один модуль - это мой корневой проект, а второй модуль - интеграционные тесты.

Для запуска моих интеграционных тестов сначала необходимо запустить задачу копирования, чтобы переместить некоторые ресурсы в папку в корневом каталогепроект.

У меня уже есть такая задача, определенная в моем корневом проекте, которая при попытке вызвать ничего не делает (я пробовал несколько разных способов его вызова).

Так как это не удавалосьЯ пошел дальше и создал следующую задачу для самого подпроекта:

task prepareTestAssets(type: Copy) {
    description = "Copies the needed jars from the root project output build dir"
    copy {
        from rootProject.configurations.compileClasspath
        into ("${rootProject.rootDir}/classes")
        rename { fileName -> fileName.replace '-internal', '' }
        rename 'ads-(.+).jar', 'ads.jar'
        fileMode 0755
    }

    copy {
        from ("${rootProject.buildDir}/libs")
        into ("${rootProject.rootDir}/classes")
        fileMode 0755
    }
}

От которой я, имея другую задачу, зависит. Моя цель для этого состоит в том, чтобы он скопировал корневые классы проекта, а также jar, сгенерированный в build/libs, в один каталог (необходимый для выполнения интеграционных тестов).

Моя проблема в том, что при запускеон, похоже, не находит источника и продолжает отказывать.

Может кто-нибудь помочь мне решить, почему я не могу скопировать активы корневого проекта из контекста подпроекта

1 Ответ

1 голос
/ 08 октября 2019

Кажется, вы должны пропустить закрытие copy{} и указать его содержимое напрямую.

Конфигурация, предназначенная для задачи, в противном случае передается закрытию, поэтому задача считает, что у нее нет конфигурации (она нене знаю, чтобы искать замыкание под названием «копия»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...