task checkDuplicateClasses {
doLast {
def classMap = [:]
def duplicatesFound = false
configurations.runtimeClasspath.each { file ->
if (file.name.endsWith('.jar')) {
def zip = new java.util.zip.ZipFile(file)
zip.entries().each { entry ->
if (entry.name.endsWith('.class')) {
if (classMap.containsKey(entry.name)) {
println "CONFLICT: ${entry.name}"
println " -> Found in: ${classMap[entry.name]}"
println " -> Also in: ${file.name}"
println "--------------------------------------"
duplicatesFound = true
} else {
classMap[entry.name] = file.name
}
}
}
zip.close()
}
}
if (!duplicatesFound) {
println "No duplicate classes found in runtime classpath! ✅"
} else {
throw new GradleException("Build failed: Duplicate classes detected. Check logs above.")
}
}
}
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)