默认情况下,maven-publish
插件会为所有 Artifact 生成MD5和SHA1校验和文件。但是,有什么方法可以使插件生成安全的校验和文件(首选SHA512)?
这很容易重现。我刚刚初始化了一个新的java-library
项目,并添加了maven-publish
插件及其配置
build.gradle:
apply plugin: 'java'
apply plugin: 'maven-publish'
repositories {
jcenter()
}
dependencies {
}
publishing {
repositories {
maven {
url rootProject.buildDir.path + '/repo'
}
}
publications {
mavenJava(MavenPublication) {
groupId = 'org.gradle.sample'
artifactId = 'project1-sample'
version = '1.1'
from components.java
}
}
}
我已经查阅了gradle文档和javadoc,但是根本找不到关于校验和文件的任何提示。我知道我可以使用ANT校验和任务很容易地为 Artifact 生成校验和
doLast {
ant.checksum(file: archivePath, algorithm: "SHA-512")
}
但是我需要以某种方式“手动”将它们放置在正确的文件夹中,而不是放置实际的 Artifact ,这是我要避免的事情。
编辑:
如果无法指定校验和算法,是否可以以某种方式挂接到
publish
任务并将自定义校验和文件添加到 Artifact 目标文件夹中?我不想将校验和文件本身作为 Artifact 添加,因为校验和将有MD5和SHA1校验和,这没有任何意义。 最佳答案
2019年11月发布的Gradle 6.0在其maven-publish插件中默认使用SHA-256和SHA-512作为哈希算法。看
请注意,Gradle 6.0.1添加了一种禁止使用这些较新算法的方法,因为某些 Artifact 服务器不接受它们: