Информация: Использование Gradle 2.14 в Windows 7 для создания многопроектных проектов JAVA.Лучший способ использования условных зависимостей в Gradle для Jenkins
Когда я строю на своей машине, я хочу использовать библиотеки/подпроекты на своей машине. Когда Дженкинс строит проект, он должен использовать библиотеки/подпроекты из моего репо.
Итак, я создал «JenkinsTask», который существует только для моего оператора IF. Это уже почти работает так, как я этого хочу. Вот код из моего корня проекта Gradle сценария:
task JenkinsTask() {
//doing nothing
}
def ProjectB_Version //defined on command line
gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(JenkinsTask)) {
println "Archiva dependency"
dependencies {
compile group: 'Lib_ProjectB', name: 'ProjectB', version: ProjectB_Version
}
}
else {
println "Filesystem dependency"
dependencies {
compile fileTree(dir: 'ProjectB\\build\\libs', includes: ['*.jar'])
}
}
}
compileJava.dependsOn ":ProjectB:build"
На моей машине я просто запустить gradle build -PProjectB_Version=0.5
На Дженкинс я бегу gradle :build jenkinstask -x :ProjectB:build -PProjectB_Version=0.5
Теперь вопрос, если есть «Gradle» способ сделай это? Поэтому мне не нужен оператор if/else и, возможно, даже может отказаться от командной строки «-x» paramater Jenkins. Особенно «Jenkinstask» чувствует себя взломанным.
Заранее спасибо.