kotlin-crawler-app-bom/build.gradle.kts

86 lines
2 KiB
Text

val coroutinesVersion: String by project
val kotlinVersion: String by project
plugins {
`java-platform`
`maven-publish`
}
group = "de.pheerai"
version = "0.0.11-SNAPSHOT"
repositories {
mavenCentral()
google()
}
javaPlatform {
allowDependencies()
}
dependencies {
api(platform("org.jetbrains.kotlin:kotlin-bom:$kotlinVersion"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:$coroutinesVersion"))
api("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
api("org.jetbrains.kotlinx", "kotlinx-coroutines-core-jvm")
api("com.github.ajalt.clikt", "clikt") {
version { cliktConstraints() }
}
api("org.jsoup", "jsoup") {
version { jsoupConstraints() }
}
api("org.jetbrains.kotlinx", "kotlinx-html-jvm") {
version { kotlinxHtmlConstraints() }
}
api("io.kotest", "kotest-runner-junit5-jvm") {
version { kotestConstraints() }
}
api("io.kotest", "kotest-assertions-core-jvm") {
version { kotestConstraints() }
}
}
publishing {
publications {
create<MavenPublication>("CrawlerBom") {
from(components["javaPlatform"])
}
}
repositories {
maven {
url = uri("https://git.f3l.de/api/v4/projects/160/packages/maven")
name = "GitLab"
credentials(HttpHeaderCredentials::class.java) {
name = "Job-Token"
value = System.getenv("CI_JOB_TOKEN")
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
}
}
fun MutableVersionConstraint.kotestConstraints() {
prefer("5.3.0")
strictly("[5.0.0,6.0.0[")
}
fun MutableVersionConstraint.kotlinxHtmlConstraints() {
prefer("0.7.5")
strictly("[0.7.0,0.8.0[")
}
fun MutableVersionConstraint.jsoupConstraints() {
prefer("1.14.3")
strictly("[1.14.0,1.15.0[")
}
fun MutableVersionConstraint.cliktConstraints() {
prefer("3.4.0")
strictly("[3.0.0,4.0.0[")
}