У меня есть ряд задач tar, которые нужно выполнить в моем проекте. Большинство из них похожи, только один или два аргумента отличаются.
просто так:
+rootDir
+----a.txt
+----a.png
+----b.txt
\----b.png
===================================
after tasks execute:
+rootDir
+----a.tar.gz(include a.txt&a.png)
\----b.tar.gz(include b.txt&b.png)
//may hava some mistake,I don't remeber it clearly
task packA(type:Tar){
archiveName = "a.tar"
destinationDir = file("${buildDir}/")
from "${rootDir}/a.png"
from "${rootDir}/a.txt"
comprassion = Comprassion.GZIP
}
task packB(type:Tar){
archiveName = "b.tar"
destinationDir = file("${buildDir}/")
from "${rootDir}/b.png"
from "${rootDir}/b.txt"
comprassion = Comprassion.GZIP
}
Могу ли я написать класс задач расширения Tar или есть другой способ, чтобы я мог просто сделать это так? я использую gradle4.10.2
//i tried this but it not work,said there's no tar function in project
class CustomPack extend DefaultTask{
@Input
String arg
@taskAction
def customPack(){
project.tar{
archiveName = "${arg}.tar"
destinationDir = file("${buildDir}/")
from "${rootDir}/${arg}.png"
from "${rootDir}/${arg}.txt"
comprassion = Comprassion.GZIP
}
}
}
task packA(type:CustomPack ){
arg = "a"
}
task packB(type:CustomPack ){
arg = "b"
}