Files
smnp-kt/app/build.gradle

46 lines
1.6 KiB
Groovy

dependencies {
compile project(':api')
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: '1.3.61'
compile group: 'org.pf4j', name: 'pf4j', version: '3.2.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.13.1'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '2.0.0-alpha1'
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)
}