mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-02-24 21:48:46 +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
|
|
}
|
|
}
|
|
}
|