Skip to content
This repository was archived by the owner on Feb 1, 2025. It is now read-only.

Commit cb1d20b

Browse files
authored
Merge pull request #38 from konform-kt/dhoepelman/upgrade-kotest
Fix for kotest 0.5.0+, upgrade gradle, kotlin
2 parents 2b9dc53 + 87021dd commit cb1d20b

File tree

12 files changed

+2055
-50
lines changed

12 files changed

+2055
-50
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ project/boot/
1515
project/plugins/project/
1616
credentials.sbt
1717
/.idea/
18+
.kotlin

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ Please create issues on the main kotest [board](https://github.com/kotest/kotest
1515

1616
## Changelog
1717

18+
#### 1.2.0
19+
20+
* Updated to Konform 0.6.2
21+
* Updated to Kotest 5.9
22+
* Fixed compatibility with Konform 0.5.0+
23+
* Updated to Kotlin 2.0, min target 1.8
24+
1825
#### 1.1.0
1926

2027
* Compatible with Kotest 5.7 and Kotlin 1.8

build.gradle.kts

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
2+
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
3+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
24

35
buildscript {
46
repositories {
@@ -17,7 +19,8 @@ plugins {
1719
`java-library`
1820
signing
1921
`maven-publish`
20-
kotlin("multiplatform") version "1.8.21"
22+
alias(libs.plugins.kotlin.multiplatform)
23+
alias(libs.plugins.kotest.multiplatform)
2124
}
2225

2326
repositories {
@@ -32,31 +35,42 @@ group = "io.kotest.extensions"
3235
version = Ci.version
3336

3437
kotlin {
35-
targets {
36-
jvm {
37-
compilations.all {
38-
kotlinOptions {
39-
jvmTarget = "1.8"
40-
}
41-
}
38+
39+
sourceSets.all {
40+
languageSettings {
41+
apiVersion = libs.versions.kotlinApiTarget.get()
42+
languageVersion = libs.versions.kotlinApiTarget.get()
4243
}
43-
js(IR) {
44-
browser()
45-
nodejs()
44+
}
45+
jvmToolchain {
46+
languageVersion.set(JavaLanguageVersion.of(libs.versions.gradleDaemonJvm.get()))
47+
}
48+
49+
jvm {
50+
@OptIn(ExperimentalKotlinGradlePluginApi::class)
51+
compilerOptions {
52+
jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmMinTarget.get()))
4653
}
4754
}
55+
js(IR) {
56+
browser()
57+
nodejs()
58+
}
4859

4960
sourceSets {
5061
val commonMain by getting {
5162
dependencies {
52-
implementation(libs.kotest.assertions.shared)
5363
implementation(libs.kotest.assertions.core)
5464
implementation(libs.konform)
5565
}
5666
}
57-
val jvmTest by getting {
67+
val commonTest by getting {
5868
dependencies {
5969
implementation(libs.kotest.framework.engine)
70+
}
71+
}
72+
val jvmTest by getting {
73+
dependencies {
6074
implementation(libs.kotest.runner.junit5)
6175
}
6276
}

buildSrc/build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import org.gradle.kotlin.dsl.`kotlin-dsl`
22

33
repositories {
4-
jcenter()
4+
mavenLocal()
5+
mavenCentral()
6+
maven {
7+
url = uri("https://oss.sonatype.org/content/repositories/snapshots")
8+
}
59
}
610

711
plugins {

buildSrc/src/main/kotlin/Ci.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ object Ci {
22

33
// this is the version used for building snapshots
44
// .GITHUB_RUN_NUMBER-snapshot will be appended
5-
private const val snapshotBase = "1.0.0"
5+
private const val snapshotBase = "1.2.0"
66

77
private val githubRunNumber = System.getenv("GITHUB_RUN_NUMBER")
88

gradle/libs.versions.toml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
[versions]
2-
konform = "0.4.0"
3-
kotest = "5.7.2"
2+
konform = "0.6.2"
3+
kotest = "5.9.1"
4+
kotlin = "2.0.20"
5+
# Targets of kotest 5.9
6+
kotlinApiTarget = "1.9"
7+
jvmMinTarget = "1.8"
8+
gradleDaemonJvm = "21"
9+
410

511
[libraries]
612
konform = { module = "io.konform:konform", version.ref = "konform" }
713

8-
kotest-assertions-shared = { module = "io.kotest:kotest-assertions-shared", version.ref = "kotest" }
914
kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
1015
kotest-framework-engine = { module = "io.kotest:kotest-framework-engine", version.ref = "kotest" }
1116
kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" }
17+
18+
[plugins]
19+
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
20+
kotest-multiplatform = { id = "io.kotest.multiplatform", version.ref = "kotest" }

gradle/wrapper/gradle-wrapper.jar

-17.7 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
44
networkTimeout=10000
5+
validateDistributionUrl=true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

gradlew

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
# Darwin, MinGW, and NonStop.
5656
#
5757
# (3) This script is generated from the Groovy template
58-
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
58+
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
5959
# within the Gradle project.
6060
#
6161
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -83,10 +83,8 @@ done
8383
# This is normally unused
8484
# shellcheck disable=SC2034
8585
APP_BASE_NAME=${0##*/}
86-
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
87-
88-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
86+
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
87+
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
9088

9189
# Use the maximum available, or set MAX_FD != -1 to use that value.
9290
MAX_FD=maximum
@@ -133,26 +131,29 @@ location of your Java installation."
133131
fi
134132
else
135133
JAVACMD=java
136-
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
134+
if ! command -v java >/dev/null 2>&1
135+
then
136+
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137137
138138
Please set the JAVA_HOME variable in your environment to match the
139139
location of your Java installation."
140+
fi
140141
fi
141142

142143
# Increase the maximum file descriptors if we can.
143144
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144145
case $MAX_FD in #(
145146
max*)
146147
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147-
# shellcheck disable=SC3045
148+
# shellcheck disable=SC2039,SC3045
148149
MAX_FD=$( ulimit -H -n ) ||
149150
warn "Could not query maximum file descriptor limit"
150151
esac
151152
case $MAX_FD in #(
152153
'' | soft) :;; #(
153154
*)
154155
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155-
# shellcheck disable=SC3045
156+
# shellcheck disable=SC2039,SC3045
156157
ulimit -n "$MAX_FD" ||
157158
warn "Could not set maximum file descriptor limit to $MAX_FD"
158159
esac
@@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then
197198
done
198199
fi
199200

200-
# Collect all arguments for the java command;
201-
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
202-
# shell script including quotes and variable substitutions, so put them in
203-
# double quotes to make sure that they get re-expanded; and
204-
# * put everything else in single quotes, so that it's not re-expanded.
201+
202+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
203+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
204+
205+
# Collect all arguments for the java command:
206+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
207+
# and any embedded shellness will be escaped.
208+
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
209+
# treated as '${Hostname}' itself on the command line.
205210

206211
set -- \
207212
"-Dorg.gradle.appname=$APP_BASE_NAME" \

gradlew.bat

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
4343
%JAVA_EXE% -version >NUL 2>&1
4444
if %ERRORLEVEL% equ 0 goto execute
4545

46-
echo.
47-
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
48-
echo.
49-
echo Please set the JAVA_HOME variable in your environment to match the
50-
echo location of your Java installation.
46+
echo. 1>&2
47+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
48+
echo. 1>&2
49+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
50+
echo location of your Java installation. 1>&2
5151

5252
goto fail
5353

@@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
5757

5858
if exist "%JAVA_EXE%" goto execute
5959

60-
echo.
61-
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
62-
echo.
63-
echo Please set the JAVA_HOME variable in your environment to match the
64-
echo location of your Java installation.
60+
echo. 1>&2
61+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
62+
echo. 1>&2
63+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
64+
echo location of your Java installation. 1>&2
6565

6666
goto fail
6767

0 commit comments

Comments
 (0)