version bumnp, more gradle tidying, and fix the kotlin-js-store yarn lock file location

This commit is contained in:
Adam 2022-02-09 13:16:57 +01:00
parent 96412bf7c9
commit 8040149e25
18 changed files with 558 additions and 3827 deletions

View file

@ -1,13 +0,0 @@
object Versions {
const val kotlinLang = "1.6"
const val jvmTarget = "11"
const val node = "14.19.0"
const val kotlinWrappers = "0.0.1-pre.294-kotlin-1.6.10"
const val junit = "5.8.2"
const val kotest = "5.1.0"
const val mockk = "1.12.1"
}

View file

@ -3,6 +3,7 @@ package dev.adamko.kafkatorio
import kotlinx.serialization.json.Json
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.extra
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension
val jsonMapper = Json {
@ -11,15 +12,38 @@ val jsonMapper = Json {
}
object Versions {
const val kotlinLang = "1.6"
const val jvmTarget = "11"
const val node = "14.19.0"
const val kotlinWrappers = "0.0.1-pre.294-kotlin-1.6.10"
const val junit = "5.8.2"
const val kotest = "5.1.0"
const val mockk = "1.12.1"
}
/**
* `kotlin-js` adds a directory in the root-dir for the Yarn lock.
* That's a bit annoying. It's a little neater if it's in the
* gradle dir, next to the version-catalog.
*/
fun Project.relocateKotlinJsStore() {
afterEvaluate {
rootProject.extensions.configure<YarnRootExtension> {
lockFileDirectory = rootProject.rootDir.resolve("gradle/kotlin-js-store")
lockFileDirectory = project.rootDir.resolve("gradle/kotlin-js-store")
}
}
// rootProject.plugins.withType(YarnPlugin::class) {
// rootProject.the<YarnRootExtension>().lockFileDirectory =
// project.rootDir.resolve("gradle/kotlin-js-store")
// }
// KVision tries to be clever too - see io.kvision.gradle.KVisionGradleSubplugin
rootProject.extra.set("io.kvision.plugin.enableHiddenKotlinJsStore", "false")
}

View file

@ -11,8 +11,10 @@ import org.gradle.api.provider.MapProperty
import org.gradle.api.specs.Spec
import org.gradle.kotlin.dsl.invoke
operator fun <T> Spec<T>.not(): Spec<T> = Spec<T> { !this(it) }
fun Project.isProcessRunning(process: String, ignoreCase: Boolean = true): Spec<Task> =
Spec<Task> {
ByteArrayOutputStream().use { outputStream ->
@ -25,6 +27,7 @@ fun Project.isProcessRunning(process: String, ignoreCase: Boolean = true): Spec<
}
}
fun Project.areJsonPropertiesUpToDate(
packageJsonFile: RegularFileProperty,
properties: MapProperty<String, String>

View file

@ -1,6 +1,6 @@
package dev.adamko.kafkatorio.lang
import Versions
import dev.adamko.kafkatorio.Versions
import dev.adamko.kafkatorio.relocateKotlinJsStore
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.RootPackageJsonTask

View file

@ -1,5 +1,6 @@
package dev.adamko.kafkatorio.lang
import dev.adamko.kafkatorio.Versions
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {

View file

@ -5,7 +5,7 @@ import dev.adamko.kafkatorio.relocateKotlinJsStore
plugins {
id("dev.adamko.kafkatorio.base")
id("dev.adamko.kafkatorio.lang.node")
// id("dev.adamko.kafkatorio.lang.node")
kotlin("multiplatform")
}

View file

@ -1,8 +1,8 @@
package dev.adamko.kafkatorio.lang
import Versions
import com.github.gradle.node.NodePlugin
import com.github.gradle.node.npm.task.NpmInstallTask
import dev.adamko.kafkatorio.Versions
import dev.adamko.kafkatorio.gradle.areJsonPropertiesUpToDate
import dev.adamko.kafkatorio.gradle.not
import dev.adamko.kafkatorio.jsonMapper