Я пытаюсь использовать следующий код, чтобы проверить, существуют ли файлы артефактов Jenkins в артефакте
Однако, файл configurations.testPlugins выдает исключение и завершается, как только он может получить какой-либо файл из артефакта.
Можно ли перехватывать исключения и сохранять их работоспособными, пока все файлы не будут проверены?
Есть ли какой-нибудь документ / пример на testPlugins?
Спасибо!
task resolveTestPlugins(type: Copy) {
from configurations.testPlugins
into new File(sourceSets.test.output.resourcesDir, 'test-dependencies')
include '*.hpi'
include '*.jpi'
def mapping = [:]
doFirst {
configurations.testPlugins.resolvedConfiguration.resolvedArtifacts.each {
mapping[it.file.name] = "${it.name}.${it.extension}"
}
}
rename { mapping[it] }
doLast {
List<String> baseNames = source*.name.collect { mapping[it] }.collect { it[0..it.lastIndexOf('.') - 1] }
new File(destinationDir, 'index').setText(baseNames.join('\n'), 'UTF-8')
}
}
Ниже приведен обновленный код (цель отладки) с try catch и ошибкой.
task resolveTestPlugins(type: Copy) {
configurations.each { println it.name }
println configurations.testPlugins
try {
// Line 88
configurations.testPlugins.each {
println it.name
}
} catch(Exception e) {
println "Failed : " + e
}
try {
from configurations.testPlugins
into new File(sourceSets.test.output.resourcesDir, 'test-dependencies')
include '*.hpi'
include '*.jpi'
} catch(Exception e) {
println "Failed : " + e
}
def mapping = [:]
def pluginname = ""
doFirst {
try {
println "A-------- : " + pluginname
configurations.testPlugins.each {
try {
println "B-------- : " + pluginname
it.resolvedConfiguration.each {
try {
println "C-------- : " + pluginname
it.resolvedArtifacts.each{
pluginname = "${it.name}.${it.extension}"
println "D-------- : " + pluginname
executeBuildCommand(commandString, component)
mapping[it.file.name] = "${it.name}.${it.extension}"
}
} catch(Exception e) {
println "Failed : " + pluginname
}
}
} catch(Exception e) {
println "Failed : " + e
}
}
} catch(Exception e) {
println "Failed : " + e
}
/*
try {
configurations.testPlugins.resolvedConfiguration.resolvedArtifacts.each {
pluginname = "${it.name}.${it.extension}"
println "-------- : " + pluginname
executeBuildCommand(commandString, component)
mapping[it.file.name] = "${it.name}.${it.extension}"
}
} catch(Exception e) {
println "Failed : " + pluginname
}
*/
}
rename { mapping[it] }
doLast {
try {
List<String> baseNames = source*.name.collect { mapping[it] }.collect { it[0..it.lastIndexOf('.') - 1] }
new File(destinationDir, 'index').setText(baseNames.join('\n'), 'UTF-8')
} catch(ResolveException e) {
println "Failed : " + e
} catch(Exception e) {
println "Failed : " + e
}
}
}
Следующее является исключением , Сборка останавливается, как только возникает исключение. Не уверен, что он может продолжать работать, пока все плагины не будут проверены. Спасибо!
Failed : org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':testPlugins'.
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\...\...\build.gradle' line: 88
* What went wrong:
Could not determine the dependencies of task ':resolveTestPlugins'.
> Could not resolve all dependencies for configuration ':testPlugins'.
> Could not determine artifacts for org.jenkins-ci.plugins:git-server:1.5
> Could not get resource 'https://.../artifactory/libs-release/org/jenkins-ci/plugins/git-server/1.5/git-server-1.5.hpi'.
> Could not HEAD 'https://.../artifactory/libs-release/org/jenkins-ci/plugins/git-server/1.5/git-server-1.5.hpi'. Received status code 401 from server: Unauthorized