rhubarb-lip-sync/extras/EsotericSoftwareSpine/build.gradle.kts

56 lines
1.5 KiB
Plaintext

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.io.File
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
kotlin("jvm") version "1.3.41"
id("com.github.johnrengelman.shadow") version "5.1.0"
}
fun getVersion(): String {
// Dynamically read version from CMake file
val file = File(rootDir.parentFile.parentFile, "appInfo.cmake")
val text = file.readText()
val major = Regex("""appVersionMajor\s+(\d+)""").find(text)!!.groupValues[1]
val minor = Regex("""appVersionMinor\s+(\d+)""").find(text)!!.groupValues[1]
val patch = Regex("""appVersionPatch\s+(\d+)""").find(text)!!.groupValues[1]
val suffix = Regex("""appVersionSuffix\s+"(.*?)"""").find(text)!!.groupValues[1]
return "$major.$minor.$patch$suffix"
}
group = "com.rhubarb_lip_sync"
version = getVersion()
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation("com.beust:klaxon:5.0.1")
implementation("org.apache.commons:commons-lang3:3.9")
implementation("no.tornado:tornadofx:1.7.19")
testImplementation("org.junit.jupiter:junit-jupiter:5.5.0")
testCompile("org.assertj:assertj-core:3.11.1")
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
tasks.test {
useJUnitPlatform()
}
tasks.shadowJar {
dependsOn(tasks.test)
// Modified by shadow plugin
archiveClassifier.set(null as String?)
manifest {
attributes("Main-Class" to "com.rhubarb_lip_sync.rhubarb_for_spine.MainKt")
}
}