From d6228f176693f2cdc896e250f7c32fabdc593853 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Jul 2024 16:54:22 -0700 Subject: [PATCH] Updated dependencies Bumped bld to version 2.0.1 Bumped Kotlin extension to version 1.0.0 Bumped Dokka extension to version 1.0.0 Bumped Detekt extension to version 0.9.5 Bumped JUnit to version 5.10.3 --- .cirleci/config.yml | 61 +++++++++++++++++++++ .github/workflows/bld.yml | 25 +++++++-- .idea/bld.xml | 6 ++ .idea/libraries/bld.xml | 4 +- .vscode/settings.json | 2 +- README.md | 6 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 29577 bytes lib/bld/bld-wrapper.properties | 12 ++-- src/bld/java/com/example/ExampleBuild.java | 12 ++-- 9 files changed, 109 insertions(+), 19 deletions(-) create mode 100644 .cirleci/config.yml create mode 100644 .idea/bld.xml diff --git a/.cirleci/config.yml b/.cirleci/config.yml new file mode 100644 index 0000000..37887bf --- /dev/null +++ b/.cirleci/config.yml @@ -0,0 +1,61 @@ +version: 2.1 + +orbs: + sdkman: joshdholtz/sdkman@0.2.0 + +commands: + build_and_test: + parameters: + kotlin: + type: string + reports-dir: + type: string + default: "build/reports/test_results" + steps: + - checkout + - sdkman/setup-sdkman + - sdkman/sdkman-install: + candidate: kotlin + version: << parameters.kotlin >> + - run: + name: Download dependencies + command: ./bld download + - run: + name: Compile source + command: ./bld compile + - run: + name: Check source with Detekt + command: ./bld detekt + - run: + name: Run tests + command: ./bld test -reports-dir=<< parameters.reports-dir >> + - run: + name: Generate documentation with Dokka + command: | + ./bld javadoc + ./bld dokka-html + ./bld dokka-gfm + ./bld dokka-jekyll + - store_test_results: + path: << parameters.reports-dir >> + +jobs: + bld_jdk17: + docker: + - image: cimg/openjdk:17 + steps: + - build_and_test: + kotlin: 1.9.24 + + bld_jdk21: + docker: + - image: cimg/openjdk:21 + steps: + - build_and_test: + kotlin: 2.0.0 + +workflows: + bld: + jobs: + - bld_jdk17 + - bld_jdk21 \ No newline at end of file diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 9aebdef..55e101f 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,6 +1,9 @@ name: bld-ci -on: [push, pull_request, workflow_dispatch] +on: [ push, pull_request, workflow_dispatch ] + +env: + KOTLIN_HOME: /usr/share/kotlinc jobs: build-gradle-project: @@ -8,7 +11,8 @@ jobs: strategy: matrix: - java-version: [17, 21, 22] + java-version: [ 17, 21, 22 ] + kotlin-version: [ 1.19.24, 2.0.0 ] steps: - name: Checkout source repository @@ -16,16 +20,25 @@ jobs: with: fetch-depth: 0 - - name: Set up JDK ${{ matrix.java-version }} + - name: Set up JDK ${{ matrix.java-version }} with Kotlin ${{ matrix.kotlin-version }} uses: actions/setup-java@v4 with: distribution: "temurin" java-version: ${{ matrix.java-version }} - - name: Run tests - run: ./bld download compile detekt test + - name: Download dependencies + run: ./bld download - - name: Build documentation + - name: Compile source + run: ./bld compile + + - name: Check source with Detekt + run: ./bld detekt + + - name: Run tests + run: ./bld test + + - name: Generate documentation with Dokka run: | ./bld javadoc ./bld dokka-html diff --git a/.idea/bld.xml b/.idea/bld.xml new file mode 100644 index 0000000..6600cee --- /dev/null +++ b/.idea/bld.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index a2969be..4dd96bf 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.vscode/settings.json b/.vscode/settings.json index d136e4d..5b2667b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-1.9.1.jar", + "${HOME}/.bld/dist/bld-2.0.1.jar", "lib/**/*.jar" ] } diff --git a/README.md b/README.md index 34b916b..a02ec62 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [Kotlin](https://kotlinlang.org/) Example Project for [bld](https://rife2.com/bld) -Template for [bld](https://rife2.com/bld) projects using the [Kotlin extension](https://github.com/rife2/bld-kotlin) with built-in support for Dokka and the [Detekt extension](https://github.com/rife2/bld-detekt). +Template for [bld](https://rife2.com/bld) projects using the [Kotlin extension](https://github.com/rife2/bld-kotlin) with built-in support for the [Dokka](https://github.com/rife2/bld-dokka) and [Detekt](https://github.com/rife2/bld-detekt) extensions. ## Compile the Example @@ -34,3 +34,7 @@ Template for [bld](https://rife2.com/bld) projects using the [Kotlin extension]( ./bld dokka-gfm ./bld dokka-jekyll ``` + +## Requirements + +- A Kotlin compiler must be [installed](https://kotlinlang.org/docs/command-line.html#install-the-compiler). \ No newline at end of file diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index e75c126d086fc70aa607db71f22b0bb98aa3a870..10a7e3932fc4a7d106efa9a22c0cd15bbd5d562d 100644 GIT binary patch delta 15709 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 delta 13468 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 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 3e7152d..44ba02c 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,12 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.8 -bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.4 -bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= +bld.extensions= +bld.javaOptions= +bld.javacOptions= +bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.5 +bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.0 +bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.0 +bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_RELEASES,RIFE2_SNAPSHOTS bld.sourceDirectories= -bld.version=1.9.1 +bld.version=2.0.1 diff --git a/src/bld/java/com/example/ExampleBuild.java b/src/bld/java/com/example/ExampleBuild.java index 54818ec..7cc3410 100644 --- a/src/bld/java/com/example/ExampleBuild.java +++ b/src/bld/java/com/example/ExampleBuild.java @@ -4,7 +4,7 @@ import rife.bld.BuildCommand; import rife.bld.Project; import rife.bld.extension.CompileKotlinOperation; import rife.bld.extension.DetektOperation; -import rife.bld.extension.dokka.DokkaOperation; +import rife.bld.extension.DokkaOperation; import rife.bld.extension.dokka.LoggingLevel; import rife.bld.extension.dokka.OutputFormat; import rife.bld.operations.exceptions.ExitStatusException; @@ -35,15 +35,15 @@ public class ExampleBuild extends Project { .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin)); scope(test) .include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin)) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2))); + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 3))); // Include the Kotlin source directory when creating or publishing sources Java Archives jarSourcesOperation().sourceDirectories(new File(srcMainDirectory(), "kotlin")); } public static void main(String[] args) { -// Enable detailed logging for the Kotlin extension + // Enable detailed logging for the Kotlin extension // var level = Level.ALL; // var logger = Logger.getLogger("rife.bld.extension"); // var consoleHandler = new ConsoleHandler(); @@ -58,10 +58,12 @@ public class ExampleBuild extends Project { @BuildCommand(summary = "Compiles the Kotlin project") @Override - public void compile() throws IOException { + public void compile() throws Exception { // The source code located in src/main/kotlin and src/test/kotlin will be compiled new CompileKotlinOperation() .fromProject(this) +// .kotlinHome("path/to/kotlin") +// .kotlinc("path/to/kotlinc") .execute(); // var op = new CompileKotlinOperation().fromProject(this);