diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index bacdbae..6020ea2 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,16 +1,14 @@ name: bld-ci -on: [ push, pull_request, workflow_dispatch ] +on: [push, pull_request, workflow_dispatch] jobs: build-bld-project: + runs-on: ubuntu-latest + strategy: matrix: - 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 }} + java-version: [17, 21, 23] steps: - name: Checkout source repository @@ -24,16 +22,12 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} + - name: Download dependencies + run: ./bld download + - name: Download dependencies [examples] working-directory: examples run: ./bld download - - name: Run Detekt [examples] - working-directory: examples - run: ./bld compile test-ci - - - name: Download dependencies - run: ./bld download - - name: Run tests - run: ./bld compile test \ No newline at end of file + run: ./bld compile test diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 153a060..553c281 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 ba429d0..a3f4fd0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.2.1.jar", + "${HOME}/.bld/dist/bld-2.2.0.jar", "lib/**/*.jar" ] } diff --git a/README.md b/README.md index cdcb0a0..3bde731 100755 --- a/README.md +++ b/README.md @@ -3,20 +3,12 @@ [![License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Java](https://img.shields.io/badge/java-17%2B-blue)](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) -[![bld](https://img.shields.io/badge/2.2.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/2.2.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/releases/com/uwyn/rife2/bld-detekt/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-detekt) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-detekt/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-detekt) [![GitHub CI](https://github.com/rife2/bld-detekt/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-detekt/actions/workflows/bld.yml) -To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file: - -```properties -bld.extension-detekt=com.uwyn.rife2:bld-detekt -``` - -For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation. - -## Check Source Code with Detekt +To install, please refer to the [extensions documentation](https://github.com/rife2/bld/wiki/Extensions). To check all Kotlin source code located in the project, add the following to your build file: ```java diff --git a/examples/.idea/bld.xml b/examples/.idea/bld.xml deleted file mode 100644 index 6600cee..0000000 --- a/examples/.idea/bld.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 153a060..553c281 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index ba429d0..a3f4fd0 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.2.1.jar", + "${HOME}/.bld/dist/bld-2.2.0.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 20412e6..209385a 100644 Binary files a/examples/lib/bld/bld-wrapper.jar and b/examples/lib/bld/bld-wrapper.jar differ diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 67eaf60..e770087 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.10-SNAPSHOT -bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.1.0-SNAPSHOT +bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.9 +bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.4 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.1 +bld.version=2.2.0 diff --git a/examples/src/bld/java/com/example/ExampleBuild.java b/examples/src/bld/java/com/example/ExampleBuild.java index 9a9a49c..d096fe9 100644 --- a/examples/src/bld/java/com/example/ExampleBuild.java +++ b/examples/src/bld/java/com/example/ExampleBuild.java @@ -31,14 +31,13 @@ public class ExampleBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES); - final var kotlin = version(2, 1, 20); + final var kotlin = version(2, 1, 10); scope(compile) .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, 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))); + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))); // Include the Kotlin source directory when creating or publishing sources Java Archives jarSourcesOperation().sourceDirectories(new File(srcMainDirectory(), "kotlin")); @@ -46,14 +45,14 @@ public class ExampleBuild extends Project { public static void main(String[] args) { // Enable detailed logging - 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); +// 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 ExampleBuild().start(args); } @@ -101,13 +100,4 @@ public class ExampleBuild extends Project { .input("src/test/kotlin") .execute(); } - - @BuildCommand(value = "test-ci", summary = "Run detek with a test baseline") - public void testCi() throws ExitStatusException, IOException, InterruptedException { - // Run detek with the test basline (for CI testing) - new DetektOperation() - .fromProject(this) - .baseline("src/test/resources/detekt-baseline.xml") - .execute(); - } } diff --git a/examples/src/test/resources/detekt-baseline.xml b/examples/src/test/resources/detekt-baseline.xml deleted file mode 100644 index 1bf5c16..0000000 --- a/examples/src/test/resources/detekt-baseline.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - EmptyIfBlock:Example.kt$Example.Companion${ } - MagicNumber:Example.kt$Example$5 - NewLineAtEndOfFile:ExampleTest.kt$com.example.ExampleTest.kt - ThrowingExceptionsWithoutMessageOrCause:Example.kt$Example.Companion$IllegalStateException() - UseCheckOrError:Example.kt$Example.Companion$throw IllegalStateException() - VariableNaming:Example.kt$Example$// https://detekt.dev/docs/rules/naming#variablenaming val Message: String get() = "Hello World!" - - diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index ab362ae..6dda5db 100644 Binary files a/lib/bld/bld-wrapper.jar and b/lib/bld/bld-wrapper.jar differ diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index c5da09f..4f5f791 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -2,7 +2,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.1 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.0 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.1 +bld.version=2.2.0 diff --git a/src/bld/java/rife/bld/extension/DetektOperationBuild.java b/src/bld/java/rife/bld/extension/DetektOperationBuild.java index 78f1a3e..f70a050 100644 --- a/src/bld/java/rife/bld/extension/DetektOperationBuild.java +++ b/src/bld/java/rife/bld/extension/DetektOperationBuild.java @@ -23,7 +23,6 @@ import rife.bld.publish.PublishLicense; import rife.bld.publish.PublishScm; import java.util.List; -import java.util.Locale; import static rife.bld.dependencies.Repository.*; import static rife.bld.dependencies.Scope.compile; @@ -34,7 +33,7 @@ public class DetektOperationBuild extends Project { public DetektOperationBuild() { pkg = "rife.bld.extension"; name = "DetektOperation"; - version = version(0, 9, 10, "SNAPSHOT"); + version = version(0, 9, 9); javaRelease = 17; @@ -44,11 +43,11 @@ public class DetektOperationBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))) + .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 0))) .include(dependency("io.gitlab.arturbosch.detekt", "detekt-cli", version(1, 23, 8))); scope(test) - .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.jupiter", "junit-jupiter", version(5, 12, 0))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); javadocOperation() .javadocOptions() @@ -98,13 +97,10 @@ public class DetektOperationBuild extends Project { @Override public void test() throws Exception { - var os = System.getProperty("os.name"); - if (os != null && os.toLowerCase(Locale.US).contains("linux")) { - new ExecOperation() - .fromProject(this) - .command("scripts/cliargs.sh") - .execute(); - } + new ExecOperation() + .fromProject(this) + .command("scripts/cliargs.sh") + .execute(); super.test(); } diff --git a/src/main/java/rife/bld/extension/DetektOperation.java b/src/main/java/rife/bld/extension/DetektOperation.java index 2bb17a1..4bfe7f7 100644 --- a/src/main/java/rife/bld/extension/DetektOperation.java +++ b/src/main/java/rife/bld/extension/DetektOperation.java @@ -51,7 +51,6 @@ public class DetektOperation extends AbstractProcessOperation { "kotlinx-coroutines-", "kotlinx-html-jvm-", "kotlinx-serialization-", - "poko-annotations-jvm-", "sarif4k-jvm-", "snakeyaml-engine-", "trove4j-"); @@ -324,6 +323,7 @@ public class DetektOperation extends AbstractProcessOperation { return configStrings(List.of(configs)); } + /** * Paths to the config files ({@code path/to/config.yml}). * @@ -701,7 +701,7 @@ public class DetektOperation extends AbstractProcessOperation { } } } - return String.join(File.pathSeparator, jars); + return String.join(":", jars); } /** diff --git a/src/test/java/rife/bld/extension/DetektOperationTest.java b/src/test/java/rife/bld/extension/DetektOperationTest.java index 04db107..ecc510a 100644 --- a/src/test/java/rife/bld/extension/DetektOperationTest.java +++ b/src/test/java/rife/bld/extension/DetektOperationTest.java @@ -19,8 +19,6 @@ package rife.bld.extension; import org.assertj.core.api.AutoCloseableSoftAssertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.EnabledOnOs; -import org.junit.jupiter.api.condition.OS; import rife.bld.BaseProject; import rife.bld.blueprints.BaseProjectBlueprint; import rife.bld.extension.detekt.Report; @@ -94,7 +92,6 @@ class DetektOperationTest { } @Test - @EnabledOnOs(OS.LINUX) @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") void testCheckAllParameters() throws IOException { var args = Files.readAllLines(Paths.get("src", "test", "resources", "detekt-args.txt")); @@ -244,7 +241,7 @@ class DetektOperationTest { void testExampleBaseline() throws IOException, ExitStatusException, InterruptedException { var tmpDir = Files.createTempDirectory("bld-detekt-").toFile(); - var baseline = new File(tmpDir, "examples/src/test/resources/detekt-baseline.xml"); + var baseline = new File(tmpDir, "detekt-baseline.xml"); var op = new DetektOperation() .fromProject(new BaseProjectBlueprint(new File("examples"), "com.example",