diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index d55711f..f7e10f8 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,8 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} - - name: Download dependencies [examples] - working-directory: examples - run: ./bld download - - - name: Run tests with JaCoCo [examples] - working-directory: examples - run: ./bld compile jacoco - - 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 a203de8..63c014a 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 e44b64e..be61ab7 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.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-testng/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-testng) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-testng/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-testng) [![GitHub CI](https://github.com/rife2/bld-testng/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-testng/actions/workflows/bld.yml) -To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file: - -```properties -bld.extension-testng=com.uwyn.rife2:bld-testng -``` - -For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation. - -## Test with TestNG +To install, please refer to the [extensions documentation](https://github.com/rife2/bld/wiki/Extensions). To run the tests with TestNG, add the following to your build file: 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 a203de8..63c014a 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 3005cd9..edeefde 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -10,7 +10,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 88faac2..efa2089 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 85fd25e..1421422 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-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.10-SNAPSHOT -bld.extension-testng=com.uwyn.rife2:bld-testng:1.0.3-SNAPSHOT +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.9 +bld.extension-testng=com.uwyn.rife2:bld-testng:1.0.2 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/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 9bd0bea..f73038a 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -6,6 +6,7 @@ import rife.bld.extension.JacocoReportOperation; import rife.bld.extension.TestNgOperation; import rife.bld.operations.TestOperation; +import java.io.IOException; import java.util.List; import java.util.logging.ConsoleHandler; import java.util.logging.Level; @@ -16,7 +17,7 @@ import static rife.bld.dependencies.Scope.test; /** * Example build. - * + * *
{@code
  * ./bld compile test
  * ./bld compile jacoco
diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar
index 97c0a4b..6249257 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/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java
index 88f713c..8097262 100644
--- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java
+++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java
@@ -33,7 +33,7 @@ public class TestNgOperationBuild extends Project {
     public TestNgOperationBuild() {
         pkg = "rife.bld.extension";
         name = "bld-testng";
-        version = version(1, 0, 3, "SNAPSHOT");
+        version = version(1, 0, 2);
 
         javaRelease = 17;
 
@@ -43,12 +43,12 @@ public class TestNgOperationBuild 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)));
 
         scope(test)
                 .include(dependency("org.testng", "testng", version(7, 11, 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.junit.jupiter", "junit-jupiter", version(5, 11, 4)))
+                .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4)))
                 .include(dependency("org.assertj", "assertj-core", version(3, 27, 3)));
 
         javadocOperation()
@@ -100,13 +100,10 @@ public class TestNgOperationBuild extends Project {
 
     @Override
     public void test() throws Exception {
-        var os = System.getProperty("os.name");
-        if (os != null && os.toLowerCase().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/TestNgOperation.java b/src/main/java/rife/bld/extension/TestNgOperation.java
index 298857f..0617152 100644
--- a/src/main/java/rife/bld/extension/TestNgOperation.java
+++ b/src/main/java/rife/bld/extension/TestNgOperation.java
@@ -75,19 +75,6 @@ public class TestNgOperation extends TestOperation
         return this;
     }
 
-    private String buildClassPath(String... path) {
-        var classpath = new StringBuilder();
-        for (var p : path) {
-            if (!p.isBlank()) {
-                if (!classpath.isEmpty()) {
-                    classpath.append(File.pathSeparator);
-                }
-                classpath.append(p);
-            }
-        }
-        return classpath.toString();
-    }
-
     /**
      * This sets the default maximum number of threads to use for data providers when running tests in parallel.
      * It will only take effect if the parallel mode has been selected (for example,with the
@@ -215,13 +202,11 @@ public class TestNgOperation extends TestOperation
 
             args.add("-cp");
             if (testClasspath_.isEmpty()) {
-                args.add(buildClassPath(joinClasspathJar(project_.testClasspathJars()),
-                        joinClasspathJar(project_.compileClasspathJars()),
-                        joinClasspathJar(project_.providedClasspathJars()),
-                        project_.buildMainDirectory().getAbsolutePath(),
-                        project_.buildTestDirectory().getAbsolutePath()));
+                args.add(String.format("%s:%s:%s:%s", new File(project_.libTestDirectory(), "*"),
+                        new File(project_.libCompileDirectory(), "*"), project_.buildMainDirectory(),
+                        project_.buildTestDirectory()));
             } else {
-                args.add(String.join(File.pathSeparator, testClasspath_));
+                args.add(String.join(":", testClasspath_));
             }
 
             args.add("org.testng.TestNG");
@@ -239,7 +224,7 @@ public class TestNgOperation extends TestOperation
                 } catch (IOException ioe) {
                     if (LOGGER.isLoggable(Level.SEVERE) && !silent()) {
                         LOGGER.severe("An IO error occurred while accessing the default testng.xml file: "
-                                      + ioe.getMessage());
+                                + ioe.getMessage());
                     }
                     throw new RuntimeException(ioe);
                 }
@@ -387,14 +372,6 @@ public class TestNgOperation extends TestOperation
         return this;
     }
 
-    private String joinClasspathJar(List jars) {
-        if (!jars.isEmpty()) {
-            return String.join(File.pathSeparator, jars.stream().map(File::getAbsolutePath).toList());
-        } else {
-            return "";
-        }
-    }
-
     /**
      * The list of {@code .class} files or list of class names implementing {@code ITestListener} or
      * {@code ISuiteListener}
@@ -1079,10 +1056,10 @@ public class TestNgOperation extends TestOperation
         var temp = tempFile();
         try (var bufWriter = Files.newBufferedWriter(Paths.get(temp.getPath()))) {
             bufWriter.write("" +
-                            "" +
-                            "" +
-                            "" +
-                            "");
+                    "" +
+                    "" +
+                    "" +
+                    "");
             for (var p : packages_) {
                 bufWriter.write(String.format("", p));
             }
diff --git a/src/test/java/rife/bld/extension/TestNgOperationTest.java b/src/test/java/rife/bld/extension/TestNgOperationTest.java
index d4f3193..3a9f795 100644
--- a/src/test/java/rife/bld/extension/TestNgOperationTest.java
+++ b/src/test/java/rife/bld/extension/TestNgOperationTest.java
@@ -18,8 +18,6 @@ package rife.bld.extension;
 
 import org.assertj.core.api.AutoCloseableSoftAssertions;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledOnOs;
-import org.junit.jupiter.api.condition.OS;
 import rife.bld.Project;
 import rife.bld.blueprints.BaseProjectBlueprint;
 import rife.bld.operations.exceptions.ExitStatusException;
@@ -53,7 +51,6 @@ class TestNgOperationTest {
     }
 
     @Test
-    @EnabledOnOs(OS.LINUX)
     void testCheckAllParameters() throws IOException {
         var args = Files.readAllLines(Paths.get("src", "test", "resources", "testng-args.txt"));