Gradle: задача с путем не найдена в проекте - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть проект gradle со следующей структурой:

rootDir
|--agent-v1.0.0
   |--agent.jar
|--proj1
   |-- // other project files
   |--build.gradle
|--proj2
   |-- // other project files
   |--build.gradle
|--build.gradle

Я хотел бы запустить test.jvmArgs = ['javaagent:agent-v1.0.0/agent.jar'] для всех подпроектов, поэтому я написал следующую задачу в корне build.gradle:

subprojects {
    task cs {
        outputs.upToDateWhen { false }
        dependsOn test.jvmArgs = ['javaagent:../agent-v1.0.0/agent.jar']
    }
}

Но это не с:

Не удалось определить зависимости задачи ': proj1'.

Задача с путем 'javaagent: ../ agent-v1.0.0 / agent.jar 'не найден в проекте': proj1 '.

Я пробовал это, помещая agent-v1.0.0 как в корень, так и в каждый проект, и этопо-прежнему не удается.Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Задача может зависеть от другой задачи.Так что dependsOn ожидает задачу в качестве аргумента.test.jvmArgs = ['javaagent:../agent-v1.0.0/agent.jar'] это не задача.

Если вы хотите настроить , чтобы все тестовые задачи всех подпроектов имели дополнительные аргументы jvm, тогда синтаксис будет

subprojects {
    // this block of code runs for every subproject

    afterEvaluate {
        // this block of code runs after the subproject has been evaluated, and thus after 
        // the test task has been added by the subproject build script

        test {
            // this block of code is used to configure the test task of the subproject

            // this configures the jvmArgs property of the test task
            jvmArgs = ['javaagent:../agent-v1.0.0/agent.jar']
        }
    }
}

Но просто не копируйтеи вставьте этот код.Прочитайте руководство пользователя класса и изучите его основные понятия.

0 голосов
/ 28 сентября 2018

Почему вы заключаете эту логику в новый task?А потом передать возврат от jvmArgs до dependsOn?

Просто правильно настройте тестовые задания:

subprojects {
    tasks.withType(Test) {
        jvmArgs "-javaagent:${project.rootDir}/agent-v1.0.0/agent.jar"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...