From 6e3e5d064531c094c6c49e9942e3b822095f01b1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 24 Mar 2025 16:13:07 -0700 Subject: [PATCH] Add baseline file for testing --- .github/workflows/bld.yml | 8 ++++++-- examples/.gitignore | 4 +--- examples/detekt-baseline.xml | 12 ++++++++++++ .../java/rife/bld/extension/DetektOperation.java | 6 ++++++ .../java/rife/bld/extension/DetektOperationTest.java | 3 +++ src/test/resources/detekt-baseline.xml | 6 ++++++ 6 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 examples/detekt-baseline.xml create mode 100644 src/test/resources/detekt-baseline.xml diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index cfed82f..0781f83 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -24,13 +24,17 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} + - name: List directory + working-directory: examples + run: dir + - name: Download dependencies [examples] working-directory: examples run: ./bld download - - name: Run tests [examples] + - name: Run Detekt [examples] working-directory: examples - run: ./bld compile test + run: ./bld compile detekt - name: Download dependencies run: ./bld download diff --git a/examples/.gitignore b/examples/.gitignore index cf1562b..a2805aa 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -52,6 +52,4 @@ atlassian-ide-plugin.xml .idea/sonarlint/ # Editor-based Rest Client -.idea/httpRequests - -detekt-baseline.xml \ No newline at end of file +.idea/httpRequests \ No newline at end of file diff --git a/examples/detekt-baseline.xml b/examples/detekt-baseline.xml new file mode 100644 index 0000000..1bf5c16 --- /dev/null +++ b/examples/detekt-baseline.xml @@ -0,0 +1,12 @@ + + + + + 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/src/main/java/rife/bld/extension/DetektOperation.java b/src/main/java/rife/bld/extension/DetektOperation.java index 8e3213e..39b93e7 100644 --- a/src/main/java/rife/bld/extension/DetektOperation.java +++ b/src/main/java/rife/bld/extension/DetektOperation.java @@ -545,6 +545,12 @@ public class DetektOperation extends AbstractProcessOperation { if (isNotBlank(baseline_)) { args.add("--baseline"); args.add(cleanPath(baseline_)); + } else { + var baseline = new File("detekt-baseline.xml"); + if (baseline.exists()) { + args.add("--baseline"); + args.add(cleanPath(baseline.getAbsolutePath())); + } } // build-upon-default-config diff --git a/src/test/java/rife/bld/extension/DetektOperationTest.java b/src/test/java/rife/bld/extension/DetektOperationTest.java index 16e6345..7fb2ce8 100644 --- a/src/test/java/rife/bld/extension/DetektOperationTest.java +++ b/src/test/java/rife/bld/extension/DetektOperationTest.java @@ -264,6 +264,7 @@ class DetektOperationTest { var op = new DetektOperation() .fromProject(new BaseProjectBlueprint(new File("examples"), "com.example", "example", "Example")) + .baseline("src/test/resources/detekt-baseline.xml") .maxIssues(8); assertThatNoException().isThrownBy(op::execute); } @@ -281,6 +282,7 @@ class DetektOperationTest { var op = new DetektOperation() .fromProject(new BaseProjectBlueprint(new File("examples"), "com.example", "example", "Example")) + .baseline("src/test/resources/detekt-baseline.xml") .report(new Report(ReportId.HTML, html.getAbsolutePath())) .report(new Report(ReportId.XML, xml.getAbsolutePath())) .report(new Report(ReportId.TXT, txt.getAbsolutePath())) @@ -299,6 +301,7 @@ class DetektOperationTest { var op = new DetektOperation() .fromProject(new BaseProjectBlueprint(new File("examples"), "com.example", "example", "Example")) + .baseline("src/test/resources/detekt-baseline.xml") .debug(true); assertThatThrownBy(op::execute).isInstanceOf(ExitStatusException.class); } diff --git a/src/test/resources/detekt-baseline.xml b/src/test/resources/detekt-baseline.xml new file mode 100644 index 0000000..4d1a6d7 --- /dev/null +++ b/src/test/resources/detekt-baseline.xml @@ -0,0 +1,6 @@ + + + + + +