mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-02-25 05:58:24 +07:00
71 lines
1.6 KiB
Groovy
71 lines
1.6 KiB
Groovy
![]() |
description = 'Generates bin files for D2 excel tables.'
|
||
|
application.mainClass = 'com.riiablo.excel.BinGeneratorTool'
|
||
|
|
||
|
class GenerateBinsTask extends DefaultTask {
|
||
|
@Input
|
||
|
String txtPackage
|
||
|
|
||
|
@Input
|
||
|
String binPackage
|
||
|
|
||
|
@TaskAction
|
||
|
def generateBins() {
|
||
|
println txtPackage
|
||
|
println binPackage
|
||
|
}
|
||
|
}
|
||
|
|
||
|
task testme(type: GenerateBinsTask) {
|
||
|
txtPackage = 'com.riiablo.excel.txt'
|
||
|
binPackage = 'com.riiablo.excel.bin'
|
||
|
}
|
||
|
|
||
|
project.ext {
|
||
|
srcProjectDir = project(':core').sourceSets.main.java.srcDirs.first()
|
||
|
genProjectDir = project(':core').generatedSourceDirs
|
||
|
excelPackage = 'com.riiablo.excel'
|
||
|
txtPackage = "${excelPackage}.txt"
|
||
|
binPackage = "${excelPackage}.bin"
|
||
|
}
|
||
|
|
||
|
task cleanAndGenerateBins {
|
||
|
group 'bin-generator'
|
||
|
description 'cleanBins + generateBins'
|
||
|
dependsOn 'cleanBins'
|
||
|
dependsOn 'generateBins'
|
||
|
}
|
||
|
|
||
|
task generateBins(type: JavaExec) {
|
||
|
group 'bin-generator'
|
||
|
description 'generates bins for ' + project(':core')
|
||
|
mainClass = application.mainClass
|
||
|
classpath = sourceSets.main.runtimeClasspath
|
||
|
args = [
|
||
|
"--src=$srcProjectDir",
|
||
|
"--gen=$genProjectDir",
|
||
|
"--txt-package=$txtPackage",
|
||
|
"--bin-package=$binPackage",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
task cleanBins(type: Delete) {
|
||
|
group 'bin-generator'
|
||
|
description 'cleans generated bins for ' + project(':core')
|
||
|
dependsOn 'listBins'
|
||
|
delete fileTree(genProjectDir).matching {
|
||
|
include binPackage.replace('.', '/') + '/*Bin.java'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
task listBins {
|
||
|
group 'bin-generator'
|
||
|
description 'lists generated bins for ' + project(':core')
|
||
|
doLast {
|
||
|
fileTree(genProjectDir) {
|
||
|
include binPackage.replace('.', '/') + '/*Bin.java'
|
||
|
}.each {
|
||
|
println it
|
||
|
}
|
||
|
}
|
||
|
}
|