76 lines
1.7 KiB
Plaintext
76 lines
1.7 KiB
Plaintext
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
buildscript {
|
|
extra.apply {
|
|
set("kotestVersion", "4.2.0")
|
|
set("kotlinApiVersion", "1.4")
|
|
set("javaVersion", JavaVersion.VERSION_11)
|
|
}
|
|
}
|
|
|
|
inline fun <reified T> getFromExtra(prop: String) = project.extra[prop] as T
|
|
|
|
// TODO: Documentation
|
|
// TODO: Source Jar
|
|
// TODO: Doc Jar
|
|
// TODO: Proper Maven publish
|
|
plugins {
|
|
kotlin("jvm")
|
|
`maven-publish`
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
project.version = "0.0.2"
|
|
project.group = "de.pheerai.rcdb"
|
|
|
|
java {
|
|
targetCompatibility = getFromExtra("javaVersion")
|
|
sourceCompatibility = getFromExtra("javaVersion")
|
|
}
|
|
|
|
dependencies {
|
|
implementation(kotlin("stdlib-jdk8"))
|
|
|
|
testImplementation(
|
|
group = "io.kotest",
|
|
name = "kotest-runner-junit5-jvm",
|
|
version = getFromExtra("kotestVersion")
|
|
)
|
|
testImplementation(
|
|
group = "io.kotest",
|
|
name = "kotest-assertions-core-jvm",
|
|
version = getFromExtra("kotestVersion")
|
|
)
|
|
}
|
|
|
|
tasks {
|
|
withType<KotlinCompile>().configureEach {
|
|
kotlinOptions {
|
|
// freeCompilerArgs = listOf("-XXLanguage:+InlineClasses")
|
|
apiVersion = getFromExtra("kotlinApiVersion")
|
|
languageVersion = getFromExtra("kotlinApiVersion")
|
|
jvmTarget = getFromExtra<JavaVersion>("javaVersion").toString()
|
|
}
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
create<MavenPublication>("maven") {
|
|
groupId = project.group as String
|
|
artifactId = project.name
|
|
version = project.version as String
|
|
|
|
from(components["java"])
|
|
|
|
}
|
|
}
|
|
}
|