将 ant signJar 任务转换为 gradle
Convert ant signJar task to gradle
我正在将 ant 构建脚本转换为 gradle。作为 ant 步骤的一部分,正在创建的 .jar 文件被签名。蚂蚁标志目标如下所示:
<signjar alias="${keystore.alias}" keystore="${keystore.file}" storepass="${keystore.password}" >
<path>
<fileset dir="${build.jars.dir}" includes="xxx-1.0-SNAP.jar"/>
</path>
</signjar>
在我的 gradle 版本中我有
apply plugin 'signing'
...
task signJar(type: SignJar, dependsOn: reobfJar) {
keyStore = 'certs/keystore.jks'
alias = 'somealias'
storePass = 'somepassword'
keyPass = 'somepassword'
inputFile = 'build/libs/xxx-1.0-SNAP.jar' <<< these lines
outputFile = 'build/libs/xxx-1.0-SNAP_signed.jar' <<< give error
}
build.dependsOn signJar
inputFile 和 outputFile 行的错误消息是 "Cannot assign string to Class < InputFile > "。我不知道如何正确地进行这项分配。 (您可能已经猜到我不是 gradle 专家)。如何将我正在构建的 jar 分配给 inputFile 和我想要输出文件的新 jar 名称?
我知道怎么做了。这是我能够放入 build.gradle 文件中的任务。它不需要任何新插件(我目前正在使用 'java' 插件,但我不知道这个任务是否依赖于它。)
虽然这显示了我的构建环境的特定设置和路径,但我认为它很容易根据您的需要进行修改。
task signJar <<{
def signdir = new File("$buildDir/jars/signed")
signdir.mkdirs()
ant.signjar(
destDir: "${signdir.absolutePath}",
jar: 'build/libs/*.jar',
alias:'somealias',
storetype:"jks",
keystore:"certs/keystore.jks",
storepass:'somepassword',
verbose:true,
preservelastmodified:"true"
)
}
build.dependsOn signJar
我正在将 ant 构建脚本转换为 gradle。作为 ant 步骤的一部分,正在创建的 .jar 文件被签名。蚂蚁标志目标如下所示:
<signjar alias="${keystore.alias}" keystore="${keystore.file}" storepass="${keystore.password}" >
<path>
<fileset dir="${build.jars.dir}" includes="xxx-1.0-SNAP.jar"/>
</path>
</signjar>
在我的 gradle 版本中我有
apply plugin 'signing'
...
task signJar(type: SignJar, dependsOn: reobfJar) {
keyStore = 'certs/keystore.jks'
alias = 'somealias'
storePass = 'somepassword'
keyPass = 'somepassword'
inputFile = 'build/libs/xxx-1.0-SNAP.jar' <<< these lines
outputFile = 'build/libs/xxx-1.0-SNAP_signed.jar' <<< give error
}
build.dependsOn signJar
inputFile 和 outputFile 行的错误消息是 "Cannot assign string to Class < InputFile > "。我不知道如何正确地进行这项分配。 (您可能已经猜到我不是 gradle 专家)。如何将我正在构建的 jar 分配给 inputFile 和我想要输出文件的新 jar 名称?
我知道怎么做了。这是我能够放入 build.gradle 文件中的任务。它不需要任何新插件(我目前正在使用 'java' 插件,但我不知道这个任务是否依赖于它。)
虽然这显示了我的构建环境的特定设置和路径,但我认为它很容易根据您的需要进行修改。
task signJar <<{
def signdir = new File("$buildDir/jars/signed")
signdir.mkdirs()
ant.signjar(
destDir: "${signdir.absolutePath}",
jar: 'build/libs/*.jar',
alias:'somealias',
storetype:"jks",
keystore:"certs/keystore.jks",
storepass:'somepassword',
verbose:true,
preservelastmodified:"true"
)
}
build.dependsOn signJar