diff --git a/build.gradle.kts b/build.gradle.kts index 3f95c1ef..a15288b8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ description = "Experiments with Java" allprojects { group = "io.github.mfvanek" - version = "0.4.0" + version = "0.4.1" repositories { mavenLocal() @@ -19,7 +19,7 @@ allprojects { tasks { wrapper { - gradleVersion = "8.13" + gradleVersion = "8.14.2" } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index ee4310e5..7e997263 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -7,12 +7,12 @@ repositories { } dependencies { - implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.1.0") + implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.2.0") implementation("io.freefair.gradle:lombok-plugin:8.13.1") implementation("com.bmuschko:gradle-docker-plugin:9.4.0") implementation("gradle.plugin.com.google.gradle:osdetector-gradle-plugin:1.7.3") implementation("de.thetaphi:forbiddenapis:3.9") - implementation("com.github.spotbugs.snom:spotbugs-gradle-plugin:6.1.7") + implementation("com.github.spotbugs.snom:spotbugs-gradle-plugin:6.1.13") implementation("org.gradle:test-retry-gradle-plugin:1.6.2") val kotlinVersion = "2.0.21" implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") diff --git a/buildSrc/src/main/kotlin/sb-ot-demo.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/sb-ot-demo.java-conventions.gradle.kts index 6fc75472..43dd4157 100644 --- a/buildSrc/src/main/kotlin/sb-ot-demo.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/sb-ot-demo.java-conventions.gradle.kts @@ -37,16 +37,16 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") testRuntimeOnly("org.junit.platform:junit-platform-launcher") - errorprone("com.google.errorprone:error_prone_core:2.36.0") - errorprone("jp.skypencil.errorprone.slf4j:errorprone-slf4j:0.1.28") + errorprone("com.google.errorprone:error_prone_core:2.38.0") + errorprone("jp.skypencil.errorprone.slf4j:errorprone-slf4j:0.1.29") spotbugsPlugins("jp.skypencil.findbugs.slf4j:bug-pattern:1.5.0") spotbugsPlugins("com.h3xstream.findsecbugs:findsecbugs-plugin:1.13.0") - spotbugsPlugins("com.mebigfatguy.sb-contrib:sb-contrib:7.6.9") + spotbugsPlugins("com.mebigfatguy.sb-contrib:sb-contrib:7.6.10") } checkstyle { - toolVersion = "10.21.1" + toolVersion = "10.24.0" configFile = file("${rootDir}/config/checkstyle/checkstyle.xml") isIgnoreFailures = false maxWarnings = 0 @@ -54,13 +54,14 @@ checkstyle { } pmd { - toolVersion = "7.9.0" + toolVersion = "7.14.0" isConsoleOutput = true ruleSetFiles = files("${rootDir}/config/pmd/pmd.xml") ruleSets = listOf() } spotbugs { + toolVersion.set("4.9.3") showProgress.set(true) effort.set(Effort.MAX) reportLevel.set(Confidence.LOW) diff --git a/common-internal-bom/build.gradle.kts b/common-internal-bom/build.gradle.kts index 662da04e..421e02b0 100644 --- a/common-internal-bom/build.gradle.kts +++ b/common-internal-bom/build.gradle.kts @@ -18,8 +18,8 @@ javaPlatform { dependencies { api(platform("org.assertj:assertj-bom:3.27.3")) api(platform("org.testcontainers:testcontainers-bom:1.21.1")) - api(platform("org.junit:junit-bom:5.13.0")) - api(platform("io.github.mfvanek:pg-index-health-bom:0.14.6")) + api(platform("org.junit:junit-bom:5.13.1")) + api(platform("io.github.mfvanek:pg-index-health-bom:0.15.0")) constraints { api("org.liquibase:liquibase-core:4.32.0") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bec338e9..ef6f5833 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] detekt = "1.23.8" -spring-boot-v3 = "3.4.4" +spring-boot-v3 = "3.4.6" [libraries] detekt = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detekt" } detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" } detekt-libraries = { group = "io.gitlab.arturbosch.detekt", name = "detekt-rules-libraries", version.ref = "detekt" } spring-boot-v3-dependencies = { group = "org.springframework.boot", name = "spring-boot-dependencies", version.ref = "spring-boot-v3" } -springdoc-openapi = "org.springdoc:springdoc-openapi:2.8.6" +springdoc-openapi = "org.springdoc:springdoc-openapi-bom:2.8.8" spring-cloud = "org.springframework.cloud:spring-cloud-dependencies:2024.0.1" datasource-micrometer = "net.ttddyy.observation:datasource-micrometer-spring-boot:1.1.1" -logstash = "net.logstash.logback:logstash-logback-encoder:8.0" +logstash = "net.logstash.logback:logstash-logback-encoder:8.1" [plugins] spring-boot-v3 = { id = "org.springframework.boot", version.ref = "spring-boot-v3" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 9bbc975c..1b33c55b 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 37f853b1..ff23a68d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index faf93008..23d15a93 100755 --- a/gradlew +++ b/gradlew @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a218..db3a6ac2 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/IndexesMaintenanceTest.java b/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/IndexesMaintenanceTest.java index b84be624..dff6a0c2 100644 --- a/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/IndexesMaintenanceTest.java +++ b/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/IndexesMaintenanceTest.java @@ -42,7 +42,7 @@ void databaseStructureCheckForPublicSchema() { checks.stream() .filter(DatabaseCheckOnHost::isStatic) .forEach(check -> - assertThat(check.check(PgContext.ofPublic(), SkipLiquibaseTablesPredicate.ofPublic())) + assertThat(check.check(PgContext.ofDefault(), SkipLiquibaseTablesPredicate.ofDefault())) .as(check.getDiagnostic().name()) .isEmpty()); } diff --git a/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/controllers/TimeControllerTest.java b/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/controllers/TimeControllerTest.java index ba79d196..4ac503de 100644 --- a/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/controllers/TimeControllerTest.java +++ b/spring-boot-2-demo-app/src/test/java/io/github/mfvanek/spring/boot2/test/controllers/TimeControllerTest.java @@ -74,7 +74,7 @@ void cleanUpDatabase() { @Order(1) @Test - void spanShouldBeReportedInLogs(@Nonnull final CapturedOutput output) throws Exception { + void spanShouldBeReportedInLogs(@Nonnull final CapturedOutput output) throws InterruptedException { stubOkResponse(ParsedDateTime.from(LocalDateTime.now(clock).minusDays(1))); final EntityExchangeResult result = webTestClient.get() diff --git a/spring-boot-3-demo-app-kotlin/build.gradle.kts b/spring-boot-3-demo-app-kotlin/build.gradle.kts index 43ba769b..a6344f52 100644 --- a/spring-boot-3-demo-app-kotlin/build.gradle.kts +++ b/spring-boot-3-demo-app-kotlin/build.gradle.kts @@ -73,7 +73,7 @@ tasks { limit { counter = "INSTRUCTION" value = "COVEREDRATIO" - minimum = "0.92".toBigDecimal() + minimum = "0.90".toBigDecimal() } } rule { diff --git a/spring-boot-3-demo-app-kotlin/src/test/kotlin/io/github/mfvanek/spring/boot3/kotlin/test/IndexesMaintenanceTest.kt b/spring-boot-3-demo-app-kotlin/src/test/kotlin/io/github/mfvanek/spring/boot3/kotlin/test/IndexesMaintenanceTest.kt index e188484e..d413cd0a 100644 --- a/spring-boot-3-demo-app-kotlin/src/test/kotlin/io/github/mfvanek/spring/boot3/kotlin/test/IndexesMaintenanceTest.kt +++ b/spring-boot-3-demo-app-kotlin/src/test/kotlin/io/github/mfvanek/spring/boot3/kotlin/test/IndexesMaintenanceTest.kt @@ -29,9 +29,9 @@ class IndexesMaintenanceTest : TestBase() { .hasSameSizeAs(Diagnostic.entries.toTypedArray()) checks - .filter { obj: DatabaseCheckOnHost? -> obj!!.isStatic } - .forEach { check: DatabaseCheckOnHost? -> - assertThat(check!!.check(PgContext.ofPublic(), SkipLiquibaseTablesPredicate.ofPublic())) + .filter { obj: DatabaseCheckOnHost? -> obj!!.isStatic } + .forEach { check: DatabaseCheckOnHost? -> + assertThat(check!!.check(PgContext.ofDefault(), SkipLiquibaseTablesPredicate.ofDefault())) .`as`(check.diagnostic.name) .isEmpty() } diff --git a/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/IndexesMaintenanceTest.java b/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/IndexesMaintenanceTest.java index f25be366..27136766 100644 --- a/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/IndexesMaintenanceTest.java +++ b/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/IndexesMaintenanceTest.java @@ -42,7 +42,7 @@ void databaseStructureCheckForPublicSchema() { checks.stream() .filter(DatabaseCheckOnHost::isStatic) .forEach(check -> - assertThat(check.check(PgContext.ofPublic(), SkipLiquibaseTablesPredicate.ofPublic())) + assertThat(check.check(PgContext.ofDefault(), SkipLiquibaseTablesPredicate.ofDefault())) .as(check.getDiagnostic().name()) .isEmpty()); } diff --git a/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/controllers/TimeControllerTest.java b/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/controllers/TimeControllerTest.java index afe877a6..8336cd2d 100644 --- a/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/controllers/TimeControllerTest.java +++ b/spring-boot-3-demo-app/src/test/java/io/github/mfvanek/spring/boot3/test/controllers/TimeControllerTest.java @@ -74,7 +74,7 @@ void cleanUpDatabase() { @Order(1) @Test - void spanShouldBeReportedInLogs(@Nonnull final CapturedOutput output) throws Exception { + void spanShouldBeReportedInLogs(@Nonnull final CapturedOutput output) throws InterruptedException { stubOkResponse(ParsedDateTime.from(LocalDateTime.now(clock).minusDays(1))); final EntityExchangeResult result = webTestClient.get()