val coroutinesVersion: String by project val kotlinVersion: String by project plugins { `java-platform` `maven-publish` } group = "de.pheerai" version = "0.0.12-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("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("header") } } } } fun MutableVersionConstraint.kotestConstraints() { prefer("5.5.0") strictly("[5.0.0,6.0.0[") } fun MutableVersionConstraint.kotlinxHtmlConstraints() { prefer("0.8.0") strictly("[0.8.0,0.9.0[") } fun MutableVersionConstraint.jsoupConstraints() { prefer("1.15.4") strictly("[1.15.0,1.16.0[") } fun MutableVersionConstraint.cliktConstraints() { prefer("3.5.2") strictly("[3.0.0,4.0.0[") }