在 Gradle 中替换 Ant 的 zipfileset

Replacement in Gradle for Ant's zipfileset

我正在尝试将 Ant 目标迁移到 Gradle 任务,但我遇到了问题。在 Ant 中,zipfileset 允许我们为 jar 或 zip 中的所有文件指定一个前缀文件夹。我们如何才能在 Gradle 中实现这一点?

如何替换下面Gradle中的Ant代码?

<jar destfile="${jarDestination}">
  <zipfileset dir="${dir}" prefix="${prefix}"/>
</jar>

注意:我知道我们可以在里面使用antGradle。我正在寻找明确的 gradle/groovy 解决方案。

apply plugin: 'java'

def dir = 'src/myJar/resources'
def prefix = 'foo'
File jarDestination = file("$buildDir/myJar/myJar.jar")

task myJar(type: Zip) {
   from dir {
      into prefix
   }
   destinationDir = jarDestination.parent
   archiveName = jarDestination.name
}
assemble.dependsOn myJar