41 lines
1.2 KiB
Groovy
41 lines
1.2 KiB
Groovy
dependencies {
|
|
compile project(':core')
|
|
compile "com.xenomachina:kotlin-argparser:2.0.7"
|
|
}
|
|
|
|
ext.generatedResourcesDir = file("$buildDir/generated-resources")
|
|
task generateResources {
|
|
doLast {
|
|
generatedResourcesDir.mkdir()
|
|
generatePresetsIndex()
|
|
}
|
|
}
|
|
sourceSets.main.output.dir generatedResourcesDir, builtBy: generateResources
|
|
|
|
private void generatePresetsIndex() {
|
|
def presets = new File(sourceSets.main.resources.srcDirs[0], "presets")
|
|
def index = new PrintWriter(new FileWriter(new File(generatedResourcesDir, "presets.index")))
|
|
presets.listFiles().each { index.println(it.name) }
|
|
index.close()
|
|
}
|
|
|
|
jar {
|
|
dependsOn generateResources
|
|
|
|
zip64 true
|
|
manifest {
|
|
attributes 'Main-Class': 'io.smnp.SMNPKt'
|
|
}
|
|
|
|
// This line of code recursively collects and copies all of a project's files
|
|
// and adds them to the JAR itself. One can extend this task, to skip certain
|
|
// files or particular types at will
|
|
from configurations.compile.collect {
|
|
exclude "META-INF/*.SF"
|
|
exclude "META-INF/*.DSA"
|
|
exclude "META-INF/*.RSA"
|
|
it.isDirectory() ? it : zipTree(it)
|
|
}
|
|
from files(sourceSets.main.output.classesDirs)
|
|
from files(sourceSets.main.resources)
|
|
} |