rcdbquery/build.gradle.kts

100 lines
2.3 KiB
Plaintext
Raw Normal View History

2021-03-06 14:53:28 +01:00
import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2021-10-10 13:32:17 +02:00
val pheeraiBomVersion: String by project
val kotlinApiVersion: String by project
val javaVersion = JavaVersion.VERSION_11
2020-05-08 15:07:30 +02:00
// TODO: Documentation
// TODO: Source Jar
// TODO: Doc Jar
// TODO: Proper Maven publish
2020-04-04 13:37:27 +02:00
plugins {
kotlin("jvm")
2020-05-08 15:07:30 +02:00
`maven-publish`
id("org.jetbrains.dokka")
2021-07-18 12:30:58 +02:00
id("org.jetbrains.kotlinx.binary-compatibility-validator")
2020-04-04 13:37:27 +02:00
}
2020-04-04 13:37:27 +02:00
repositories {
mavenCentral()
2020-09-20 12:24:18 +02:00
google()
2021-06-28 20:46:08 +02:00
exclusiveContent {
forRepository {
maven {
url = uri("https://git.f3l.de/api/v4/projects/160/packages/maven")
}
}
filter {
2020-09-20 12:24:18 +02:00
includeGroup("de.pheerai")
includeGroup("de.pheerai.eap")
}
}
2020-04-04 13:37:27 +02:00
}
2022-03-31 20:56:42 +02:00
project.version = "0.0.6-SNAPSHOT"
2020-05-08 15:07:30 +02:00
project.group = "de.pheerai.rcdb"
java {
2021-10-10 13:32:17 +02:00
targetCompatibility = javaVersion
sourceCompatibility = javaVersion
withSourcesJar()
}
2021-03-06 14:53:28 +01:00
kotlin {
explicitApi = ExplicitApiMode.Strict
}
dependencies {
2021-10-10 13:32:17 +02:00
implementation(platform("de.pheerai:kotlin-crawler-app-bom:$pheeraiBomVersion"))
2021-03-06 14:53:28 +01:00
2020-09-20 12:24:18 +02:00
testImplementation("io.kotest", "kotest-runner-junit5-jvm")
testImplementation("io.kotest", "kotest-assertions-core-jvm")
}
2020-05-01 15:44:45 +02:00
tasks {
withType<KotlinCompile>().configureEach {
kotlinOptions {
2021-10-10 13:32:17 +02:00
apiVersion = kotlinApiVersion
languageVersion = kotlinApiVersion
jvmTarget = javaVersion.toString()
2020-05-01 15:44:45 +02:00
}
}
test {
useJUnitPlatform()
}
val javadocJar by registering(Jar::class) {
from("dokkaJavadoc")
archiveClassifier.set("javadoc")
}
artifacts {
archives(javadocJar)
archives(jar)
}
2020-04-04 13:37:27 +02:00
}
2020-05-08 15:07:30 +02:00
publishing {
publications {
2021-03-06 19:38:37 +01:00
create<MavenPublication>("QueryBuilder") {
2020-05-08 15:07:30 +02:00
from(components["java"])
artifact(tasks["javadocJar"])
2020-05-08 15:07:30 +02:00
}
2021-03-06 19:38:37 +01:00
repositories {
maven {
url = uri("https://git.f3l.de/api/v4/projects/180/packages/maven")
name = "GitLab"
credentials(HttpHeaderCredentials::class.java) {
name = "Job-Token"
value = System.getenv("CI_JOB_TOKEN")
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
}
2020-05-08 15:07:30 +02:00
}
}