diff --git a/.circleci/config.yml b/.circleci/config.yml
index 17b50f1..8dabc3f 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -21,7 +21,7 @@ commands:
- sdkman/setup-sdkman
- sdkman/sdkman-install:
candidate: kotlin
- version: 2.0.0
+ version: 2.0.20
- run:
name: Download dependencies
command: ./bld download
diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index 3183ee9..9ef2fea 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -2,19 +2,21 @@ name: bld-ci
on: [push, pull_request, workflow_dispatch]
+env:
+ AKISMET_API_KEY: ${{ secrets.AKISMET_API_KEY }}
+ AKISMET_BLOG: ${{ secrets.AKISMET_BLOG }}
+ COVERAGE_JDK: "21"
+ COVERAGE_KOTLIN: "2.0.0"
+ KOTLIN_HOME: /usr/share/kotlinc
+
jobs:
build-bld-project:
runs-on: ubuntu-latest
- env:
- COVERAGE_JDK: "21"
- COVERAGE_KOTLIN: "2.0.0"
- KOTLIN_HOME: /usr/share/kotlinc
-
strategy:
matrix:
java-version: [17, 21, 22]
- kotlin-version: [1.9.24, 2.0.0]
+ kotlin-version: [1.9.24, 2.0.20]
steps:
- name: Checkout source repository
@@ -35,12 +37,10 @@ jobs:
run: ./bld compile
- name: Run tests
- env:
- AKISMET_BLOG: ${{ secrets.AKISMET_BLOG }}
- AKISMET_API_KEY: ${{ secrets.AKISMET_API_KEY }}
run: ./bld jacoco
- name: Remove pom.xml
+ if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
run: rm -rf pom.xml
- name: SonarCloud Scan
diff --git a/README.md b/README.md
index 9928bce..c98e3e6 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
[](https://opensource.org/licenses/BSD-3-Clause)
-[](https://kotlinlang.org/)
+[](https://kotlinlang.org/)
[](https://rife2.com/bld)
[](https://github.com/ethauvin/akismet-kotlin/releases/latest)
[](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/akismet-kotlin/)
diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml
index 7bcb546..a418973 100644
--- a/config/detekt/baseline.xml
+++ b/config/detekt/baseline.xml
@@ -5,7 +5,6 @@
CyclomaticComplexMethod:Akismet.kt$Akismet$private fun buildFormBody(comment: AkismetComment): FormBody
CyclomaticComplexMethod:AkismetComment.kt$AkismetComment$@Suppress("DuplicatedCode") override fun equals(other: Any?): Boolean
LongParameterList:AkismetServlet.kt$AkismetServlet$( id: String, name: String?, email: String?, date: String?, comment: String?, json: String, isSpam: Boolean )
- LongParameterList:CommentConfig.kt$CommentConfig$( var userIp: String, var userAgent: String, var referrer: String = "", var permalink: String = "", var type: CommentType = CommentType.NONE, var author: String = "", var authorEmail: String = "", var authorUrl: String = "", var content: String = "", var dateGmt: String = "", var postModifiedGmt: String = "", var blogLang: String = "", var blogCharset: String = "", var userRole: String = "", var isTest: Boolean = false, var recheckReason: String = "", var serverEnv: Map<String, String> = emptyMap() )
MagicNumber:Akismet.kt$Akismet$12
MagicNumber:Akismet.kt$Akismet$8
NestedBlockDepth:Akismet.kt$Akismet$@JvmOverloads fun executeMethod(apiUrl: HttpUrl, formBody: FormBody, trueOnError: Boolean = false): Boolean
diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts
index b31c97b..5a15155 100644
--- a/examples/gradle/build.gradle.kts
+++ b/examples/gradle/build.gradle.kts
@@ -1,7 +1,7 @@
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.51.0"
- kotlin("jvm") version "2.0.0"
+ kotlin("jvm") version "2.0.20"
}
defaultTasks(ApplicationPlugin.TASK_RUN_NAME)
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/gradle/wrapper/gradle-wrapper.jar
index 2c35211..a4b76b9 100644
Binary files a/examples/gradle/gradle/wrapper/gradle-wrapper.jar and b/examples/gradle/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
index 09523c0..0aaefbc 100644
--- a/examples/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/src/bld/java/net/thauvin/erik/AkismetBuild.java b/src/bld/java/net/thauvin/erik/AkismetBuild.java
index dd8922b..1dc0736 100644
--- a/src/bld/java/net/thauvin/erik/AkismetBuild.java
+++ b/src/bld/java/net/thauvin/erik/AkismetBuild.java
@@ -71,14 +71,14 @@ public class AkismetBuild extends Project {
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
var okHttp = version(4, 12, 0);
- final var kotlin = version(2, 0, 0);
+ final var kotlin = version(2, 0, 20);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk7", kotlin))
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", kotlin))
.include(dependency("com.squareup.okhttp3", "okhttp", okHttp))
.include(dependency("com.squareup.okhttp3", "logging-interceptor", okHttp))
- .include(dependency("org.jetbrains.kotlinx", "kotlinx-serialization-json", version(1, 7, 1)));
+ .include(dependency("org.jetbrains.kotlinx", "kotlinx-serialization-json", version(1, 7, 3)));
scope(provided)
.include(dependency("jakarta.servlet", "jakarta.servlet-api", version(6, 1, 0)));
scope(test)