我想在 gradle 中创建一个自定义任务,它将组装好的 jar 上传到远程服务器。
我最好的工作结果是
doLast {
ssh.run {
def jarFile = "${jar.baseName}-${version}.jar"
session(remotes.role('qa')) {
put from: file("build/libs/${jarFile}"), into: "/home/${user}"
execute("sudo cp ${jarFile} /usr/share/feedserver/", pty: true)
...
}
}
}
但是,这使用了 jar.baseName 属性,该属性已被弃用并发出警告:
baseName 属性已被弃用。这计划在 Gradle 7.0 中删除。请改用 archiveBaseName 属性。
替换它的正确方法是什么?
建议的 archiveBaseName 不起作用,例如
task updateOnQA(dependsOn: bootJar) {
doLast {
def jarFile = "${jar.archiveBaseName}-${version}.jar"
print "${jarFile}";
}
}
输出
任务':myproject:jar'属性'archiveBaseName'-1.0.12.jar