信息:在 Windows 7 上使用 Gradle 2.14 构建 JAVA 多项目。
当我在我的机器上构建时,我想在我的机器上使用库/子项目。当 Jenkins 构建项目时,他将使用我的 repo 中的库/子项目。
所以我做了一个“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"
Run Code Online (Sandbox Code Playgroud)
在我的机器上,我只是运行 gradle build -PProjectB_Version=0.5
在詹金斯我跑 gradle :build jenkinstask -x :ProjectB:build -PProjectB_Version=0.5
现在的问题是是否有一种“gradle”方式来做到这一点?所以我不需要 …