我有两个任务:
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
task shadowJarW32() {
ShadowJar sjTask32 = shadowJar {
archiveClassifier.set('win32')
configurations = [project.configurations.runtimeClasspath, project.configurations.implementationW32]
}
dependsOn(sjTask32)
}
task shadowJarW64() {
ShadowJar sjTask64 = shadowJar {
archiveClassifier.set('win64')
configurations = [project.configurations.runtimeClasspath, project.configurations.implementationW64]
}
dependsOn(sjTask64)
}
我正在尝试让
shadowJarW32/64
使用已修改的特定字段来运行shadowJar
任务。它与第二个完美配合,但是shadowJarW32
的运行方式就像我运行shadowJarW64
一样。我发现问题是由任务的实现而不是任务的实际执行引起的,所以我认为也许只有一种方法,如果我实际运行
shadowJarW64
,就可以实现任务gradle shadowJarW64
。我该如何解决?
最佳答案
task shadowJarW32 {
doFirst {
shadowJar {
archiveClassifier.set('win32')
configurations = [project.configurations.runtimeClasspath, project.configurations.implementationW32]
}
}
finalizedBy(shadowJar)
}
task shadowJarW64 {
doFirst {
shadowJar {
archiveClassifier.set('win64')
configurations = [project.configurations.runtimeClasspath, project.configurations.implementationW64]
}
}
finalizedBy(shadowJar)
}