diff --git a/rhubarb/build.gradle.kts b/rhubarb/build.gradle.kts new file mode 100644 index 0000000..91a8f00 --- /dev/null +++ b/rhubarb/build.gradle.kts @@ -0,0 +1,59 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + kotlin("jvm") version "1.3.50" +} + +repositories { + mavenCentral() + jcenter() +} + +dependencies { + implementation(kotlin("stdlib-jdk8")) + implementation("org.apache.commons:commons-lang3:3.9") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2") + + // Unit testing + val spekVersion = "2.0.8" + testImplementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") + testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:$spekVersion") + testCompile("org.assertj:assertj-core:3.11.1") +} + +val distsDirName = convention.getPlugin(BasePluginConvention::class).distsDirName +var distDirectory = File(project.buildDir, distsDirName) + +tasks { + withType { + kotlinOptions.jvmTarget = "1.8" + // kotlinOptions.allWarningsAsErrors = true + kotlinOptions.freeCompilerArgs += "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes" + kotlinOptions.freeCompilerArgs += "-Xinline-classes" + } + + test { + useJUnitPlatform { + includeEngines("spek2") + } + } + + val copyDoc by creating(Copy::class) { + from("README.adoc") + into(distDirectory) + } + + assemble { + dependsOn(copyDoc) + } + + jar { + destinationDirectory.set(distDirectory) + + manifest { + attributes("Main-Class" to "com.rhubarb_lip_sync.rhubarb_for_spine.MainKt") + } + + from(configurations.compileClasspath.get().map { if (it.isDirectory) it else zipTree(it) }) + } +} diff --git a/rhubarb/src/main/kotlin/Package.kt b/rhubarb/src/main/kotlin/Package.kt new file mode 100644 index 0000000..d613299 --- /dev/null +++ b/rhubarb/src/main/kotlin/Package.kt @@ -0,0 +1 @@ +package com.rhubarb_lip_sync diff --git a/rhubarb/src/test/kotlin/Package.kt b/rhubarb/src/test/kotlin/Package.kt new file mode 100644 index 0000000..d613299 --- /dev/null +++ b/rhubarb/src/test/kotlin/Package.kt @@ -0,0 +1 @@ +package com.rhubarb_lip_sync diff --git a/settings.gradle.kts b/settings.gradle.kts index fdf105a..74cf924 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,6 @@ rootProject.name = "rhubarb-lip-sync" +include("rhubarb") include("rhubarb-for-after-effects") include("rhubarb-for-spine") include("rhubarb-for-vegas")