Я использую Jenkins для запуска gradlew на этапе сборки. build.gradle
содержит тестовое задание. Когда выполняется тестовая задача, она не выполняется, потому что файл Groovy, который она пытается скомпилировать, содержит 5 операторов import
вверху. Эти классы я создал в подпапке. Однако когда я использую плагин Job DSL для создания заданий Jenkins с использованием тех же файлов Groovy, он работает нормально. Я вижу следующую ошибку:
09:32:31.930 [DEBUG] [TestEventLogger] debug.JobScriptsSpec > test script JenkinsJobs.groovy FAILED
09:32:31.930 [DEBUG] [TestEventLogger] Expected no exception to be thrown, but got 'javaposse.jobdsl.dsl.DslException'
09:32:31.930 [DEBUG] [TestEventLogger] at spock.lang.Specification.noExceptionThrown(Specification.java:118)
09:32:31.930 [DEBUG] [TestEventLogger] at debug.JobScriptsSpec.test script #file.name(JobScriptsSpec.groovy:31)
09:32:31.930 [DEBUG] [TestEventLogger]
09:32:31.930 [DEBUG] [TestEventLogger] Caused by:
09:32:31.930 [DEBUG] [TestEventLogger] javaposse.jobdsl.dsl.DslException: startup failed:
09:32:31.945 [DEBUG] [TestEventLogger] script: 1: unable to resolve class utilities.GitConfiguration
09:32:31.945 [DEBUG] [TestEventLogger] @ line 1, column 1.
09:32:31.945 [DEBUG] [TestEventLogger] import utilities.GitConfiguration
09:32:31.945 [DEBUG] [TestEventLogger]
Я имитирую то, что здесь делается: https://github.com/sheehan/job-dsl-gradle-example Обратите внимание на раздел «Тестирование».
Я попытался добавить в путь к классам следующее, но все равно получаю ту же ошибку:
buildscript {
dependencies {
classpath files('/jobs/utilities')
}
}
Моя основная файловая структура такова:
jenkins-jobs
|-build.gradle
|-jobs
|-JenkinsJobs.groovy
|-utilities
|-GitConfiguration.groovy
|-other groovy files I try to import
Вкратце, я пытаюсь задать вопрос: как мне сделать Gradle счастливым, пытаясь включить пользовательский импорт в мои файлы Groovy?