diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 6966bcb..bf65051 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, 22] steps: - name: Checkout source repository @@ -24,16 +22,8 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} - - name: Download dependencies [examples] - working-directory: examples - run: ./bld download - - - name: Compile and Run Checkstyle [examples] - working-directory: examples - run: ./bld compile checkstyle-custom - - 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/.github/workflows/pages.yml b/.github/workflows/pages.yml index 508f6a5..bf43624 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -47,11 +47,11 @@ jobs: uses: actions/configure-pages@v3 - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v1 with: # Upload generated Javadocs repository path: "build/javadoc/" - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v1 diff --git a/.idea/bld.xml b/.idea/bld.xml deleted file mode 100644 index 6600cee..0000000 --- a/.idea/bld.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index d91f848..0000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/icon.svg b/.idea/icon.svg deleted file mode 100644 index 81220b4..0000000 --- a/.idea/icon.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 153a060..4dd96bf 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.idea/libraries/compile.xml b/.idea/libraries/compile.xml index 99cc0c0..9bd86aa 100644 --- a/.idea/libraries/compile.xml +++ b/.idea/libraries/compile.xml @@ -7,7 +7,7 @@ - - + + \ No newline at end of file diff --git a/.idea/libraries/runtime.xml b/.idea/libraries/runtime.xml index d4069f2..2ae5c4b 100644 --- a/.idea/libraries/runtime.xml +++ b/.idea/libraries/runtime.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/.idea/libraries/test.xml b/.idea/libraries/test.xml index 57ed5ef..b80486a 100644 --- a/.idea/libraries/test.xml +++ b/.idea/libraries/test.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index ce89108..5422c5f 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.0.1.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index abf2d99..0bb407c 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,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.0.1-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-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) -To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file: - -```properties -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle -``` - -For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation. - -## Check Source Code with Checkstyle +To install, please refer to the [extensions documentation](https://github.com/rife2/bld/wiki/Extensions). To check your code with Chesktyle, include the following in your build file: @@ -45,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); ``` diff --git a/config/pmd.xml b/config/pmd.xml index 2641880..3d3203c 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -7,9 +7,9 @@ + + - - diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 153a060..4dd96bf 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/.idea/libraries/compile.xml b/examples/.idea/libraries/compile.xml index 99cc0c0..9bd86aa 100644 --- a/examples/.idea/libraries/compile.xml +++ b/examples/.idea/libraries/compile.xml @@ -7,7 +7,7 @@ - - + + \ No newline at end of file diff --git a/examples/.idea/libraries/runtime.xml b/examples/.idea/libraries/runtime.xml index d4069f2..2ae5c4b 100644 --- a/examples/.idea/libraries/runtime.xml +++ b/examples/.idea/libraries/runtime.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/examples/.idea/libraries/test.xml b/examples/.idea/libraries/test.xml index 57ed5ef..b80486a 100644 --- a/examples/.idea/libraries/test.xml +++ b/examples/.idea/libraries/test.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index ba429d0..5b2667b 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.0.1.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 862a228..4579129 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 ab1936c..66ee51a 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.14 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.2 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.1 +bld.version=2.0.1 diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index af647ee..f271cb5 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -5,9 +5,6 @@ import rife.bld.BuildCommand; import rife.bld.extension.CheckstyleOperation; 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.MAVEN_CENTRAL; import static rife.bld.dependencies.Scope.*; @@ -23,29 +20,19 @@ public class ExamplesBuild extends BaseProject { autoDownloadPurge = true; downloadSources = true; - + repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); testOperation().mainClass("com.example.ExamplesTest"); } public static void main(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 ExamplesBuild().start(args); } - @BuildCommand(summary = "Check code style using Sun coding conventions") + @BuildCommand(summary = "Check code style") public void checkstyle() throws Exception { new CheckstyleOperation() .fromProject(this) @@ -53,11 +40,4 @@ public class ExamplesBuild extends BaseProject { .execute(); } - @BuildCommand(value = "checkstyle-custom", summary = "Check code style using custom coding conventions") - public void checkstyleCustom() throws Exception { - new CheckstyleOperation() - .fromProject(this) - .configurationFile("src/test/resources/checkstyle.xml") - .execute(); - } } diff --git a/examples/src/test/resources/checkstyle.xml b/examples/src/test/resources/checkstyle.xml deleted file mode 100644 index e601ecb..0000000 --- a/examples/src/test/resources/checkstyle.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index ee9e249..1934a36 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 2b5c0ac..79b2f59 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.5 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.2 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.2 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.4 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.1 +bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index dc827f2..b75b15d 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -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,23 +33,20 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 15, "SNAPSHOT"); + version = version(1, 0, 2); javaRelease = 17; - downloadSources = true; autoDownloadPurge = true; - 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, 0, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))) - .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.assertj", "assertj-core", version(3, 27, 3))); - + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))) + .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(dependency("org.assertj", "assertj-core", version(3, 26, 3))); javadocOperation() .javadocOptions() .author() @@ -60,26 +56,28 @@ public class CheckstyleOperationBuild extends Project { publishOperation() .repository(version.isSnapshot() ? repository("rife2-snapshot") : repository("rife2")) - .repository(repository("github")) .info() .groupId("com.uwyn.rife2") .artifactId("bld-checkstyle") .description("bld Checkstyle Extension") .url("https://github.com/rife2/bld-checkstyle") - .developer(new PublishDeveloper() - .id("ethauvin") - .name("Erik C. Thauvin") - .email("erik@thauvin.net") - .url("https://erik.thauvin.net/") + .developer( + new PublishDeveloper() + .id("ethauvin") + .name("Erik C. Thauvin") + .email("erik@thauvin.net") + .url("https://erik.thauvin.net/") ) - .license(new PublishLicense() - .name("The Apache License, Version 2.0") - .url("https://www.apache.org/licenses/LICENSE-2.0.txt") + .license( + new PublishLicense() + .name("The Apache License, Version 2.0") + .url("https://www.apache.org/licenses/LICENSE-2.0.txt") ) - .scm(new PublishScm() - .connection("scm:git:https://github.com/rife2/bld-checkstyle.git") - .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") - .url("https://github.com/rife2/bld-checkstyle") + .scm( + new PublishScm() + .connection("scm:git:https://github.com/rife2/bld-checkstyle.git") + .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") + .url("https://github.com/rife2/bld-checkstyle") ) .signKey(property("sign.key")) .signPassphrase(property("sign.passphrase")); @@ -100,13 +98,10 @@ public class CheckstyleOperationBuild 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/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 97eeb55..7959d0b 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,6 @@ import rife.bld.operations.exceptions.ExitStatusException; import java.io.File; import java.io.IOException; -import java.nio.file.Path; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; @@ -85,19 +84,7 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { exclude_.addAll(paths); @@ -161,30 +138,19 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { - return exclude(paths.stream().map(Path::toFile).toList()); - } - - /** - * Directory/file pattern to exclude from Checkstyle. Multiple exclude are allowed. + * Directory/file pattern to exclude from CheckStyle. Multiple exclude are allowed. * * @param regex the pattern to exclude * @return the checkstyle operation * @see #excludeRegex(Collection) */ public CheckstyleOperation excludeRegex(String... regex) { - return excludeRegex(List.of(regex)); + excludeRegex_.addAll(List.of(regex)); + return this; } /** - * Directory/file pattern to exclude from Checkstyle. Multiple exclude are allowed. + * Directory/file pattern to exclude from CheckStyle. Multiple exclude are allowed. * * @param regex the patterns to exclude * @return the checkstyle operation @@ -195,18 +161,6 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { - return exclude(paths.stream().map(File::new).toList()); - } - @Override public void execute() throws IOException, InterruptedException, ExitStatusException { if (project_ == null) { @@ -235,9 +189,9 @@ public class CheckstyleOperation extends AbstractProcessOperation { @@ -250,8 +204,7 @@ public class CheckstyleOperation extends AbstractProcessOperation - * Defaults to stdout. - * - * @param file the output file - * @return the checkstyle operation - */ - public CheckstyleOperation outputPath(Path file) { - return outputPath(file.toFile().getAbsolutePath()); - } - /** * Sets the property files to load. * @@ -428,54 +368,35 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { sourceDir_.addAll(dirs); @@ -491,28 +412,6 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { - return sourceDir(dirs.stream().map(Path::toFile).toList()); - } - - /** - * Specifies the file(s) or folder(s) containing the source files to check. - * - * @param dirs the directories - * @return the checkstyle operation - * @see #sourceDir(String...) - */ - public CheckstyleOperation sourceDirStrings(Collection dirs) { - return sourceDir(dirs.stream().map(File::new).toList()); - } - /** * Prints xpath suppressions at the file's line and column position. Argument is the line and column number * (separated by a {@code :} ) in the file that the suppression should be generated for. The option cannot be diff --git a/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java index 0ba8021..c37a585 100644 --- a/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java +++ b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ package rife.bld.extension.checkstyle; /** - * The Checkstyle output format for XML, sarif and default (plain) logger. + * The Checkstyle output format for XML, sarif and default (plaib) logger. */ public enum OutputFormat { XML("xml"), @@ -26,9 +26,6 @@ public enum OutputFormat { public final String label; - /** - * Sets the label of this output format. - */ OutputFormat(String label) { this.label = label; } diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 0d0e1b2..578846f 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 the original author or authors. + * Copyright 2023-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,11 +16,8 @@ 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.Project; import rife.bld.WebProject; @@ -30,7 +27,6 @@ import rife.bld.operations.exceptions.ExitStatusException; import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import java.util.logging.ConsoleHandler; @@ -40,6 +36,7 @@ import java.util.logging.Logger; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; + class CheckstyleOperationTest { public static final String SRC_MAIN_JAVA = "src/main/java"; public static final String SRC_TEST_JAVA = "src/test/java"; @@ -67,7 +64,6 @@ class CheckstyleOperationTest { } @Test - @EnabledOnOs(OS.LINUX) void checkAllParameters() throws IOException { var args = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt")); @@ -93,17 +89,15 @@ class CheckstyleOperationTest { .treeWithJavadoc(true) .executeConstructProcessCommandList(); - try (var softly = new AutoCloseableSoftAssertions()) { - for (var p : args) { - var found = false; - for (var a : params) { - if (a.startsWith(p)) { - found = true; - break; - } + for (var p : args) { + var found = false; + for (var a : params) { + if (a.startsWith(p)) { + found = true; + break; } - softly.assertThat(found).as(p + " not found.").isTrue(); } + assertThat(found).as(p + " not found.").isTrue(); } } @@ -125,30 +119,17 @@ class CheckstyleOperationTest { void exclude() { var foo = new File(SRC_MAIN_JAVA); var bar = new File(SRC_TEST_JAVA); - var e = "-e "; - var op = new CheckstyleOperation().fromProject(new Project()).exclude(SRC_MAIN_JAVA, SRC_TEST_JAVA); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("String...") - .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); - - op = new CheckstyleOperation().fromProject(new Project()).excludeStrings(List.of(SRC_MAIN_JAVA, SRC_TEST_JAVA)); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(String...)") + var e = "-e "; + assertThat(op.executeConstructProcessCommandList()).as("strings") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); op = new CheckstyleOperation().fromProject(new Project()).exclude(foo, bar); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("File...") + assertThat(op.executeConstructProcessCommandList()).as("files") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(foo, bar)); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(File...)") - .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); - - op = new CheckstyleOperation().fromProject(new Project()).exclude(foo.toPath(), bar.toPath()); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("Path...") - .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); - - op = new CheckstyleOperation().fromProject(new Project()).excludePaths(List.of(foo.toPath(), bar.toPath())); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(Path...)") + assertThat(op.executeConstructProcessCommandList()).as("list") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); } @@ -156,10 +137,10 @@ class CheckstyleOperationTest { void excludeRegex() { var op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(FOO, BAR); var x = "-x "; - assertThat(String.join(" ", op.executeConstructProcessCommandList())).contains(x + FOO, x + BAR); + assertThat(op.executeConstructProcessCommandList()).contains(x + FOO, x + BAR); op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(List.of(FOO, BAR)); - assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("as list").contains(x + FOO, x + BAR); + assertThat(op.executeConstructProcessCommandList()).as("as list").contains(x + FOO, x + BAR); } @Test @@ -169,12 +150,18 @@ class CheckstyleOperationTest { var op = new CheckstyleOperation() .fromProject(new WebProject()) .sourceDir(SRC_MAIN_JAVA, SRC_TEST_JAVA) - .configurationFile(Path.of("src/test/resources/google_checks.xml")) - .outputPath(tmpFile.toPath()); + .configurationFile("src/test/resources/google_checks.xml") + .outputPath(tmpFile.getAbsolutePath()); op.execute(); assertThat(tmpFile).exists(); } + @Test + void executeNoProject() { + var op = new CheckstyleOperation(); + assertThatCode(op::execute).isInstanceOf(ExitStatusException.class); + } + @Test void executeConstructProcessCommandList() { var op = new CheckstyleOperation().fromProject(new BaseProject()) @@ -204,12 +191,6 @@ class CheckstyleOperationTest { assertThat(op.options().containsKey("-E")).as(REMOVE).isFalse(); } - @Test - void executeNoProject() { - var op = new CheckstyleOperation(); - assertThatCode(op::execute).isInstanceOf(ExitStatusException.class); - } - @Test void executeSunChecks() throws IOException { var tmpFile = File.createTempFile("checkstyle-sun", ".txt"); @@ -255,10 +236,6 @@ class CheckstyleOperationTest { void propertiesFile() { var op = new CheckstyleOperation().fromProject(new Project()).propertiesFile(FOO); assertThat(op.options().get("-p")).isEqualTo(FOO); - - var fooPath = Path.of(FOO); - op = op.propertiesFile(fooPath); - assertThat(op.options().get("-p")).isEqualTo(fooPath.toFile().getAbsolutePath()); } @Test @@ -266,32 +243,18 @@ class CheckstyleOperationTest { var foo = new File(FOO); var bar = new File(BAR); - var op = new CheckstyleOperation().fromProject(new Project()).sourceDir(FOO, BAR); - assertThat(op.sourceDir()).as("String...").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); - - op = op.sourceDirStrings(List.of(FOO, BAR)); - assertThat(op.sourceDir()).as("List(String...)").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); + var op = new CheckstyleOperation().fromProject(new Project()).sourceDir(FOO); + assertThat(op.sourceDir()).contains(foo); op = op.sourceDir(foo, bar); - assertThat(op.sourceDir()).as("File...").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); + assertThat(op.sourceDir()).as("foo, bar").hasSize(2) + .contains(foo).contains(bar); op = op.sourceDir(List.of(foo, bar)); - assertThat(op.sourceDir()).as("List(File...)").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); - - op = op.sourceDir(foo.toPath(), bar.toPath()); - assertThat(op.sourceDir()).as("Path...").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); - - op = op.sourceDirPaths(List.of(foo.toPath(), bar.toPath())); - assertThat(op.sourceDir()).as("List(Path...)").hasSize(2).contains(foo, bar); - op.sourceDir().clear(); + assertThat(op.sourceDir()).as("List.of(foo, bar)").hasSize(2) + .contains(foo).contains(bar); } - @Test void suppressionLineColumnNumber() { var op = new CheckstyleOperation().fromProject(new Project()).suppressionLineColumnNumber(FOO + ':' + BAR);