diff --git a/build.gradle b/build.gradle index 57ab508..c7cba4b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,14 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { id "jacoco" id "java" - id "org.jetbrains.kotlin.jvm" version "1.6.0" - id "org.jetbrains.kotlin.kapt" version "1.6.0" + id "org.jetbrains.kotlin.jvm" version "1.8.0" + id "org.jetbrains.kotlin.kapt" version "1.8.0" id "application" id "com.github.johnrengelman.shadow" version "7.0.0" id "com.diffplug.spotless" version "5.8.2" - id "net.afanasev.sekret" version "0.1.1" + id "net.afanasev.sekret" version "0.1.1-RC3" id "com.palantir.git-version" version "0.12.3" } @@ -28,18 +30,18 @@ configurations { dependencies { implementation "org.jetbrains.kotlin:kotlin-reflect" - compileOnly group: "net.afanasev", name: "sekret-annotation", version: "0.1.1" + compileOnly group: "net.afanasev", name: "sekret-annotation", version: "0.1.1-RC3" implementation group: "commons-io", name: "commons-io", version: "2.11.0" - implementation group: "org.apache.commons", name: "commons-compress", version: "1.21" - implementation group: "ch.qos.logback", name: "logback-classic", version: "1.3.0-alpha4" + implementation group: "org.apache.commons", name: "commons-compress", version: "1.22" + implementation group: "ch.qos.logback", name: "logback-classic", version: "1.3.6" implementation group: "io.micrometer", name: "micrometer-registry-prometheus", version: "1.8.3" - implementation group: "com.maxmind.geoip2", name: "geoip2", version: "2.15.0" + implementation group: "com.maxmind.geoip2", name: "geoip2", version: "2.16.1" - implementation platform(group: "org.http4k", name: "http4k-bom", version: "4.19.3.0") - implementation platform(group: "com.fasterxml.jackson", name: "jackson-bom", version: "2.13.1") - implementation platform(group: "io.netty", name: "netty-bom", version: "4.1.74.Final") + implementation platform(group: "org.http4k", name: "http4k-bom", version: "4.41.3.0") + implementation platform(group: "com.fasterxml.jackson", name: "jackson-bom", version: "2.14.2") + implementation platform(group: "io.netty", name: "netty-bom", version: "4.1.91.Final") implementation group: "org.http4k", name: "http4k-core" implementation group: "org.http4k", name: "http4k-resilience4j" @@ -52,12 +54,12 @@ dependencies { implementation group: "org.http4k", name: "http4k-server-netty" implementation group: "io.netty", name: "netty-codec-haproxy" implementation group: "io.netty", name: "netty-transport-native-epoll", classifier: "linux-x86_64" - implementation group: "io.netty.incubator", name: "netty-incubator-transport-native-io_uring", version: "0.0.11.Final", classifier: "linux-x86_64" + implementation group: "io.netty.incubator", name: "netty-incubator-transport-native-io_uring", version: "0.0.19.Final", classifier: "linux-x86_64" testImplementation group: "org.http4k", name: "http4k-testing-kotest" - runtimeOnly group: "io.netty", name: "netty-tcnative-boringssl-static", version: "2.0.48.Final" + runtimeOnly group: "io.netty", name: "netty-tcnative-boringssl-static", version: "2.0.59.Final" implementation group: "com.zaxxer", name: "HikariCP", version: "4.0.3" - implementation group: "org.xerial", name: "sqlite-jdbc", version: "3.34.0" + implementation group: "org.xerial", name: "sqlite-jdbc", version: "3.41.2.1" implementation "org.ktorm:ktorm-core:$ktorm_version" implementation "org.ktorm:ktorm-jackson:$ktorm_version" @@ -66,10 +68,10 @@ dependencies { testImplementation "io.kotest:kotest-runner-junit5:$kotest_version" testImplementation "io.kotest:kotest-assertions-core:$kotest_version" - testImplementation "io.mockk:mockk:1.12.3" + testImplementation "io.mockk:mockk:1.13.4" } -tasks.withType(Test) { +tasks.withType(Test).configureEach { useJUnitPlatform() javaLauncher = javaToolchains.launcherFor { languageVersion = JavaLanguageVersion.of(8) @@ -91,14 +93,14 @@ kapt { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + toolchain { + languageVersion.set(JavaLanguageVersion.of(8)) + } } -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { - kotlinOptions { +tasks.withType(KotlinCompile).configureEach { + compilerOptions { freeCompilerArgs = ["-Xjsr305=strict"] - jvmTarget = "1.8" } } diff --git a/gradle.properties b/gradle.properties index 643e533..df19bc2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -kotest_version=5.1.0 -ktorm_version=3.4.1 -picocli_version=4.6.3 \ No newline at end of file +kotest_version=5.5.5 +ktorm_version=3.6.0 +picocli_version=4.7.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c05..7454180 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 00e33ed..e1bef7e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..744e882 100755 --- a/gradlew +++ b/gradlew @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index 5093609..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/test/kotlin/mdnet/cache/ImageStorageTest.kt b/src/test/kotlin/mdnet/cache/ImageStorageTest.kt index 80bf8d8..465c2fb 100644 --- a/src/test/kotlin/mdnet/cache/ImageStorageTest.kt +++ b/src/test/kotlin/mdnet/cache/ImageStorageTest.kt @@ -32,7 +32,7 @@ import io.kotest.matchers.nulls.shouldNotBeNull import io.kotest.matchers.shouldBe import org.apache.commons.io.IOUtils import org.ktorm.database.Database -import kotlin.time.Duration +import kotlin.time.Duration.Companion.minutes import kotlin.time.ExperimentalTime class ImageStorageTest : FreeSpec() { @@ -177,7 +177,7 @@ class ImageStorageSlowTest : FreeSpec() { writer.stream.write(ByteArray(4096)) writer.commit(4096).shouldBeTrue() - eventually(Duration.minutes(5)) { + eventually(5.minutes) { imageStorage.size.shouldBeGreaterThan(0) } } @@ -193,7 +193,7 @@ class ImageStorageSlowTest : FreeSpec() { writer.commit(8192).shouldBeTrue() imageStorage.calculateSize() - eventually(Duration.minutes(5)) { + eventually(5.minutes) { imageStorage.size.shouldBeZero() } }