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 @@ [![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](https://opensource.org/licenses/BSD-3-Clause) -[![Kotlin](https://img.shields.io/badge/kotlin-1.9.24-7f52ff)](https://kotlinlang.org/) +[![Kotlin](https://img.shields.io/badge/kotlin-2.0.20-7f52ff)](https://kotlinlang.org/) [![bld](https://img.shields.io/badge/2.1.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://img.shields.io/github/release/ethauvin/akismet-kotlin.svg)](https://github.com/ethauvin/akismet-kotlin/releases/latest) [![Nexus Snapshot](https://img.shields.io/nexus/s/net.thauvin.erik/akismet-kotlin?label=snapshot&server=https%3A%2F%2Foss.sonatype.org%2F)](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)