diff --git a/.editorconfig b/.editorconfig index 7183a1a..e1fb668 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,4 +13,6 @@ insert_final_newline = true indent_size = 4 insert_final_newline = true max_line_length = 120 -disabled_rules = no-wildcard-imports,import-ordering +ktlint_standard_no-wildcard-imports = disabled +ktlint_standard_import-ordering = disabled +ktlint_standard_multiline-if-else = disabled diff --git a/Dockerfile b/Dockerfile index d3e7b6f..e621517 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM openjdk:15-alpine as jdkbuilder +FROM eclipse-temurin:19-alpine as jdkbuilder RUN apk add --no-cache binutils -ENV MODULES java.base,java.compiler,java.desktop,java.instrument,java.logging,java.management,java.naming,java.scripting,java.security.jgss,java.sql,java.sql.rowset,java.transaction.xa,java.xml,jdk.net +ENV MODULES java.base,java.compiler,java.desktop,java.instrument,java.logging,java.management,java.naming,java.scripting,java.security.jgss,java.sql,java.sql.rowset,java.transaction.xa,java.xml,jdk.net,jdk.zipfs RUN jlink --output /myjdk --module-path $JAVA_HOME/jmods --add-modules $MODULES --no-header-files --no-man-pages --strip-debug --compress=2 diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 1108740..2bb0367 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -7,9 +7,9 @@ repositories { } dependencies { - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0") - implementation("org.jetbrains.kotlin:kotlin-serialization:1.5.0") - implementation("gradle.plugin.com.github.jengelman.gradle.plugins:shadow:7.0.0") - implementation("org.jlleitschuh.gradle:ktlint-gradle:10.0.0") - implementation("com.github.ben-manes:gradle-versions-plugin:0.28.0") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21") + implementation("org.jetbrains.kotlin:kotlin-serialization:1.8.21") + implementation("com.github.johnrengelman:shadow:8.1.1") + implementation("org.jlleitschuh.gradle:ktlint-gradle:11.3.2") + implementation("com.github.ben-manes:gradle-versions-plugin:0.46.0") } diff --git a/buildSrc/src/main/kotlin/be/simplenotes/PostcssPlugin.kt b/buildSrc/src/main/kotlin/be/simplenotes/PostcssPlugin.kt index bf24797..4331dcb 100644 --- a/buildSrc/src/main/kotlin/be/simplenotes/PostcssPlugin.kt +++ b/buildSrc/src/main/kotlin/be/simplenotes/PostcssPlugin.kt @@ -2,8 +2,10 @@ package be.simplenotes import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.api.plugins.JavaPluginConvention +import org.gradle.api.plugins.JavaPluginExtension +import org.gradle.api.tasks.SourceSetContainer import org.gradle.kotlin.dsl.get +import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.register import java.io.File @@ -17,7 +19,7 @@ class PostcssPlugin : Plugin { getByName("processResources").dependsOn("postcss") } - val sourceSets = project.convention.getPlugin(JavaPluginConvention::class.java).sourceSets + val sourceSets = project.extensions.getByType() val root = File("${project.buildDir}/generated-resources/css") sourceSets["main"].resources.srcDir(root) } diff --git a/buildSrc/src/main/kotlin/be/simplenotes/java-convention.gradle.kts b/buildSrc/src/main/kotlin/be/simplenotes/java-convention.gradle.kts index 14d4d4c..4e2d884 100644 --- a/buildSrc/src/main/kotlin/be/simplenotes/java-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/be/simplenotes/java-convention.gradle.kts @@ -12,8 +12,10 @@ group = "be.simplenotes" version = "1.0-SNAPSHOT" java { - sourceCompatibility = JavaVersion.VERSION_15 - targetCompatibility = JavaVersion.VERSION_15 + toolchain { + languageVersion.set(JavaLanguageVersion.of(19)) + vendor.set(JvmVendorSpec.ORACLE) + } } tasks.withType { diff --git a/buildSrc/src/main/kotlin/be/simplenotes/kotlin-convention.gradle.kts b/buildSrc/src/main/kotlin/be/simplenotes/kotlin-convention.gradle.kts index 642c368..9c8f073 100644 --- a/buildSrc/src/main/kotlin/be/simplenotes/kotlin-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/be/simplenotes/kotlin-convention.gradle.kts @@ -1,5 +1,7 @@ package be.simplenotes +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -13,14 +15,14 @@ dependencies { } tasks.withType { - kotlinOptions { - jvmTarget = "15" - javaParameters = true - freeCompilerArgs = listOf( + compilerOptions { + jvmTarget.set(JvmTarget.JVM_19) + javaParameters.set(true) + freeCompilerArgs.addAll( "-Xinline-classes", "-Xno-param-assertions", "-Xno-call-assertions", - "-Xno-receiver-assertions" + "-Xno-receiver-assertions", ) } } diff --git a/gradle.properties b/gradle.properties index ded80c3..1a0cb72 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.caching=true org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c..c1962a7 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 f371643..37aef8d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index ed73105..1fd652f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,5 +8,3 @@ include(":types") include(":persistence") include(":css") include(":junit-config") - -enableFeaturePreview("VERSION_CATALOGS")