我对 groovy 的了解还不够好,现在只想勉强度日。我现在有以下 gradle 工作,但我想知道是否有更简洁的方法来编写它:
task staging(type: Sync) {
from(stagingDir) {}
into toStagingDir
}
task syncJars(type: Sync) {
from(configurations.compile) {}
from(fixedLibDir) {}
into toStagingLibsDir
}
task copyMainJar(type: Copy) {
from(libsDir) {}
into toStagingLibsDir
}
task myZip(type: Zip) {
archiveName "bacnet.zip"
from(buildDir) {
include project.name+'/**'
}
}
syncJars.dependsOn('staging')
copyMainJar.dependsOn('syncJars')
myZip.dependsOn('copyMainJar')
assemble.dependsOn('myZip')
也许有某种方式可以这样写:
task prepareStaging {
staging from stagingDir into toStagingDir
syncJars from configurations.compile from fixedLibDir into toStagingLibsDir
copyMainJar from libsDir into toStagingLibsDir
myZip archiveName "bacnet.zip" from buildDir { include project.name+'/**' }
}
assemble.dependsOn('prepareStaging')
理想情况下,我喜欢自我记录的代码。在第二个示例中,下一个开发人员很明显,我的意思是这些小任务中的每一个都不能重用。这很清楚(即自我记录)。在第一种方式中,我编写的代码绝对不清楚,因为这些任务可以从其他项目文件中重用。
有什么办法可以用那种更简单的形式来写吗?
注意:我仍然希望所有 UP-TO-DATE 检查都像往常一样进行!!!