如何调用Gradle';如何手动搜索存储库?
作为构建发布版本的先决条件,比如说如何调用Gradle';如何手动搜索存储库?,gradle,Gradle,作为构建发布版本的先决条件,比如说acme-widgets-1.0,我想搜索配置的存储库(或特定的存储库),以确保acme-widgets-1.0.jar尚未发布。我怎么能和Gradle这样做?或者,是否有方法为特定版本配置不存在的依赖项 group = 'com.acme' version = '1.0' repositories { jcenter() } if (gradle.startParameter.taskNames.contains("release")) {
acme-widgets-1.0
,我想搜索配置的存储库(或特定的存储库),以确保acme-widgets-1.0.jar
尚未发布。我怎么能和Gradle这样做?或者,是否有方法为特定版本配置不存在的依赖项
group = 'com.acme'
version = '1.0'
repositories {
jcenter()
}
if (gradle.startParameter.taskNames.contains("release")) {
def taskNames = gradle.startParameter.taskNames
taskNames.add(0, "checkReleaseDoesntExist")
gradle.startParameter.taskNames = taskNames
}
task checkReleaseDoesntExist() {
}
task release() {
println "Building release"
}
checkReleaseDoesntExist.doLast {
println "Checking repositories to make sure release hasn't already been built"
// TODO What do I do here?
}
您可以声明一个配置,其中只包含您试图查看其是否已发布的工件。 解析此配置后,您将拥有一个空文件集,或者没有 因此,大致如下:
configurations {
checkRelease { transitive = false }
}
dependency {
checkRelease "$group:$name:$version"
}
task ('checkReleaseDoesntExist') {
doLast {
println "Checking repositories to make sure release hasn't already been built"
try {
if (!configurations.checkRelease.files.isEmpty()) {
// already exists
}
}
catch (ResolveException e) {
// doesn't exist
}
}
例如,您可以建立HTTP连接以获取工件,如果成功,则表示该工件已经发布。例如: