Kafkatorio/buildSrc/build.gradle.kts

95 lines
2.6 KiB
Text
Raw Normal View History

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
idea
`kotlin-dsl`
kotlin("jvm") version "1.6.10"
`project-report`
}
object Versions {
const val jvmTarget = "11"
const val kotlinTarget = "1.6"
// const val kotlin = "1.6.20-M1"
const val kotlin = "1.6.10"
const val gradleNodePlugin = "3.2.0"
const val gradleDockerComposePlugin = "0.15.0"
const val kotlinXSerialization = "1.3.2"
const val kvision = "5.8.1"
const val semver = "1.1.2"
const val http4k = "4.19.1.0"
const val jsoup = "1.14.3"
const val kotest = "5.1.0"
}
dependencies {
implementation(enforcedPlatform("org.jetbrains.kotlin:kotlin-bom:${Versions.kotlin}"))
2021-10-25 23:23:28 +02:00
implementation("org.jetbrains.kotlin:kotlin-serialization")
2021-11-28 18:11:39 +01:00
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}")
implementation(platform("org.jetbrains.kotlinx:kotlinx-serialization-bom:${Versions.kotlinXSerialization}"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core")
2021-11-28 18:11:39 +01:00
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json")
// implementation("com.charleskorn.kaml:kaml:0.37.0")
2021-11-28 18:11:39 +01:00
implementation("com.github.node-gradle:gradle-node-plugin:${Versions.gradleNodePlugin}")
implementation("io.kotest:kotest-framework-multiplatform-plugin-gradle:${Versions.kotest}")
implementation("io.kvision:io.kvision.gradle.plugin:${Versions.kvision}")
implementation("net.swiftzer.semver:semver:${Versions.semver}")
2021-12-28 17:05:52 +01:00
// https://github.com/avast/gradle-docker-compose-plugin
implementation("com.avast.gradle:gradle-docker-compose-plugin:${Versions.gradleDockerComposePlugin}")
implementation(platform("org.http4k:http4k-bom:${Versions.http4k}"))
implementation("org.http4k:http4k-core")
implementation("org.http4k:http4k-client-okhttp")
implementation("org.jsoup:jsoup:${Versions.jsoup}")
}
tasks.withType<KotlinCompile>().configureEach {
2021-11-03 09:48:30 +01:00
kotlinOptions {
jvmTarget = Versions.jvmTarget
apiVersion = Versions.kotlinTarget
languageVersion = Versions.kotlinTarget
2021-11-03 09:48:30 +01:00
}
kotlinOptions.freeCompilerArgs += listOf(
// "-Xcontext-receivers",
2021-12-28 16:26:23 +01:00
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlin.ExperimentalStdlibApi",
"-opt-in=kotlin.time.ExperimentalTime",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-opt-in=kotlinx.serialization.ExperimentalSerializationApi",
)
}
kotlin {
jvmToolchain {
(this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(Versions.jvmTarget))
}
kotlinDslPluginOptions {
jvmTarget.set(Versions.jvmTarget)
}
}
idea {
module {
isDownloadSources = true
isDownloadJavadoc = true
}
}