diff --git a/.circleci/config.yml b/.circleci/config.yml index 8dabc3f..c781fdc 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.20 + version: 2.1.10 - run: name: Download dependencies command: ./bld download @@ -46,11 +46,11 @@ jobs: steps: - build_and_test - bld_jdk20: + bld_jdk21: <<: *defaults docker: - - image: cimg/openjdk:20.0 + - image: cimg/openjdk:21.0 steps: - build_and_test @@ -59,4 +59,4 @@ workflows: bld: jobs: - bld_jdk17 - - bld_jdk20 + - bld_jdk21 diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 0419392..068e6c9 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,21 +1,21 @@ name: bld-ci -on: [push, pull_request, workflow_dispatch] +on: [ push, pull_request, workflow_dispatch ] env: COVERAGE_JDK: "21" - COVERAGE_KOTLIN: "2.0.0" - KOTLIN_HOME: /usr/share/kotlinc + COVERAGE_KOTLIN: "2.1.20" PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }} jobs: build-bld-project: - runs-on: ubuntu-latest - strategy: matrix: - java-version: [17, 21, 23] - kotlin-version: [1.9.25, 2.1.10] + java-version: [ 17, 21, 24 ] + kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ] + os: [ ubuntu-latest, windows-latest, macos-latest ] + + runs-on: ${{ matrix.os }} steps: - name: Checkout source repository @@ -29,6 +29,28 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} + - name: Download dependencies [bld example] + working-directory: examples/bld + run: ./bld download + + - name: Compile and run [bld examples] + working-directory: examples/bld + run: | + ./bld compile run + ./bld run-java + + - name: Run example [gradle java example] + working-directory: examples/gradle/java + if: matrix.java-version != '24' + run: | + ./gradlew run + + - name: Run example [gradle kotlin example] + working-directory: examples/gradle/kotlin + if: matrix.java-version != '24' + run: | + ./gradlew run + - name: Download dependencies run: ./bld download @@ -40,11 +62,13 @@ jobs: - name: Remove pom.xml if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN + && matrix.os == 'ubuntu-latest' run: rm -rf pom.xml - name: SonarCloud Scan uses: sonarsource/sonarcloud-github-action@master if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN + && matrix.os == 'ubuntu-latest' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 1e01b48..94f28ea 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/README.md b/README.md index f892b2d..cdf7df5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # [Pinboard](https://pinboard.in) Poster for Kotlin, Java and Android [![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-2.1.10-7f52ff)](https://kotlinlang.org/) +[![Kotlin](https://img.shields.io/badge/kotlin-2.1.20-7f52ff)](https://kotlinlang.org/) [![bld](https://img.shields.io/badge/2.2.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://img.shields.io/github/release/ethauvin/pinboard-poster.svg)](https://github.com/ethauvin/pinboard-poster/releases/latest) [![Maven Central](https://img.shields.io/maven-central/v/net.thauvin.erik/pinboard-poster.svg?color=blue)](https://central.sonatype.com/artifact/net.thauvin.erik/pinboard-poster) diff --git a/examples/bld/.idea/bld.xml b/examples/bld/.idea/bld.xml new file mode 100644 index 0000000..6600cee --- /dev/null +++ b/examples/bld/.idea/bld.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/examples/bld/lib/bld/bld-wrapper.properties b/examples/bld/lib/bld/bld-wrapper.properties index 1ffe3ff..1f1009d 100644 --- a/examples/bld/lib/bld/bld-wrapper.properties +++ b/examples/bld/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.4 +bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.1.0-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 diff --git a/examples/bld/src/bld/java/net/thauvin/erik/pinboard/samples/ExampleBuild.java b/examples/bld/src/bld/java/net/thauvin/erik/pinboard/samples/ExampleBuild.java index e706cb7..6fc8142 100644 --- a/examples/bld/src/bld/java/net/thauvin/erik/pinboard/samples/ExampleBuild.java +++ b/examples/bld/src/bld/java/net/thauvin/erik/pinboard/samples/ExampleBuild.java @@ -3,6 +3,7 @@ package net.thauvin.erik.pinboard.samples; import rife.bld.BaseProject; import rife.bld.BuildCommand; import rife.bld.extension.CompileKotlinOperation; +import rife.bld.extension.kotlin.CompileOptions; import rife.bld.operations.RunOperation; import java.util.List; @@ -25,7 +26,7 @@ public class ExampleBuild extends BaseProject { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY); scope(compile) - .include(dependency("net.thauvin.erik", "pinboard-poster", version(1, 2, 0))); + .include(dependency("net.thauvin.erik", "pinboard-poster", version(1, 2, 1, "SNAPSHOT"))); } public static void main(String[] args) { @@ -36,6 +37,7 @@ public class ExampleBuild extends BaseProject { public void compile() throws Exception { new CompileKotlinOperation() .fromProject(this) + .compileOptions(new CompileOptions().verbose(true)) .execute(); // Also compile the Java source code diff --git a/examples/gradle/java/build.gradle b/examples/gradle/java/build.gradle index 4d15fa4..e0eceee 100644 --- a/examples/gradle/java/build.gradle +++ b/examples/gradle/java/build.gradle @@ -18,8 +18,9 @@ java { repositories { mavenLocal() mavenCentral() + maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") } } dependencies { - implementation 'net.thauvin.erik:pinboard-poster:1.2.0' + implementation 'net.thauvin.erik:pinboard-poster:1.2.1-SNAPSHOT' } diff --git a/examples/gradle/kotlin/.idea/kotlin.iml b/examples/gradle/kotlin/.idea/kotlin.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/examples/gradle/kotlin/.idea/kotlin.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/gradle/kotlin/.idea/modules.xml b/examples/gradle/kotlin/.idea/modules.xml new file mode 100644 index 0000000..a168080 --- /dev/null +++ b/examples/gradle/kotlin/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/examples/gradle/kotlin/build.gradle.kts b/examples/gradle/kotlin/build.gradle.kts index 74e5812..f41881f 100644 --- a/examples/gradle/kotlin/build.gradle.kts +++ b/examples/gradle/kotlin/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("application") id("com.github.ben-manes.versions") version "0.51.0" - kotlin("jvm") version "2.1.10" + kotlin("jvm") version "2.1.20" } defaultTasks(ApplicationPlugin.TASK_RUN_NAME) @@ -11,10 +11,11 @@ defaultTasks(ApplicationPlugin.TASK_RUN_NAME) repositories { mavenLocal() mavenCentral() + maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") } } dependencies { - implementation("net.thauvin.erik:pinboard-poster:1.2.0") + implementation("net.thauvin.erik:pinboard-poster:1.2.1-SNAPSHOT") } java { diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 154abb0..fc9463a 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,10 +1,10 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.9 -bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.3 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.9 -bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.4 +bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.10-SNAPSHOT +bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.4-SNAPSHOT +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.10-SNAPSHOT +bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.1.0-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 diff --git a/pom.xml b/pom.xml index 4850a68..64767c7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 net.thauvin.erik pinboard-poster - 1.2.0 + 1.2.1-SNAPSHOT pinboard-poster A small library for posting to Pinboard https://github.com/ethauvin/pinboard-poster @@ -18,19 +18,19 @@ org.jetbrains.kotlin kotlin-stdlib - 2.1.10 + 2.1.20 compile org.jetbrains.kotlin kotlin-stdlib-common - 2.1.10 + 2.1.20 compile org.jetbrains.kotlin kotlin-stdlib-jdk8 - 2.1.10 + 2.1.20 compile diff --git a/src/bld/java/net/thauvin/erik/pinboard/PinboardPosterBuild.java b/src/bld/java/net/thauvin/erik/pinboard/PinboardPosterBuild.java index f285b8a..d4689ac 100644 --- a/src/bld/java/net/thauvin/erik/pinboard/PinboardPosterBuild.java +++ b/src/bld/java/net/thauvin/erik/pinboard/PinboardPosterBuild.java @@ -39,6 +39,7 @@ import rife.bld.extension.DokkaOperation; import rife.bld.extension.JacocoReportOperation; import rife.bld.extension.dokka.LoggingLevel; import rife.bld.extension.dokka.OutputFormat; +import rife.bld.extension.kotlin.CompileOptions; import rife.bld.operations.exceptions.ExitStatusException; import rife.bld.publish.PomBuilder; import rife.bld.publish.PublishDeveloper; @@ -49,6 +50,9 @@ import rife.tools.exceptions.FileUtilsErrorException; import java.io.File; import java.io.IOException; import java.util.List; +import java.util.logging.ConsoleHandler; +import java.util.logging.Level; +import java.util.logging.Logger; import static rife.bld.dependencies.Repository.*; import static rife.bld.dependencies.Scope.compile; @@ -60,7 +64,7 @@ public class PinboardPosterBuild extends Project { public PinboardPosterBuild() { pkg = "net.thauvin.erik"; name = "pinboard-poster"; - version = version(1, 2, 0); + version = version(1, 2, 1, "SNAPSHOT"); mainClass = pkg + ".PinboardPoster"; @@ -70,7 +74,7 @@ public class PinboardPosterBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL); final var okHttp = version(4, 12, 0); - final var kotlin = version(2, 1, 10); + final var kotlin = version(2, 1, 20); scope(compile) // Kotlin .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin)) @@ -82,7 +86,8 @@ public class PinboardPosterBuild extends Project { scope(test) .include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin)) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 1))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1))); + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1))) + .include(dependency("org.junit.platform", "junit-platform-launcher", version(1, 12, 1))); publishOperation() .repository(version.isSnapshot() ? repository(SONATYPE_SNAPSHOTS_LEGACY.location()) @@ -117,6 +122,16 @@ public class PinboardPosterBuild extends Project { } public static void main(final String[] args) { + // Enable detailed logging for the extensions + var level = Level.ALL; + var logger = Logger.getLogger("rife.bld.extension"); + var consoleHandler = new ConsoleHandler(); + + consoleHandler.setLevel(level); + logger.addHandler(consoleHandler); + logger.setLevel(level); + logger.setUseParentHandlers(false); + new PinboardPosterBuild().start(args); } @@ -125,6 +140,7 @@ public class PinboardPosterBuild extends Project { public void compile() throws Exception { new CompileKotlinOperation() .fromProject(this) + .compileOptions(new CompileOptions().verbose(true)) .execute(); }