Gradle team takes lead initiative in replacing .md5
& .sha1
with .sha256
& .sha512
.
I don't know who give them that "right" and the proper security is only package signing, so I see no reason for that breaking change (why push Apache & Sonatype & JFrog to patch their software??).
In src/dependency-management/org/gradle/api/internal/artifacts/repositories/resolver/ExternalResourceResolver.java
:
public static boolean disableExtraChecksums() {
return Boolean.getBoolean("org.gradle.internal.publish.checksums.insecure");
}
private void publishChecksums(ExternalResourceName destination, File content) {
publishChecksum(destination, content, "sha1", 40);
if (!ExternalResourceResolver.disableExtraChecksums()) {
publishPossiblyUnsupportedChecksum(destination, content, "sha-256", 64);
publishPossiblyUnsupportedChecksum(destination, content, "sha-512", 128);
}
}
So the solution is to set system property org.gradle.internal.publish.checksums.insecure
to true
:
gradle -D org.gradle.internal.publish.checksums.insecure=true ...
systemProp.org.gradle.internal.publish.checksums.insecure = true
in gradle.properties
System.setProperty("org.gradle.internal.publish.checksums.insecure", "true")
in settings.gradle
See: