Files
smnp-kt/app/build.gradle

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)
}