val coroutinesVersion: String by project val kotlinVersion: String by project plugins { `java-platform` `maven-publish` } group = "de.pheerai" version = "0.0.9-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("4.6.3") strictly("[4.3.0,5.0.0[") } fun MutableVersionConstraint.kotlinxHtmlConstraints() { prefer("0.7.3") 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.3.0") strictly("[3.0.0,4.0.0[") }