From e32abb231bac44ae8b3380eca78956fe46e5fc11 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 4 Nov 2023 03:26:03 -0700 Subject: [PATCH 01/71] Fixed examples link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4b8965..69600c1 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ public void test throws Exception { ./bld compile test ``` -- [View Examples](https://github.com/rife2/bld-tetng/tree/master/examples) +- [View Examples Project](https://github.com/rife2/bld-testng/tree/master/examples) Please check the [TestNgOperation documentation](https://rife2.github.io/bld-testng/rife/bld/extension/TestNgOperation.html#method-summary) for all available configuration options. From ef4a259a3370977361459f7d9cfdadffddce721b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Nov 2023 13:10:11 -0800 Subject: [PATCH 02/71] Cleaned up Javadocs --- .idea/intellij-javadocs-4.0.1.xml | 204 ++++++++++ .idea/libraries/bld.xml | 1 + .idea/misc.xml | 1 + README.md | 4 +- examples/.idea/.name | 1 + examples/.idea/libraries/bld.xml | 1 + examples/README.md | 5 + examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.properties | 3 +- .../bld/extension/TestNgOperationBuild.java | 34 +- .../rife/bld/extension/TestNgOperation.java | 354 ++++++++++++++---- .../bld/extension/TestNgOperationTest.java | 4 +- 12 files changed, 518 insertions(+), 96 deletions(-) create mode 100644 .idea/intellij-javadocs-4.0.1.xml create mode 100644 examples/.idea/.name create mode 100644 examples/README.md diff --git a/.idea/intellij-javadocs-4.0.1.xml b/.idea/intellij-javadocs-4.0.1.xml new file mode 100644 index 0000000..5881366 --- /dev/null +++ b/.idea/intellij-javadocs-4.0.1.xml @@ -0,0 +1,204 @@ + + + + + UPDATE + false + true + + TYPE + METHOD + FIELD + + + PROTECTED + DEFAULT + PUBLIC + + + + + + ^.*(public|protected|private)*.+interface\s+\w+.* + /**\n + * The interface ${name}.\n +<#if element.typeParameters?has_content> * \n +</#if> +<#list element.typeParameters as typeParameter> + * @param <${typeParameter.name}> the type parameter\n +</#list> + */ + + + ^.*(public|protected|private)*.+enum\s+\w+.* + /**\n + * The enum ${name}.\n + */ + + + ^.*(public|protected|private)*.+class\s+\w+.* + /**\n + * The type ${name}.\n +<#if element.typeParameters?has_content> * \n +</#if> +<#list element.typeParameters as typeParameter> + * @param <${typeParameter.name}> the type parameter\n +</#list> + */ + + + .+ + /**\n + * The type ${name}.\n + */ + + + + + .+ + /**\n + * Instantiates a new ${name}.\n +<#if element.parameterList.parameters?has_content> + *\n +</#if> +<#list element.parameterList.parameters as parameter> + * @param ${parameter.name} the ${paramNames[parameter.name]}\n +</#list> +<#if element.throwsList.referenceElements?has_content> + *\n +</#if> +<#list element.throwsList.referenceElements as exception> + * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n +</#list> + */ + + + + + ^.*(public|protected|private)*\s*.*(\w(\s*<.+>)*)+\s+get\w+\s*\(.*\).+ + /**\n + * Gets ${partName}.\n +<#if element.typeParameters?has_content> * \n +</#if> +<#list element.typeParameters as typeParameter> + * @param <${typeParameter.name}> the type parameter\n +</#list> +<#if element.parameterList.parameters?has_content> + *\n +</#if> +<#list element.parameterList.parameters as parameter> + * @param ${parameter.name} the ${paramNames[parameter.name]}\n +</#list> +<#if isNotVoid> + *\n + * @return the ${partName}\n +</#if> +<#if element.throwsList.referenceElements?has_content> + *\n +</#if> +<#list element.throwsList.referenceElements as exception> + * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n +</#list> + */ + + + ^.*(public|protected|private)*\s*.*(void|\w(\s*<.+>)*)+\s+set\w+\s*\(.*\).+ + /**\n + * Sets ${partName}.\n +<#if element.typeParameters?has_content> * \n +</#if> +<#list element.typeParameters as typeParameter> + * @param <${typeParameter.name}> the type parameter\n +</#list> +<#if element.parameterList.parameters?has_content> + *\n +</#if> +<#list element.parameterList.parameters as parameter> + * @param ${parameter.name} the ${paramNames[parameter.name]}\n +</#list> +<#if isNotVoid> + *\n + * @return the ${partName}\n +</#if> +<#if element.throwsList.referenceElements?has_content> + *\n +</#if> +<#list element.throwsList.referenceElements as exception> + * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n +</#list> + */ + + + ^.*((public\s+static)|(static\s+public))\s+void\s+main\s*\(\s*String\s*(\[\s*\]|\.\.\.)\s+\w+\s*\).+ + /**\n + * The entry point of application.\n + + <#if element.parameterList.parameters?has_content> + *\n +</#if> + * @param ${element.parameterList.parameters[0].name} the input arguments\n +<#if element.throwsList.referenceElements?has_content> + *\n +</#if> +<#list element.throwsList.referenceElements as exception> + * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n +</#list> + */ + + + .+ + /**\n + * ${name}<#if isNotVoid> ${return}</#if>.\n +<#if element.typeParameters?has_content> * \n +</#if> +<#list element.typeParameters as typeParameter> + * @param <${typeParameter.name}> the type parameter\n +</#list> +<#if element.parameterList.parameters?has_content> + *\n +</#if> +<#list element.parameterList.parameters as parameter> + * @param ${parameter.name} the ${paramNames[parameter.name]}\n +</#list> +<#if isNotVoid> + *\n + * @return the ${return}\n +</#if> +<#if element.throwsList.referenceElements?has_content> + *\n +</#if> +<#list element.throwsList.referenceElements as exception> + * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n +</#list> + */ + + + + + ^.*(public|protected|private)*.+static.*(\w\s\w)+.+ + /**\n + * The constant ${element.getName()}.\n + */ + + + ^.*(public|protected|private)*.*(\w\s\w)+.+ + /**\n + <#if element.parent.isInterface()> + * The constant ${element.getName()}.\n +<#else> + * The ${name}.\n +</#if> */ + + + .+ + /**\n + <#if element.parent.isEnum()> + *${name} ${typeName}.\n +<#else> + * The ${name}.\n +</#if>*/ + + + + + \ No newline at end of file diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index cf75013..be6063a 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -6,6 +6,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 98bd653..f78ac61 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,3 +1,4 @@ + diff --git a/README.md b/README.md index 69600c1..507105f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ public void testng() throws Exception { } ``` -```text +```console ./bld compile testng ``` @@ -39,7 +39,7 @@ public void test throws Exception { } ``` -``` +```console ./bld compile test ``` diff --git a/examples/.idea/.name b/examples/.idea/.name new file mode 100644 index 0000000..de484cf --- /dev/null +++ b/examples/.idea/.name @@ -0,0 +1 @@ +bld-testng-examples \ No newline at end of file diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index cf75013..be6063a 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -6,6 +6,7 @@ + diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..8e27727 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,5 @@ +Compile and Run Tests with TestNG + +```console +./run compile test +``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 80e162e..e0bf642 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-testng:0.9.2 +bld.extensions=com.uwyn.rife2:bld-testng:0.9.3-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 2b0d642..ca9cd8d 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,7 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.3 -bld.extension-generated-version=com.uwyn.rife2:bld-generated-version:0.9.2 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.4 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index 69f3364..1bbb372 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project { public TestNgOperationBuild() { pkg = "rife.bld.extension"; name = "bld-testng"; - version = version(0, 9, 2); + version = version(0, 9, 3, "SNAPSHOT"); javaRelease = 17; downloadSources = true; @@ -48,12 +48,13 @@ public class TestNgOperationBuild extends Project { scope(test) .include(dependency("org.testng", "testng", version(7, 8, 0))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 0))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 0))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 1))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 24, 2))); javadocOperation() .javadocOptions() + .author() .docLint(NO_MISSING) .link("https://rife2.github.io/bld/") .link("https://rife2.github.io/rife2/"); @@ -65,13 +66,24 @@ public class TestNgOperationBuild extends Project { .artifactId("bld-testng") .description("bld Extension to execute tests with TestNG") .url("https://github.com/rife2/bld-testng") - .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("http://www.apache.org/licenses/LICENSE-2.0.txt")) - .scm(new PublishScm().connection("scm:git:https://github.com/rife2/bld-testng.git") - .developerConnection("scm:git:git@github.com:rife2/bld-testng.git") - .url("https://github.com/rife2/bld-testng")) + .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("http://www.apache.org/licenses/LICENSE-2.0.txt") + ) + .scm( + new PublishScm() + .connection("scm:git:https://github.com/rife2/bld-testng.git") + .developerConnection("scm:git:git@github.com:rife2/bld-testng.git") + .url("https://github.com/rife2/bld-testng") + ) .signKey(property("sign.key")) .signPassphrase(property("sign.passphrase")); } @@ -81,7 +93,7 @@ public class TestNgOperationBuild extends Project { } @BuildCommand(summary = "Runs PMD analysis") - public void pmd() throws Exception { + public void pmd() { new PmdOperation() .fromProject(this) .failOnViolation(true) diff --git a/src/main/java/rife/bld/extension/TestNgOperation.java b/src/main/java/rife/bld/extension/TestNgOperation.java index 21287ed..b95445b 100644 --- a/src/main/java/rife/bld/extension/TestNgOperation.java +++ b/src/main/java/rife/bld/extension/TestNgOperation.java @@ -38,7 +38,6 @@ import java.util.stream.Collectors; */ @SuppressWarnings("PMD.TestClassWithoutTestCases") public class TestNgOperation extends AbstractProcessOperation { - public static final String TEST_CLASS_ARG = "-testclass"; private static final Logger LOGGER = Logger.getLogger(TestNgOperation.class.getName()); /** * The run options. @@ -62,6 +61,9 @@ public class TestNgOperation extends AbstractProcessOperation { * Should Method Invocation Listeners be run even for skipped methods. * *

Default is {@code true}

+ * + * @param isAlwaysRunListeners {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation alwaysRunListeners(Boolean isAlwaysRunListeners) { options.put("-alwaysrunlisteners", String.valueOf(isAlwaysRunListeners)); @@ -72,17 +74,27 @@ public class TestNgOperation extends AbstractProcessOperation { * 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 * {@link #parallel(Parallel) parallel} option). This can be overridden in the suite definition. + * + * @param count the count + * @return this operation instance */ public TestNgOperation dataProviderThreadCount(int count) { - options.put("-dataproviderthreadcount", String.valueOf(count)); + if (count >= 0) { + options.put("-dataproviderthreadcount", String.valueOf(count)); + } return this; } /** * The dependency injector factory implementation that TestNG should use. + * + * @param injectorFactory the injector factory + * @return this operation instance */ public TestNgOperation dependencyInjectorFactory(String injectorFactory) { - options.put("-dependencyinjectorfactory", injectorFactory); + if (isNotBlank(injectorFactory)) { + options.put("-dependencyinjectorfactory", injectorFactory); + } return this; } @@ -90,34 +102,45 @@ public class TestNgOperation extends AbstractProcessOperation { * The directory where the reports will be generated * *

Default is {@code build/test-output})

+ * + * @param directoryPath the directory path + * @return this operation instance */ public TestNgOperation directory(String directoryPath) { - options.put("-d", directoryPath); + if (isNotBlank(directoryPath)) { + options.put("-d", directoryPath); + } return this; } /** * The list of groups you want to be excluded from this run. * - * @see #excludeGroups(Collection) + * @param group one or more groups + * @return this operation instance + * @see #excludeGroups(Collection) #excludeGroups(Collection) */ public TestNgOperation excludeGroups(String... group) { - options.put("-excludegroups", String.join(",", group)); + options.put("-excludegroups", String.join(",", Arrays.stream(group).filter(this::isNotBlank).toList())); return this; } /** * The list of groups you want to be excluded from this run. * - * @see #excludeGroups(String...) + * @param group the list of groups + * @return this operation instance + * @see #excludeGroups(String...) #excludeGroups(String...) */ public TestNgOperation excludeGroups(Collection group) { - options.put("-excludegroups", String.join(",", group)); + options.put("-excludegroups", String.join(",", group.stream().filter(this::isNotBlank).toList())); return this; } /** * Part of the {@link #execute execute} operation, constructs the command list to use for building the process. + * + * @return the command list */ @Override protected List executeConstructProcessCommandList() { @@ -152,7 +175,7 @@ public class TestNgOperation extends AbstractProcessOperation { if (!suites.isEmpty()) { args.addAll(suites); - } else if (!options.containsKey(TEST_CLASS_ARG)) { + } else if (!options.containsKey("-testclass")) { try { args.add(writeDefaultSuite().getPath()); } catch (IOException ioe) { @@ -170,6 +193,9 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Configures the {@link BaseProject}. + * + * @param project the project + * @return this operation instance */ @Override public TestNgOperation fromProject(BaseProject project) { @@ -180,6 +206,9 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Should TestNG fail execution if all tests were skipped and nothing was run. + * + * @param isFailAllSkipped {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation failWhenEverythingSkipped(Boolean isFailAllSkipped) { options.put("-failwheneverythingskipped", String.valueOf(isFailAllSkipped)); @@ -189,6 +218,9 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Whether TestNG should continue to execute the remaining tests in the suite or skip them if in a {@code @Before*} * method. + * + * @param policy the policy + * @return this operation instance */ public TestNgOperation failurePolicy(FailurePolicy policy) { options.put("-configfailurepolicy", policy.name().toLowerCase(Locale.getDefault())); @@ -199,6 +231,9 @@ public class TestNgOperation extends AbstractProcessOperation { * Should TestNG consider failures in Data Providers as test failures. * *

Default is {@code false}

. + * + * @param resultsPerSuite {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation generateResultsPerSuite(Boolean resultsPerSuite) { options.put("-generateResultsPerSuite", String.valueOf(resultsPerSuite)); @@ -210,10 +245,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "windows", "linux", "regression}

* - * @see #groups(Collection) + * @param group one or more groups + * @return this operation instance + * @see #groups(Collection) #groups(Collection) */ public TestNgOperation groups(String... group) { - options.put("-groups", String.join(",", group)); + options.put("-groups", String.join(",", Arrays.stream(group).filter(this::isNotBlank).toList())); return this; } @@ -222,10 +259,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "windows", "linux", "regression}

* - * @see #groups(String...) + * @param group the list of groups + * @return this operation instance + * @see #groups(String...) #groups(String...) */ public TestNgOperation groups(Collection group) { - options.put("-groups", String.join(",", group)); + options.put("-groups", String.join(",", group.stream().filter(this::isNotBlank).toList())); return this; } @@ -234,6 +273,9 @@ public class TestNgOperation extends AbstractProcessOperation { * if any. * *

Default is {@code false}

+ * + * @param isIgnoreMissedTestNames {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation ignoreMissedTestName(Boolean isIgnoreMissedTestNames) { options.put("-ignoreMissedTestNames", String.valueOf(isIgnoreMissedTestNames)); @@ -244,16 +286,29 @@ public class TestNgOperation extends AbstractProcessOperation { * Should TestNG report all iterations of a data driven test as individual skips, in-case of upstream failures. * *

Default is {@code false}

+ * + * @param isIncludeDrivenTestsWhenSkipping {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation includeAllDataDrivenTestsWhenSkipping(Boolean isIncludeDrivenTestsWhenSkipping) { options.put("-includeAllDataDrivenTestsWhenSkipping", String.valueOf(isIncludeDrivenTestsWhenSkipping)); return this; } + /* + * Determines if a string is not blank. + */ + private boolean isNotBlank(String s) { + return s != null && !s.isBlank(); + } + /** * Enables or disables the JUnit mode. * *

Default is {@code false}

+ * + * @param isJunit {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation jUnit(Boolean isJunit) { options.put("-junit", String.valueOf(isJunit)); @@ -264,10 +319,12 @@ public class TestNgOperation extends AbstractProcessOperation { * The list of {@code .class} files or list of class names implementing {@code ITestListener} or * {@code ISuiteListener} * - * @see #listener(Collection) + * @param listener one or more listeners + * @return this operation instance + * @see #listener(Collection) #listener(Collection) */ public TestNgOperation listener(String... listener) { - options.put("-listener", String.join(",", listener)); + options.put("-listener", String.join(",", Arrays.stream(listener).filter(this::isNotBlank).toList())); return this; } @@ -275,20 +332,26 @@ public class TestNgOperation extends AbstractProcessOperation { * The list of {@code .class} files or list of class names implementing {@code ITestListener} or * {@code ISuiteListener} * - * @see #listener(String...) + * @param listener the list of listeners + * @return this operation instance + * @see #listener(String...) #listener(String...) */ public TestNgOperation listener(Collection listener) { - options.put("-listener", String.join(",", listener)); + options.put("-listener", String.join(",", listener.stream().filter(this::isNotBlank).toList())); return this; } /** * Set the Level of verbosity. * - * @see #verbose(int) + * @param level the level + * @return this operation instance + * @see #verbose(int) #verbose(int) */ public TestNgOperation log(int level) { - options.put("-log", String.valueOf(level)); + if (level >= 0) { + options.put("-log", String.valueOf(level)); + } return this; } @@ -297,10 +360,13 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example.Selector1:3", "com.example.Selector2:2"}

* - * @see #methodSelectors(Collection) + * @param selector one or more selectors + * @return this operation instance + * @see #methodSelectors(Collection) #methodSelectors(Collection) */ public TestNgOperation methodSelectors(String... selector) { - options.put("-methodselectors", String.join(",", selector)); + options.put("-methodselectors", + String.join(",", Arrays.stream(selector).filter(this::isNotBlank).toList())); return this; } @@ -309,10 +375,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example.Selector1:3", "com.example.Selector2:2"}

* - * @see #methodSelectors(String...) + * @param selector the list of selectors + * @return this operation instance + * @see #methodSelectors(String...) #methodSelectors(String...) */ public TestNgOperation methodSelectors(Collection selector) { - options.put("-methodselectors", String.join(",", selector)); + options.put("-methodselectors", String.join(",", selector.stream().filter(this::isNotBlank).toList())); return this; } @@ -321,10 +389,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example.Foo.f1", "com.example.Bar.f2"}

* - * @see #methods(Collection) + * @param method one or more methods + * @return this operation instance + * @see #methods(Collection) #methods(Collection) */ public TestNgOperation methods(String... method) { - options.put("-methods", String.join(",", method)); + options.put("-methods", String.join(",", Arrays.stream(method).filter(this::isNotBlank).toList())); return this; } @@ -333,10 +403,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example.Foo.f1", "com.example.Bar.f2"}

* - * @see #methods(String...) + * @param method the list of methods + * @return this operation instance + * @see #methods(String...) #methods(String...) */ public TestNgOperation methods(Collection method) { - options.put("-methods", String.join(",", method)); + options.put("-methods", String.join(",", method.stream().filter(this::isNotBlank).toList())); return this; } @@ -344,6 +416,9 @@ public class TestNgOperation extends AbstractProcessOperation { * Mixed mode autodetects the type of current test and run it with appropriate runner. * *

Default is {@code false}

+ * + * @param isMixed {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation mixed(Boolean isMixed) { options.put("-mixed", String.valueOf(isMixed)); @@ -352,21 +427,25 @@ public class TestNgOperation extends AbstractProcessOperation { /** * The list of {@code .class} files or class names implementing {@code ITestRunnerFactory}. - * - * @see #objectFactory(Collection) + * + * @param factory one or more factories + * @return this operation instance + * @see #objectFactory(Collection) #objectFactory(Collection) */ public TestNgOperation objectFactory(String... factory) { - options.put("-objectfactory", String.join(",", factory)); + options.put("-objectfactory", String.join(",", Arrays.stream(factory).filter(this::isNotBlank).toList())); return this; } /** * The list of {@code .class} files or class names implementing {@code ITestRunnerFactory}. * - * @see #objectFactory(String...) + * @param factory the list of factories + * @return this operation instance + * @see #objectFactory(String...) #objectFactory(String...) */ public TestNgOperation objectFactory(Collection factory) { - options.put("-objectfactory", String.join(",", factory)); + options.put("-objectfactory", String.join(",", factory.stream().filter(this::isNotBlank).toList())); return this; } @@ -374,10 +453,13 @@ public class TestNgOperation extends AbstractProcessOperation { * The list of fully qualified class names of listeners that should be skipped from being wired in via * Service Loaders. * - * @see #overrideIncludedMethods(Collection) + * @param method one or more methods + * @return this operation instance + * @see #overrideIncludedMethods(Collection) #overrideIncludedMethods(Collection) */ public TestNgOperation overrideIncludedMethods(String... method) { - options.put("-overrideincludedmethods", String.join(",", method)); + options.put("-overrideincludedmethods", + String.join(",", Arrays.stream(method).filter(this::isNotBlank).toList())); return this; } @@ -385,10 +467,12 @@ public class TestNgOperation extends AbstractProcessOperation { * The list of fully qualified class names of listeners that should be skipped from being wired in via * Service Loaders. * - * @see #overrideIncludedMethods(String...) + * @param method the list of methods + * @return this operation instance + * @see #overrideIncludedMethods(String...) #overrideIncludedMethods(String...) */ public TestNgOperation overrideIncludedMethods(Collection method) { - options.put("-overrideincludedmethods", String.join(",", method)); + options.put("-overrideincludedmethods", String.join(",", method.stream().filter(this::isNotBlank).toList())); return this; } @@ -399,10 +483,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example", "test.sample.*"}

* - * @see #packages(Collection) + * @param name one or more names + * @return this operation instance + * @see #packages(Collection) #packages(Collection) */ public TestNgOperation packages(String... name) { - packages.addAll(Arrays.stream(name).toList()); + packages.addAll(Arrays.stream(name).filter(this::isNotBlank).toList()); return this; } @@ -413,10 +499,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "com.example", "test.sample.*"}

* - * @see #packages(String...) + * @param name the list of names + * @return this operation instance + * @see #packages(String...) #packages(String...) */ public TestNgOperation packages(Collection name) { - packages.addAll(name); + packages.addAll(name.stream().filter(this::isNotBlank).toList()); return this; } @@ -425,6 +513,8 @@ public class TestNgOperation extends AbstractProcessOperation { * If not set, default mechanism is not to use parallel threads at all. * This can be overridden in the suite definition. * + * @param mechanism the mechanism + * @return this operation instance * @see Parallel */ public TestNgOperation parallel(Parallel mechanism) { @@ -434,9 +524,14 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Specifies the port number. + * + * @param port the port + * @return this operation instance */ public TestNgOperation port(int port) { - options.put("-port", String.valueOf(port)); + if (port >= 1) { + options.put("-port", String.valueOf(port)); + } return this; } @@ -444,6 +539,9 @@ public class TestNgOperation extends AbstractProcessOperation { * Should TestNG consider failures in Data Providers as test failures. * *

Default is {@code false}

+ * + * @param isPropagateDataProviderFailure {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation propagateDataProviderFailureAsTestFailure(Boolean isPropagateDataProviderFailure) { options.put("-propagateDataProviderFailureAsTestFailure", String.valueOf(isPropagateDataProviderFailure)); @@ -452,9 +550,14 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Specifies the extended configuration for custom report listener. + * + * @param reporter the reporter + * @return this operation instance */ public TestNgOperation reporter(String reporter) { - options.put("-reporter", reporter); + if (isNotBlank(reporter)) { + options.put("-reporter", reporter); + } return this; } @@ -463,10 +566,12 @@ public class TestNgOperation extends AbstractProcessOperation { * if you are using javadoc type annotations. (e.g. {@code "src/test"} or * {@code "src/test/org/testng/eclipse-plugin", "src/test/org/testng/testng"}). * - * @see #sourceDir(String...) + * @param directory one or more directories + * @return this operation instance + * @see #sourceDir(String...) #sourceDir(String...) */ public TestNgOperation sourceDir(String... directory) { - options.put("-sourcedir", String.join(";", directory)); + options.put("-sourcedir", String.join(";", Arrays.stream(directory).filter(this::isNotBlank).toList())); return this; } @@ -475,10 +580,12 @@ public class TestNgOperation extends AbstractProcessOperation { * if you are using javadoc type annotations. (e.g. {@code "src/test"} or * {@code "src/test/org/testng/eclipse-plugin", "src/test/org/testng/testng"}). * - * @see #sourceDir(String...) + * @param directory the list of directories + * @return this operation instance + * @see #sourceDir(String...) #sourceDir(String...) */ public TestNgOperation sourceDir(Collection directory) { - options.put("-sourcedir", String.join(";", directory)); + options.put("-sourcedir", String.join(";", directory.stream().filter(this::isNotBlank).toList())); return this; } @@ -486,10 +593,13 @@ public class TestNgOperation extends AbstractProcessOperation { * Specifies the List of fully qualified class names of listeners that should be skipped from being wired in via * Service Loaders. * - * @see #spiListenersToSkip(Collection) + * @param listenerToSkip the listeners to skip + * @return this operation instance + * @see #spiListenersToSkip(Collection) #spiListenersToSkip(Collection) */ public TestNgOperation spiListenersToSkip(String... listenerToSkip) { - options.put("-spilistenerstoskip", String.join(",", listenerToSkip)); + options.put("-spilistenerstoskip", + String.join(",", Arrays.stream(listenerToSkip).filter(this::isNotBlank).toList())); return this; } @@ -497,28 +607,41 @@ public class TestNgOperation extends AbstractProcessOperation { * Specifies the List of fully qualified class names of listeners that should be skipped from being wired in via * Service Loaders. * - * @see #spiListenersToSkip(String...) + * @param listenerToSkip the listeners to skip + * @return this operation instance + * @see #spiListenersToSkip(String...) #spiListenersToSkip(String...) */ public TestNgOperation spiListenersToSkip(Collection listenerToSkip) { - options.put("-spilistenerstoskip", String.join(",", listenerToSkip)); + options.put("-spilistenerstoskip", + String.join(",", listenerToSkip.stream().filter(this::isNotBlank).toList())); return this; } /** * This specifies the default name of the test suite, if not specified in the suite definition file or source code. * This option is ignored if the {@code suite.xml} file or the source code specifies a different suite name. + * + * @param name the name + * @return this operation instance */ public TestNgOperation suiteName(String name) { - options.put("-suitename", '"' + name + '"'); + if (isNotBlank(name)) { + options.put("-suitename", '"' + name + '"'); + } return this; } /** * Specifies the size of the thread pool to use to run suites. * Required if no {@link #packages(String...)} specified. + * + * @param poolSize the pool size + * @return this operation instance */ public TestNgOperation suiteThreadPoolSize(int poolSize) { - options.put("-suitethreadpoolsize", String.valueOf(poolSize)); + if (poolSize >= 0) { + options.put("-suitethreadpoolsize", String.valueOf(poolSize)); + } return this; } @@ -527,10 +650,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "testng.xml", "testng2.xml"}

* - * @see #suites(Collection) + * @param suite one or more suites + * @return this operation instance + * @see #suites(Collection) #suites(Collection) */ public TestNgOperation suites(String... suite) { - suites.addAll(Arrays.stream(suite).toList()); + suites.addAll(Arrays.stream(suite).filter(this::isNotBlank).toList()); return this; } @@ -539,15 +664,19 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "testng.xml", "testng2.xml"}

* - * @see #suites(String...) + * @param suite the list of suites + * @return this operation instance + * @see #suites(String...) #suites(String...) */ public TestNgOperation suites(Collection suite) { - suites.addAll(suite); + suites.addAll(suite.stream().filter(this::isNotBlank).toList()); return this; } /** * Create a test file and delete it on exit. + * + * @return this operation instance */ private File tempFile() throws IOException { var temp = File.createTempFile("testng", ".xml"); @@ -560,10 +689,12 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "org.foo.Test1","org.foo.test2"}

* - * @see #testClass(Collection) + * @param aClass one or more classes + * @return this operation instance + * @see #testClass(Collection) #testClass(Collection) */ public TestNgOperation testClass(String... aClass) { - options.put("-testclass", String.join(",", aClass)); + options.put("-testclass", String.join(",", Arrays.stream(aClass).filter(this::isNotBlank).toList())); return this; } @@ -572,30 +703,36 @@ public class TestNgOperation extends AbstractProcessOperation { * *

For example: {@code "org.foo.Test1","org.foo.test2"}

* - * @see #testClass(String...) + * @param aClass the list of classes + * @return this operation instance + * @see #testClass(String...) #testClass(String...) */ public TestNgOperation testClass(Collection aClass) { - options.put("-testclass", String.join(",", aClass)); + options.put("-testclass", String.join(",", aClass.stream().filter(this::isNotBlank).toList())); return this; } /** * Specifies the classpath entries used to run tests. * - * @see #testClasspath(String...) + * @param entry one or more entries + * @return this operation instance + * @see #testClasspath(String...) #testClasspath(String...) */ public TestNgOperation testClasspath(String... entry) { - testClasspath.addAll(Arrays.stream(entry).toList()); + testClasspath.addAll(Arrays.stream(entry).filter(this::isNotBlank).toList()); return this; } /** * Specifies the classpath entries used to run tests. * - * @see #testClasspath(String...) + * @param entry the list of entries + * @return this operation instance + * @see #testClasspath(String...) #testClasspath(String...) */ public TestNgOperation testClasspath(Collection entry) { - testClasspath.addAll(entry); + testClasspath.addAll(entry.stream().filter(this::isNotBlank).toList()); return this; } @@ -603,46 +740,67 @@ public class TestNgOperation extends AbstractProcessOperation { * Specifies a jar file that contains test classes. If a {@code testng.xml} file is found at the root of that * jar file, it will be used, otherwise, all the test classes found in this jar file will be considered test * classes. + * + * @param jar the jar + * @return this operation instance */ public TestNgOperation testJar(String jar) { - options.put("-testjar", jar); + if (isNotBlank(jar)) { + options.put("-testjar", jar); + } return this; } /** * This specifies the default name of test, if not specified in the suite definition file or source code. * This option is ignored if the {@code suite.xml} file or the source code specifies a different test name. + * + * @param name the name + * @return this operation instance */ public TestNgOperation testName(String name) { - options.put("-testname", '"' + name + '"'); + if (isNotBlank(name)) { + options.put("-testname", '"' + name + '"'); + } return this; } /** * Only tests defined in a {@code } tag matching one of these names will be run. * - * @see #testNames(Collection) + * @param name one or more names + * @return this operation instance + * @see #testNames(Collection) #testNames(Collection) */ public TestNgOperation testNames(String... name) { - options.put("-testnames", Arrays.stream(name).map(s -> '"' + s + '"').collect(Collectors.joining(","))); + options.put("-testnames", + Arrays.stream(name).filter(this::isNotBlank).map(s -> '"' + s + '"').collect(Collectors.joining(","))); return this; } /** * Only tests defined in a {@code } tag matching one of these names will be run. * - * @see #testName(String) + * @param name the list of names + * @return this operation instance + * @see #testName(String) #testName(String) */ public TestNgOperation testNames(Collection name) { - options.put("-testnames", name.stream().map(s -> '"' + s + '"').collect(Collectors.joining(","))); + options.put("-testnames", + name.stream().filter(this::isNotBlank).map(s -> '"' + s + '"').collect(Collectors.joining(","))); return this; } /** * Specifies the factory used to create tests. + * + * @param factory the factory + * @return this operation instance */ public TestNgOperation testRunFactory(String factory) { - options.put("-testrunfactory", factory); + if (isNotBlank(factory)) { + options.put("-testrunfactory", factory); + } return this; } @@ -650,17 +808,27 @@ public class TestNgOperation extends AbstractProcessOperation { * This sets the default maximum number of threads to use for running tests in parallel. It will only take effect * if the parallel mode has been selected (for example, with the {@link #parallel(Parallel) parallel} option). * This can be overridden in the suite definition. + * + * @param count the count + * @return this operation instance */ public TestNgOperation threadCount(int count) { - options.put("-threadcount", String.valueOf(count)); + if (count >= 0) { + options.put("-threadcount", String.valueOf(count)); + } return this; } /** * Specifies the thread pool executor factory implementation that TestNG should use. + * + * @param factoryClass the factory class + * @return this operation instance */ public TestNgOperation threadPoolFactoryClass(String factoryClass) { - options.put("-threadpoolfactoryclass", factoryClass); + if (isNotBlank(factoryClass)) { + options.put("-threadpoolfactoryclass", factoryClass); + } return this; } @@ -668,6 +836,9 @@ public class TestNgOperation extends AbstractProcessOperation { * Whether to use the default listeners * *

Default is {@code true}

+ * + * @param isDefaultListener {@code true} or {@code false} + * @return this operation instance */ public TestNgOperation useDefaultListeners(Boolean isDefaultListener) { options.put("-usedefaultlisteners", String.valueOf(isDefaultListener)); @@ -677,10 +848,14 @@ public class TestNgOperation extends AbstractProcessOperation { /** * Set the Level of verbosity. * - * @see #log(int) + * @param level the level + * @return this operation instance + * @see #log(int) #log(int) */ public TestNgOperation verbose(int level) { - options.put("-verbose", String.valueOf(level)); + if (level >= 0) { + options.put("-verbose", String.valueOf(level)); + } return this; } @@ -704,9 +879,14 @@ public class TestNgOperation extends AbstractProcessOperation { * This attribute should contain the path to a valid XML file inside the test jar * (e.g. {@code "resources/testng.xml"}). The default is {@code testng.xml}, which means a file called * {@code testng.xml} at the root of the jar file. This option will be ignored unless a test jar is specified. + * + * @param path the path + * @return this operation instance */ public TestNgOperation xmlPathInJar(String path) { - options.put("-xmlpathinjar", path); + if (isNotBlank(path)) { + options.put("-xmlpathinjar", path); + } return this; } @@ -714,13 +894,31 @@ public class TestNgOperation extends AbstractProcessOperation { * Parallel Mechanisms */ public enum Parallel { - METHODS, TESTS, CLASSES + /** + * Methods mechanism. + */ + METHODS, + /** + * Tests mechanism. + */ + TESTS, + /** + * Classes mechanism. + */ + CLASSES } /** * Failure Policies */ public enum FailurePolicy { - SKIP, CONTINUE + /** + * Skip failure policy. + */ + SKIP, + /** + * Continue failure policy. + */ + CONTINUE } } \ No newline at end of file diff --git a/src/test/java/rife/bld/extension/TestNgOperationTest.java b/src/test/java/rife/bld/extension/TestNgOperationTest.java index d5e6419..88a7fa3 100644 --- a/src/test/java/rife/bld/extension/TestNgOperationTest.java +++ b/src/test/java/rife/bld/extension/TestNgOperationTest.java @@ -47,10 +47,10 @@ class TestNgOperationTest { @Test void testClass() { var op = new TestNgOperation().testClass(FOO, BAR); - assertThat(op.options.get(TestNgOperation.TEST_CLASS_ARG)).isEqualTo(String.format("%s,%s", FOO, BAR)); + assertThat(op.options.get("-testclass")).isEqualTo(String.format("%s,%s", FOO, BAR)); new TestNgOperation().testClass(List.of(FOO, BAR)); - assertThat(op.options.get(TestNgOperation.TEST_CLASS_ARG)).as("as list") + assertThat(op.options.get("-testclass")).as("as list") .isEqualTo(String.format("%s,%s", FOO, BAR)); } From 47e23dc23c9955d108b65b8d4c05293ae89d2ab1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 28 Dec 2023 17:25:52 -0800 Subject: [PATCH 03/71] Added support for TestNG 7.9.0 --- README.md | 2 +- examples/README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 3 ++- src/bld/java/rife/bld/extension/TestNgOperationBuild.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 507105f..e9c150e 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,6 @@ Don't forget to add a TestNG `test` dependency to your build file, as it is not ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("org.testng", "testng", version(7, 8, 0))); +scope(test).include(dependency("org.testng", "testng", version(7, 9, 0))); ``` diff --git a/examples/README.md b/examples/README.md index 8e27727..8fdec70 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,5 +1,5 @@ Compile and Run Tests with TestNG ```console -./run compile test +./bld compile test ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index dd5ca41..b4ff53e 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,8 @@ public class ExamplesBuild extends BaseProject { version = version(0, 1, 0); repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("org.testng", "testng", version(7, 8, 0))); + + scope(test).include(dependency("org.testng", "testng", version(7, 9, 0))); } public static void main(String[] args) { diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index 1bbb372..d88d787 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -47,7 +47,7 @@ public class TestNgOperationBuild extends Project { .include(dependency("com.uwyn.rife2", "bld", version(1, 7, 5))); scope(test) - .include(dependency("org.testng", "testng", version(7, 8, 0))) + .include(dependency("org.testng", "testng", version(7, 9, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 24, 2))); From e26934ef6788125ed7f89ec4ef81c4d2edc38b71 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jan 2024 17:45:13 -0800 Subject: [PATCH 04/71] Updated copyright --- .idea/copyright/Apache_License.xml | 4 ++-- .../{TestNgSimpleTest.java => TestNgExample.java} | 2 +- ...estNgSimple2Test.java => TestNgExampleTest.java} | 2 +- src/test/resources/testng2.xml | 2 +- src/test/resources/testng3.xml | 13 ------------- 5 files changed, 5 insertions(+), 18 deletions(-) rename src/test/java/rife/bld/extension/{TestNgSimpleTest.java => TestNgExample.java} (95%) rename src/test/java/rife/bld/extension/{TestNgSimple2Test.java => TestNgExampleTest.java} (94%) delete mode 100644 src/test/resources/testng3.xml diff --git a/.idea/copyright/Apache_License.xml b/.idea/copyright/Apache_License.xml index 15687f4..ade80da 100644 --- a/.idea/copyright/Apache_License.xml +++ b/.idea/copyright/Apache_License.xml @@ -1,6 +1,6 @@ - - \ No newline at end of file +
diff --git a/src/test/java/rife/bld/extension/TestNgSimpleTest.java b/src/test/java/rife/bld/extension/TestNgExample.java similarity index 95% rename from src/test/java/rife/bld/extension/TestNgSimpleTest.java rename to src/test/java/rife/bld/extension/TestNgExample.java index 8007a15..3997ea4 100644 --- a/src/test/java/rife/bld/extension/TestNgSimpleTest.java +++ b/src/test/java/rife/bld/extension/TestNgExample.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. diff --git a/src/test/java/rife/bld/extension/TestNgSimple2Test.java b/src/test/java/rife/bld/extension/TestNgExampleTest.java similarity index 94% rename from src/test/java/rife/bld/extension/TestNgSimple2Test.java rename to src/test/java/rife/bld/extension/TestNgExampleTest.java index d09159d..64fc698 100644 --- a/src/test/java/rife/bld/extension/TestNgSimple2Test.java +++ b/src/test/java/rife/bld/extension/TestNgExampleTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. diff --git a/src/test/resources/testng2.xml b/src/test/resources/testng2.xml index 01168b7..ff01b87 100644 --- a/src/test/resources/testng2.xml +++ b/src/test/resources/testng2.xml @@ -2,7 +2,7 @@ - + diff --git a/src/test/resources/testng3.xml b/src/test/resources/testng3.xml deleted file mode 100644 index baa78e5..0000000 --- a/src/test/resources/testng3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - From c8fe28cda91a84c7c0525b3d0cb428e77d03244f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jan 2024 17:53:40 -0800 Subject: [PATCH 05/71] Added support for new TestNG thread pool arguments --- .../rife/bld/extension/TestNgOperation.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/rife/bld/extension/TestNgOperation.java b/src/main/java/rife/bld/extension/TestNgOperation.java index b95445b..33c15d5 100644 --- a/src/main/java/rife/bld/extension/TestNgOperation.java +++ b/src/main/java/rife/bld/extension/TestNgOperation.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. @@ -561,6 +561,19 @@ public class TestNgOperation extends AbstractProcessOperation { return this; } + /** + * Should TestNG use a global Shared ThreadPool (At suite level) for running data providers. + * + * @param shareThreadPoolForDataProviders {@code true} or {@code false} + * @return this operation instance + */ + public TestNgOperation shareThreadPoolForDataProviders(boolean shareThreadPoolForDataProviders) { + if (shareThreadPoolForDataProviders) { + options.put("-shareThreadPoolForDataProviders", String.valueOf(shareThreadPoolForDataProviders)); + } + return this; + } + /** * The directories where your javadoc annotated test sources are. This option is only necessary * if you are using javadoc type annotations. (e.g. {@code "src/test"} or @@ -845,6 +858,19 @@ public class TestNgOperation extends AbstractProcessOperation { return this; } + /** + * Should TestNG use a global Shared ThreadPool (At suite level) for running regular and data driven tests. + * + * @param useGlobalThreadPool {@code true} or {@code false} + * @return this operation instance + */ + public TestNgOperation useGlobalThreadPool(boolean useGlobalThreadPool) { + if (useGlobalThreadPool) { + options.put("-useGlobalThreadPool", String.valueOf(useGlobalThreadPool)); + } + return this; + } + /** * Set the Level of verbosity. * @@ -921,4 +947,4 @@ public class TestNgOperation extends AbstractProcessOperation { */ CONTINUE } -} \ No newline at end of file +} From 75b33ba6d666106e83ea746f6994d62e0ea8e5fb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jan 2024 17:54:00 -0800 Subject: [PATCH 06/71] Reworked tests --- .../test/java/com/example/ExamplesTest.java | 12 +++---- .../bld/extension/TestNgOperationBuild.java | 4 +-- .../rife/bld/extension/TestNgExample.java | 22 +++--------- .../rife/bld/extension/TestNgExampleTest.java | 13 ++++--- .../bld/extension/TestNgOperationTest.java | 34 ++++++++++++++----- src/test/resources/testng.xml | 2 +- src/test/resources/testng2.xml | 4 +-- 7 files changed, 49 insertions(+), 42 deletions(-) diff --git a/examples/src/test/java/com/example/ExamplesTest.java b/examples/src/test/java/com/example/ExamplesTest.java index 8d93e01..620f3ae 100644 --- a/examples/src/test/java/com/example/ExamplesTest.java +++ b/examples/src/test/java/com/example/ExamplesTest.java @@ -3,18 +3,16 @@ package com.example; import org.testng.Assert; import org.testng.annotations.Test; -class ExampleTest { - public static void main(String[] args) { - new ExampleTest().verifyHello(); - } +class ExamplesTest { + private final ExamplesLib example = new ExamplesLib(); @Test - void testFail() { - Assert.fail("failed"); + void foo() { + Assert.assertNotEquals(example.getMessage(), "foo"); } @Test void verifyHello() { - Assert.assertTrue(true); + Assert.assertEquals(example.getMessage(), "Hello World!"); } } \ No newline at end of file diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index d88d787..ce1ebd9 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. @@ -50,7 +50,7 @@ public class TestNgOperationBuild extends Project { .include(dependency("org.testng", "testng", version(7, 9, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 1))) - .include(dependency("org.assertj", "assertj-core", version(3, 24, 2))); + .include(dependency("org.assertj", "assertj-core", version(3, 25, 2))); javadocOperation() .javadocOptions() diff --git a/src/test/java/rife/bld/extension/TestNgExample.java b/src/test/java/rife/bld/extension/TestNgExample.java index 3997ea4..c2dc3e0 100644 --- a/src/test/java/rife/bld/extension/TestNgExample.java +++ b/src/test/java/rife/bld/extension/TestNgExample.java @@ -16,27 +16,15 @@ package rife.bld.extension; -import org.testng.Assert; -import org.testng.annotations.Test; - /** - * Implements the TestNgSimpleTest class. + * Implements the TestNgExample class. * * @author Erik C. Thauvin * @since 1.0 */ -class TestNgSimpleTest { - public static void main(String[] args) { - new TestNgSimpleTest().verifyHello(); - } - - @Test - void testFail() { - Assert.fail("failed"); - } - - @Test - void verifyHello() { - Assert.assertTrue(true); +@SuppressWarnings("PMD.TestClassWithoutTestCases") +class TestNgExample { + public String getMessage() { + return "Hello World!"; } } diff --git a/src/test/java/rife/bld/extension/TestNgExampleTest.java b/src/test/java/rife/bld/extension/TestNgExampleTest.java index 64fc698..a2c35b9 100644 --- a/src/test/java/rife/bld/extension/TestNgExampleTest.java +++ b/src/test/java/rife/bld/extension/TestNgExampleTest.java @@ -20,18 +20,21 @@ import org.testng.Assert; import org.testng.annotations.Test; /** - * Implements the TestNgSimpleTest class. + * Implements the TestNgExampleTest class. * * @author Erik C. Thauvin * @since 1.0 */ -class TestNgSimple2Test { - public static void main(String[] args) { - new TestNgSimple2Test().verifyHello(); +class TestNgExampleTest { + private final TestNgExample example = new TestNgExample(); + + @Test + void foo() { + Assert.assertEquals(example.getMessage(), "foo"); } @Test void verifyHello() { - Assert.assertTrue(true); + Assert.assertEquals(example.getMessage(), "Hello World!"); } } diff --git a/src/test/java/rife/bld/extension/TestNgOperationTest.java b/src/test/java/rife/bld/extension/TestNgOperationTest.java index 88a7fa3..3bdc424 100644 --- a/src/test/java/rife/bld/extension/TestNgOperationTest.java +++ b/src/test/java/rife/bld/extension/TestNgOperationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. @@ -85,7 +85,7 @@ class TestNgOperationTest { void testExecute() { assertThatThrownBy(() -> new TestNgOperation().fromProject(new Project()) - .testClass("rife.bld.extension.TestNgSimpleTest") + .testClass("rife.bld.extension.TestNgExampleTest") .execute()) .as("with testClass").isInstanceOf(ExitStatusException.class); @@ -97,8 +97,8 @@ class TestNgOperationTest { assertThatCode(() -> new TestNgOperation().fromProject(new Project()) - .testClass("rife.bld.extension.TestNgSimpleTest") - .methods("rife.bld.extension.TestNgSimpleTest.verifyHello") + .testClass("rife.bld.extension.TestNgExampleTest") + .methods("rife.bld.extension.TestNgExampleTest.verifyHello") .execute()) .as("with methods").doesNotThrowAnyException(); @@ -110,14 +110,14 @@ class TestNgOperationTest { assertThatCode(() -> new TestNgOperation().fromProject(new Project()) - .suites("src/test/resources/testng3.xml") + .suites("src/test/resources/testng2.xml") .log(2) .execute()) - .as("suite 3").doesNotThrowAnyException(); + .as("suite 2 - log ").doesNotThrowAnyException(); assertThatCode(() -> new TestNgOperation().fromProject(new Project()) - .suites("src/test/resources/testng3.xml") + .suites("src/test/resources/testng2.xml") .testClasspath("lib/test/*", "build/main", "build/test") .log(2) .execute()) @@ -125,7 +125,7 @@ class TestNgOperationTest { assertThatCode(() -> new TestNgOperation().fromProject(new Project()) - .suites("src/test/resources/testng3.xml") + .suites("src/test/resources/testng2.xml") .testClasspath(List.of("lib/test/*", "build/main", "build/test")) .log(2) .execute()) @@ -315,6 +315,15 @@ class TestNgOperationTest { assertThat(op.options.get("-testrunfactory")).isEqualTo(FOO); } + @Test + void testShareThreadPoolForDataProviders() { + var op = new TestNgOperation().shareThreadPoolForDataProviders(true); + assertThat(op.options.get("-shareThreadPoolForDataProviders")).isEqualTo("true"); + + op = new TestNgOperation().shareThreadPoolForDataProviders(false); + assertThat(op.options.get("-shareThreadPoolForDataProviders")).isNull(); + } + @Test void testSourceDir() { var op = new TestNgOperation().sourceDir(FOO, BAR); @@ -375,6 +384,15 @@ class TestNgOperationTest { assertThat(op.options.get("-usedefaultlisteners")).isEqualTo("true"); } + @Test + void testUseGlobalThreadPool() { + var op = new TestNgOperation().useGlobalThreadPool(true); + assertThat(op.options.get("-useGlobalThreadPool")).isEqualTo("true"); + + op = new TestNgOperation().useGlobalThreadPool(false); + assertThat(op.options.get("-useGlobalThreadPool")).isNull(); + } + @Test void testVerbose() { var op = new TestNgOperation().log(1); diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml index 41fd8ae..8ad378e 100644 --- a/src/test/resources/testng.xml +++ b/src/test/resources/testng.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/src/test/resources/testng2.xml b/src/test/resources/testng2.xml index ff01b87..44ddf38 100644 --- a/src/test/resources/testng2.xml +++ b/src/test/resources/testng2.xml @@ -2,9 +2,9 @@ - + - + From d1e16bbee38b04136511f3b9959cf4cf329af7b3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jan 2024 17:54:29 -0800 Subject: [PATCH 07/71] Added shell script to check for new TestNG arguments --- checkcliargs.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100755 checkcliargs.sh diff --git a/checkcliargs.sh b/checkcliargs.sh new file mode 100755 index 0000000..0bad85a --- /dev/null +++ b/checkcliargs.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +MAIN="org.testng.TestNG" +TMPNEW=/tmp/checkcliargs-new +TMPOLD=/tmp/checkcliargs-old + +java -cp "lib/test/*" $MAIN >$TMPNEW +java -cp "examples/lib/test/*" $MAIN >$TMPOLD + +diff $TMPOLD $TMPNEW + +rm -rf $TMPNEW $TMPOLD From cfa0a18581e52340c72776fe50e6662823949e2d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 30 Jan 2024 22:34:37 -0800 Subject: [PATCH 08/71] Bumped bld to 1.8.0 --- .idea/libraries/bld.xml | 4 ++-- README.md | 2 +- examples/.idea/libraries/bld.xml | 4 ++-- examples/lib/bld/bld-wrapper.jar | Bin 27321 -> 27293 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 27321 -> 27293 bytes lib/bld/bld-wrapper.properties | 2 +- .../bld/extension/TestNgOperationBuild.java | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index be6063a..4bb3867 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/README.md b/README.md index e9c150e..b091c13 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![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/1.7.3-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/1.8.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) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index be6063a..4bb3867 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 2d19858b0e6d3153a841e4c09b81c5d6d4a9c281..5db889b423f8271bd8213df174f0c560379c42a2 100644 GIT binary patch delta 25301 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 diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index e0bf642..dbe2d02 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -4,4 +4,4 @@ bld.extensions=com.uwyn.rife2:bld-testng:0.9.3-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= -bld.version=1.7.5 +bld.version=1.8.0 diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 8874c74ba23100f767c3125b2c72cc37648b13df..cc3d9e7d9368f955647964970438101c20454116 100644 GIT binary patch delta 25301 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 Date: Wed, 31 Jan 2024 01:18:00 -0800 Subject: [PATCH 09/71] Version 0.9.3 --- examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/TestNgOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index dbe2d02..a736413 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-testng:0.9.3-SNAPSHOT +bld.extensions=com.uwyn.rife2:bld-testng:0.9.3 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index d2f1fd0..6b7429d 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.4 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.5 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index 4fe6979..eb5c4fa 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project { public TestNgOperationBuild() { pkg = "rife.bld.extension"; name = "bld-testng"; - version = version(0, 9, 3, "SNAPSHOT"); + version = version(0, 9, 3); javaRelease = 17; downloadSources = true; From f017dce3d907f9810e3d021d904c9d23e2acec6e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 25 Feb 2024 18:54:36 -0800 Subject: [PATCH 10/71] Improved Visual Studio Code support --- .vscode/launch.json | 9 ++++++++- .vscode/settings.json | 10 +++++----- examples/.vscode/launch.json | 5 ++++- examples/.vscode/settings.json | 11 ++++++----- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index aff5292..2d63b46 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,14 @@ "type": "java", "name": "Run Tests", "request": "launch", - "mainClass": "rife.bld.extension.TestNgOperationTest" + "mainClass": "org.junit.platform.console.ConsoleLauncher", + "args": [ + "--details=verbose", + "--scan-classpath", + "--disable-banner", + "--disable-ansi-colors", + "--exclude-engine=junit-platform-suite", + "--exclude-engine=junit-vintage"] } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 1b2837f..74ba820 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,13 +3,13 @@ "src/main/java", "src/main/resources", "src/test/java", - "src/bld/java" + "src/test/resources", + "src/bld/java", + "src/bld/resources" ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}bld-1.7.1.jar", - "lib/compile/*.jar", - "lib/runtime/*.jar", - "lib/test/*.jar" + "${HOME}/.bld/dist/bld-1.8.0.jar", + "lib/**/*.jar" ] } diff --git a/examples/.vscode/launch.json b/examples/.vscode/launch.json index 71f6bb3..39b96eb 100644 --- a/examples/.vscode/launch.json +++ b/examples/.vscode/launch.json @@ -5,7 +5,10 @@ "type": "java", "name": "Run Tests", "request": "launch", - "mainClass": "com.example.ExamplesTest" + "mainClass": "com.example.ExamplesBuild", + "args": [ + "compile", "test" + ] } ] } diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index b676049..5dc163c 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -3,13 +3,14 @@ "src/main/java", "src/main/resources", "src/test/java", - "src/bld/java" + "src/test/resources", + "src/bld/java", + "src/bld/resources", + "src/bld/resources" ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}bld-1.7.2.jar", - "lib/compile/*.jar", - "lib/runtime/*.jar", - "lib/test/*.jar" + "${HOME}/.bld/dist/bld-1.8.0.jar", + "lib/**/*.jar" ] } From 1e7c9724c025931a3d0235c1d9c1b58a489d9a84 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 25 Feb 2024 18:54:59 -0800 Subject: [PATCH 11/71] Bumped JUnit versions --- examples/src/bld/java/com/example/ExamplesBuild.java | 5 ++++- src/bld/java/rife/bld/extension/TestNgOperationBuild.java | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index b4ff53e..ab35ed3 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -22,6 +22,9 @@ public class ExamplesBuild extends BaseProject { name = "Examples"; version = version(0, 1, 0); + downloadSources = true; + autoDownloadPurge = true; + repositories = List.of(MAVEN_CENTRAL); scope(test).include(dependency("org.testng", "testng", version(7, 9, 0))); @@ -38,4 +41,4 @@ public class ExamplesBuild extends BaseProject { .packages("com.example") .execute(); } -} \ No newline at end of file +} diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index eb5c4fa..95ec042 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project { public TestNgOperationBuild() { pkg = "rife.bld.extension"; name = "bld-testng"; - version = version(0, 9, 3); + version = version(0, 9, 4, "SNAPSHOTS"); javaRelease = 17; downloadSources = true; @@ -48,9 +48,9 @@ public class TestNgOperationBuild extends Project { scope(test) .include(dependency("org.testng", "testng", version(7, 9, 0))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 1))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 1))) - .include(dependency("org.assertj", "assertj-core", version(3, 25, 2))); + .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.assertj", "assertj-core", version(3, 25, 3))); javadocOperation() .javadocOptions() From be3206f91b6451577fc5503a746f9c10032da8df Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 26 Feb 2024 02:59:55 -0800 Subject: [PATCH 12/71] Bumped to bld 1.9.0 --- .idea/libraries/bld.xml | 4 ++-- .vscode/settings.json | 2 +- README.md | 2 +- examples/.idea/libraries/bld.xml | 4 ++-- examples/.vscode/settings.json | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 27293 -> 27319 bytes examples/lib/bld/bld-wrapper.properties | 4 ++-- lib/bld/bld-wrapper.jar | Bin 27293 -> 27319 bytes lib/bld/bld-wrapper.properties | 6 +++--- .../bld/extension/TestNgOperationBuild.java | 4 ++-- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 4bb3867..59ffe59 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 74ba820..9e8368e 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.8.0.jar", + "${HOME}/.bld/dist/bld-1.9.0.jar", "lib/**/*.jar" ] } diff --git a/README.md b/README.md index b091c13..5c547e3 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![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/1.8.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/1.9.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) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 4bb3867..59ffe59 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 5dc163c..259291e 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-1.8.0.jar", + "${HOME}/.bld/dist/bld-1.9.0.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 5db889b423f8271bd8213df174f0c560379c42a2..4f1621ec4837ab89b1d3af22ec63b9f4e1b7ff34 100644 GIT binary patch delta 25244 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

^*a+>tbBpHE+pL~3DbtKbopH&MqggYR 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 diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index a736413..dc50e13 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.extensions=com.uwyn.rife2:bld-testng:0.9.3 +bld.extensions=com.uwyn.rife2:bld-testng:0.9.4 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= -bld.version=1.8.0 +bld.version=1.9.0 diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index cc3d9e7d9368f955647964970438101c20454116..4f1621ec4837ab89b1d3af22ec63b9f4e1b7ff34 100644 GIT binary patch delta 25244 zcmV(}K+wOP)d9EF0S!<~0|XQR2nYxOed4SoaTtyz(dFn@drd|Xxa|2g-)cBxyt1LYOAgc4#t_&P+EsGy+YE-Ij+sDO$;ClKCJ)x7DPU{{dnMKNgHuc836NB#p9Yv`u5EAOl?Mu2?+S z%ap$*7+({OVCwiTrdcHoo-XldD7>X+&d@49<<&wsq=uO}?GsY3eZ2Y1GU;aDgVj&(|Xl}*RfT&AM#$hqO3NT9ne+1?uIk9KKz zyk2_Fx9NoJJy&D4?nsx0x6q~&=_Dp=Q~&18K|!k8u*{DJa83FF*0@bu!SYQQKTjFV59_i`9 z2rLo#Y#&CgPl_^EW6sK)2M;T4DJkJMP^C8 z1FFfUW?BQPbwz`Lc(8piU72Q-WU^N_-V{hJHnmb47L@^Mbs)+#W)O%u>wL71DX%BA zDSsLe>RWV1rYLE^K3Xpn>FKWA+1ry(8|h4o&a$bK&Iae|&S5~@42V^00!MK&|l zWRac?!^&U=gc_M-lTBUJ4T+COoURb2l3^rvvyf|zd~LNUMCX9!z;7%b)4F86pL(d* zqOeU7>H`?9qT-QAPfX)sEog+Ee&DM+Ie*pk!KfNKvG8lurWk>aqn0(S=v-af(z&L# zt*x%537q4he>AuyxKnl(4@SdS@D4iHqMbJFqVqE3G@~C--W!N_Z4H8O^S!uSzBLeS z4Q}rbhP#3p-0KW)bOzNFKq+5f(}kiPC-erk1(!#{U4eLeD83b6;MZ^*is)kcgnvbs z*z`%=Z5UV@H+?;Uu3&9Xk8Jxgn=Y4aPmpc5Hm_}2Uf1f~egXPiARRwt(^b-OOiTUB zx_RC%(t3?e*Gg-V)0zd4Q0~(oM z_7J`<8jVEjk_{H!oK!P_Q{S9w@PE@ybgQu0XJO;KbGL1cM$Qdva>eO(=+js*9>;QG zmFL7FVIO@CdK$u0;p*zjzLZe==q|L$`sP(8)nY>gL<-5c&x2D%=mxj=sh#ez>0bIG zSj43Z(~4nP3$)~F+$rlEzN7{TG~1~*VVPO);Bk$39K9fe}BcM2c-A0 z4he_r@1qBqp7ri#u=-!TInWae`m=U%ZOP(zwBPBGwnB?_*=xZTH`cDJYwBEH*VNWh z+feSTtEH}?uC}$V)t?Qa4vd(d1eP2s-T|bmcLbv{(c+osyI&Xjee`umgr@>}=V6;3 zp*>Ipa5`!?#UefZ@u096)PHGGX(jnmx<6*q`ptE&o}Q3(zB%hHdKTD8E2eV-QGckVFl0td|1*>$ zkMG*_J$eBf0g4&}p>S#;0DMe|S4Yb5bSoJC`}6~gerVH6^fJ?w;X2N23iJvs8*7`u zPpxf9{$`pwEO0%h#z#Mf5t>_hyq{jBpIG!$n|?;GL5B=C488mMAyFrl4E0rp^0zp=I+vVYJ}+uADr_pfdG4gD526?j_S6NtscQSpM%l_1pX^m~i`VACJP z0*@Nh4z+{vvOA039D+1>8qNK2YymnY7=YRRQ*yJe0C-z{^cTSQYDa+Z(_8dcQMGM; zdV}7PufH?ROY33?$n3FZikdT@zH-_(nQC)tR$=b$fl3!5aJ%JR#4?G_Jsdo zu^wOW4Q88_1Y0?qd-`KrrN*>5N7r=qL}EdUt)x!Kv}JzIy z5ePTYSU*qTi53^xJc%bKqe8bER0+&!7%olN@y(egm1IInx7GN03Lk6nRGW)=T2ikJ z>4qs_!`H@w%L8zKV&bN+2SPD+hRrh>!PQ7?raqh^fPbj3w3hcY)L1-wi24Hc>ca8p zE;F8H0x zcEuf1%-OIkk5A(UiyLij;%264Da+9X2M44BM+L&&foS(~r;KqqYui?KBC?#+Fr>5F zsYY1)bU|4Q)H*ghe9t-S^0|%ITD;EYb_q8|W`72IKvpPL*V`B0CH*>VUe6m~?4!Zn z$c~^S7V5L;ZTJOzrp;%G8!=iGbRZlFhq?kiq6sWUur(q*-Eo4+E&HBr?o6<@XaK@l5B$ue}_md{`3hb(^B=0{|GBQg?DAR8=@ ztp8D)ALGa2z63?#=%z6l-kqeY1lC@g2Y4SkLUBa{*uKZX)*b8Jdh|ZPPgwk<%}>dK z3Wj#UDz^q=qL!uaH*EeUe+yd)qkm#>M#4p&#ox|IRW%0sW@;6g&rkC+Ha{x>a>3|8 zzj$R}$?sy*8G(&p=>?l#@t>L2Cn3j*FL>r z@$P*}VMm$u6|RzY+D&lD#+e&E@pZe(wds@m(>!A3vsIqtzQ?SnZ+~rTsb99X4Sqyx z=ZgB4JQ}I;ZDlLCrbaLd$sLzckZZ8Mq~B9Oxo|AiXf?)C1-2>_Ygm}2BP731NByPfcVhT^WGF?k_!O1?na8k{k@wI;`r1gU`F$0 zMQ<=3=nljKl3JBnj(@S$6yb*aq(H2V_P|LJKao|jO%XLM9S;nZ&!q31J-4G~*lMO^ zYbG_;wbgd6sKp~GS?Mt3Vl~TFvqc-4n?vDlshDG{QdI_3u_YSm?;GO4q*Oht3R_hQ z%ZgzX3no#b)E{rFxl%6-;VPeGa{=PJ3w-JX5Up{=0>4_QPJgu2Nwzv!RVQ8CSg@-f zPUxH_xcZW3$8P)*U?|&;evX7|E>EnwOldltr-)gIn zmiS12ynuX;WcS#rSHwC;3ovS!{i;uGw^Y_H-0|4KTWW``&Q&`dS3CuGT1hq#!f(l;mO3vPT4+XTh=jM~Tzts+ z=T{f0i+?Tk30qyFKAFtI3~oc>kjc!nl}$R zoXwKiN+lNZL{r=dx&|d{UqF5--@-IU__R_SiGO4s$>r0OKOw1yo*i-w{l5CFt!`7d z%fS~I*iC62cLWRPB!MjTxr{U2^pRj5zozc8)!hoxYqoW)sRO@eORTATY;~{tqLV_< z2Qkt9F70N{&p4fQlTMzRXmGR4Rpl8}<5TxRXdHEv+Gq5+jM5(R!4s;zni2WmKkEI^9)nn@MB(Ds& z9Vm1NURt5gKFoP-M&zvassT&wv(#1^C?McS9JCH)T?0k3Z1mARzJ1X&(v$;Uv^8z=6^89 z=j$!?iwr`oiALZO#FCDy`nmd*O_us~)|2#g(*9dp{Z73O1`ma|24VN=n?1SyEHGw8|NA-q8u@X{=Ba>wSdcLLpWT`*f>M!c;j4;OS0Ro*H2tm_D^#OCep!ILIdPh=X zW1^0x@rom>f7t4ulCKz}$?8oFh<^|Ao~_=OGy74FjrX+Wsejw*KidBHZtD(3HL(BM z>O=LBlfBR~+ZTv$T^)#O&t=Gc21!8);SI74mNiU_MZ2(qWHL79U5a7YhH2zLo)Nih z3WbAh5pOz1^T&oE1Q~jTqQ|go!)N4yKIcS2VR!7zp|s562O0T>Z5bnMV}GPE%4L$B zZX&%6PtagTs9PMVagYe-wvR-M%Okygut3o?8ze`0TWj)-F-C!96xzmEW85I{nPA2X zcsG$KwyiM`hU6`{bEa3mHFb;*{3VNBxPCbU8-AC@(lm;o#~p)AESsW{ih z1lyP>bRU^=qV)k@zA?#|Y=0TY*v1s&SP8+jYYPxSR&>TJz{1JDo2r z9UOuUuh@OYN-V!(MSn?U+0r?SODap}z{@mN*+#vjbKF}rSoZ@e2Y#_2{2hITnkXeCqs=zf8ta@8RW{%p3$zTMCC>yg zY(qBnZk%Bo9maath?twWn4Dn-oZ6~X`eTH#(KgOB&Vn6;lYiW^E4{x#*w&*r!0Y2Kv(J#9^QfzfzfJvu$h{;(~_-T?6hA(AAjvR2Lj%2ENudqwhHuOEOF{^9W)n@QZ0T_Lw z&)9+BZfz_Wt$(Q95)2~_9R)v`rx?3z<2>VhnB|xpes1p%#ynS2v!&3po#Y}wH!ie| zi;RoGudC|L=v+~MYJFR4XG3#)U5nh1TrLT>96`+|ZR1h{!CIk{;ae5lxgxYB6n7I3 zQ-)5Ml%aY!b;cDCL4Ch=Yos^mGd>0FAu$!a5aViiV}Hi^vXX0U<2uQ|*>a4xwzaNB zQg1%vdWjH0AfIsqgm+Og1L~&8mQ*LJXsB??PZBU+v8Iepxy1nlJ z-NDVG;l5-W_Zjy?#l$1xOX%ya&H?FiDBX-}P}s*%)S^@JCZJaO=+xTW zR4c)2DlORRGah7G^#76qmsD+Yds9Pm?Fz8$@_*VkeQ##ckh;{IE^mpHHPtpEkRI#3 zW|*!XDb>r?*5kRVwsn=yc+_!?oY1LqYaq52740pxYu12E*R<5FtUtqNB%I`A^1=x= zo$jG8uhrMJqD!(8_Q74i;Ja;1#e*)rW!dJj86&fF7?)~nsawVeX7(GHS(ReGG!BLY_y_|s}_jSvY>&CAYWxJAOM;xexbL_<<`E6w=UP)v^R zhs#I`#9n(rp{R`1fzgccJf#&)V2{-u?YEDd+r3V)u& zHYbmk(-rC0o2-Xr5^79Ic@|l2snp0763@MxiNjsok(8fvD`xN-lDBCDMPYqQ&lgQy zGa8whG4`GaWv(J;lVtua`R#$HOS6{%w)r5&*sn; zrkZRW77g{8hSn@Wj0i`3G|X0@zbD?=WW`lXR+g>Jd`gP<2jTyR+9#-cA}mG3^Sy%$DiuxGabWC(GbrQ?}?o zc5q&NQK`t@^uw>(>107K>3>UG<_vfMp2!~>IU4QniwDy6x`I0 zqOgcjeNL3zxyg~4O#BTBq4iO>o7ybQk`ZN^lWm$|6qLU^l?+Jg>!E3a8o76#&Q^5x zheO&}Wy_Svd3ZVl!8C0cn5le|Y$%en$fLc}#C2Ar^ypJB&?JpmS$nQ-4g;DXKMpOm6-S&e;svH+a-B7oDCA*yKS~;=ZNrb-~b9xwh<7 zx-%bl7@74>p6gsp0a7>NKagNTPoQ^GcVK2_o_Xe6rsI$NE5ytWFpFtm8HW`!j|V{) zb@jME`t_%0!baLtKL^+W%RYKp1d(JMb&kG|`OJ+Ve^q8o&3`(GHqT-@W^hZ!1tarp z_qJW~w>|7Lv2lwlwM6<%*cw%Z%FU3*<&plL?(pn*vD}3zPI{Kbvw619+?sLi#|a&Z zy-q-Jik!t<=`+uPpUIVQFnp#M>*QT7V6D2Ciz_QDi+!ftUr)nKx*^3vQ4OPyschKx z;_m*SRM%HE7k`IhvHl11|sG=FR4~9Ubzm zg31(rYKTO(_4j4rq2UIKubid(5e{x$5X%ESJ*}a5uzvX@1Hwud>an&1)c| zLwYx8rp2^@&B+br_j*e&{QuwH(Kk9%9)9fMPy&fd|3*b$v)4cGF|W_KjN2&L+#L7U z38MxXO3S<{=^GviC6;+hhF_GeE4bF_Ow$Oa@=^AfZ`VUFw-+A-3ID2-c6-@$tXQQc^w7$ z12keU6+TYmQJ&PXmyUUyrj+vIG!5mMD9?JFW~V>PNs?9yLy~s>ZfBAko zpC~~WN!6vvsw+}eR}SrU_26DbCSYE-n?_Ze2k54bB6Ba@a_|u>at20SL^qJ3H-9`2 zs3Pj4V`w{CV&Kj=EuwyErX942&c)YG^p_F4=o54vT}>Biq$~l7=1`0AV<5mpi{E&~ zcvb6^Yf^~1CWWYL97JK3i18ED8OBeAJfsc*uxSxnlxI;pp7MD^eg;N=mcpn7dpn9;~-W+qcuYaZ=lP7%Ii`HZlXf1m-6X$^!OYE`A+cTU9=E7 zyq-RfG52EB7pRTyp|j{q)J0#Tt@IFGKo0{F_@5pJv`0aX#{glkCPE7Ya3Y;(yrzlJ zmLkIS?pF>V%r$w^S+Sdn1Df5vW_D1Sth54$?2$Slf9 zu&>C}WU8eI?ciL9{{?h0-VT|np&^M5V9ig^IC>He#6k4@2CbrRf<)hcX zZ{U-24~cU1)}l@~_<#PBp^%mQR@qhkXMo}|>3FUBe>b{vbX9`$_wz{M_74XelNYeT z7d-}Gd}^uV_3~MN{YHI$(0m`$A!j~y3+hC>4hZ?m_wy*s!=sxjo~1D&5~vwV5S?)c zSyN#=NRVSB_!uF>bVwY}>L}mKCDplQMY#!{bAT&E0=cT%Du1#{AEN~cp4YL^hXsr& zlcF)sm*9oF5B;Gm!PP}pf*0?mqH3S}Wmo4F`HJ#{z`lb;<})-C!p=)}(=pXKyJ&1*^P{xqc7L{42oz zBW8LNbG?n(-h$k}4d{QwY;R(|w=v^ekn_Jm>A#~Xv=IV$CaCdS<9FbT)9DoBb>sK& zcjnMm;}6CkLHASWbmI-Q$@nuUK7(#CI*h-NsTuKk zvOlC^izgg{gXYtW_lAf#Pq28Y#ZxSvWpM@3hcpFVaQ!&FTurPf#anaIr9JA=iRa6TG|uytK0M034U{ zJ-m7^uYYMOdxk7jE~$995uc;WG{59Em4ktOz-nk~pO{)#OfLI))q#J(J~ z=9A%+lSs_Tkj+z}s2sH$bGLhT**C02 zKz|rP?L0DN@n*t@e#Q73@R<+m_Kvs_nAb4=uD=?wf2XyXEVr&*kNAhydS3VBMdP1v zzurx`(^B&uYJ?K=3D}XfH&oRKqH&+{!qx0cL+3h$kQf|?QW3sK7yHlLWCVB ze>H?tfEPoBjZbhaM|;VIyrZ?lEaaWqS%2p97-l}Ho^z!?7kd2sVt3I>E-|@q*SK(J zxo~q`xEH!`J8}y7;$fjr@IarHg3kXF^h<_?J~^k%0j*>!Pm4qrEAOdcflPA{ME zd$&`ARQF{-ynW2kH*)3@a3adXru9g@n6y3d}fkK@b!{rl4-oi_)zp( zN^?2=KXNU3Bl$n1rBF}PK7Xc}mhmz3?0-|vhh$rP;1K)-$8u}uoex<2wC+MwatLf~ zdfSLT$aMYW$E>b3JsApCq;QnWkB*^ubuhc1;StzTuATFm=ePL#u23z4NQhAQ$_n{6 z3I5%KgCK462#zl$I6fCAN`Cb0LfVa`iRGJD$bXRZ2fuMUS%v(kMt@mq!QHTKuQpY{ z6@)?G4Hmkca>@}}px<8}PWgAo!nYzmn@kRn&6{X6chh7J!tQUTGTxeU^)X9oE%V&9 zm{e&T(!SPYnqU&XoTzFPfo!9J-4AIZo>;W}Y}Z}%{aCa_{#CNzzri5?Lk#k}@S6+y zJ)q+b$}cj-o&OgCPk(ITzwP45ew<#h_CL4>eAJ88hQY%Tnhx7LhogG6Cph3!tF3ZZ zi!YP)YIA9hvsxNWQ%z+WEQpGI`8nHW(Hle0gn|suBot_ZAmr%#uPX3}CGoebf+lDDHULg(+ zN~$7NQ6&{Q0Drnc#zMolCV`h?@A&`Z{c0Y9FlUb3LN$LtEs*%C$Q)2L3AMB+7x9x? zKA=`6)M}_xfKiR@vVz8TiIXf1_YNv7Ei%(U6RHJWq<&&)QI1nz<i}dNHu&D)$+|$$G6Z1zLkRfS?cB6 zD9(2xw!4dN<$Iv3@1=wMC3=?cqnG%8`YrFKH~7o+Hh-1g;Rom+{1AP>53`^5U^S0n zJ$v~$et(>2^8ud6PjD?irTOPF8UgMt)V?NT7lzAHlpkyuVc)sZqy)Rtla^cCG??S2JJTp&oVJ#b`pXP#FFQl`ynNlX@s*?H zb1vnd4wtm>RPC1{Vru`0szt$kOgnYl>21mMnwpNqNLu^A z9<`->zdA>_c^keHDl9Bj4kl`X(gd$Wga_a1DBDYKJKWkY&OniwH&&gWP#2zoL51p4 zjFz^`B}&hAzicp+a2%ra+=CkS6}zdSNejx=5EOir4XA7PtIudzsyOI0-QaDy$q_R* z4}Vv2u-fMULfkJAeI?w>7DPvF)Il3rqOz^DU42Twuf>*0=hcX|(vuB{~pG9Qy9Qf;bM0wu@9bTZ-{30MfM_Zw6!u&JZ4(k==AJF;yL%Nz@qHFnO zx{iMYKKn7<$FI=W_*HrcefOg8ets<#$$u}Papnkfq+V;aIm#Rj&X`P%<`^B9&!iP* zfmsLwMQM`pia8c_*U@x0ssVXYI_rSW*@@0Npr+_Vz3{^Z@=5kCH=U+KU~G=F=&e*} zZVheA2+ECAJJBjjeM-1y6B_*)obyidxP>1fOPiOMS)~0w%Ez0g-B0EtQZ7_CCx6tf z4P~RPC+YPLqaY7{vOIF+0hM$|Ylo$upyQpb9iwyQl~7-3go6AMRPE~tb$?U2j5a$A z@wqWxRG`eE_3i^ua8w9@P`qCSNbyGjQ#?Ze#jA2aeN6!4bDn%A)Wfi>MJ9klGbNzt zCN)Sv3x)cW#I#O9z9dsP2GIAbCx7(&+01a3e+gszYbdAJ=@|Y!HSr&4J^ztz<2PwH z-VgFyApT!L{6EnF{xe4Zg`VTLp?LnLnPC<1b_{*aoS;50f6tjh=0sBh*7bCzImw(1 zaz9A<<}v0J;QRpDV1{GS?>RS|6~e#lI#utw)=@(3A4yG${Paz@j?=zq(WdZGc5 zY96dxg!{nzVluCCP3G)!H&;+tsJ>Nh>{H)Xq^*Kq5{l~C2leZ_52l=EeVWAoq#}M7 z;r#m^!#X>~q_fRwE|bpI0k`r5+_QDS?X1uwRg|mw%LfQInbYY8C!RKEg4do;E%sxy zicqhY)3Uwl#U^-27bn#B+keX|2GkEK3e}IKApTrTe-x@$GApo!pR^xPKZk>*ekqYi zLj6X(DfN3tm%aI5N-5~WBmOV>7@ixvpmBVNroaW6r4&^vgHBXAv{+ems`62z%A+>r zPdWBjVG0N9Q#e@f-~fAUF^@B6VK1jrp*ht*f8 zD8Y~iKQAQlWBeLC1xJMMhA{lK+{yN|9D**ajT0VB6MXTb1_(r4y<#%Pmt&Ng9;-)9sls`ec)rgrQ#rd8(& zl?sjNdNz)MIz<>cbAK-_tM+3s{E)mNKO=rKW?NL9UzESkC_@Zr%)Ns)7Ud<36I_mL zb_&LcOx1Rg?M9Td;B9?Jt{;W0&hoX>MOmyhQYxf<%%k*Paq7Kl2EOf`n&4`z%}V`-uqM^n`Vnyrec zLQSHDYBDWT$54}+LY-agnWR7iVwQZ7*E$i*1G&OA{LqTt+ZH%~&HNu9jZJbxMHEr+_f+N?Hf5acvdv$+U! zSbPah(emSiqvyy^o|Yfctu6fjXLH%sEj4_rm$ues#1HGy(qudRkD?Wt#DmK+O+#sSRZI(y78S`v# z2cP{6R(}9~`ST2JX#PXAiHE(gREtYvxhpIs<&LaSJ5;7omoQGfoyL?^IO1Kt&sYuK zKlDmEBQjkg9<`J#bqbAEwKPdBqnTeN&mJc%Zn%XRFCc{M5J-$HYR zWLQCnDzna9>8k$XRIm3^z1~apI@L7?euJ0nk)QJ6Z7I+%Gp^3=_BD64t+v$L-K^n@S9=FPYGL(hRni$)3 z%73jjSulDN{9I#sw!B+aw!GWeGVy|nawU=PfYr&jAG#AZmL-h7RPt?sn|!0ZYO}n^ z++%EKAWEaC$lPzly*Ls*w)@a?7&|MR^Gj;)kSxqf=j2EZn4ck^K7U~> z%6Zr+j&%%Dw#8dPS!_Ag0gifPh(vwt+P&t6AC>~*GGg-5^9AUFrB22;+E zebO}2#bUZ4rG-3EK%V?|*v-7G6n`I1q^fj}alz!#qb@o@(p7_woz=NCLhbZqb4IF= zY3Q|&G*35v2dH`SH_%*|kGkGoP3g0g!w*YdY_IW&hSJ9Jrx`%kE-c~#w}2>kJ6Qe#%J}%)rH3G`s2%m#^?0M z_Cn(>{c&lb@p=96r9$JLgz?2kjSGYs*mL3NL@ESkXVA$Ihfb8vrc)?D^@zq>s0)#7 zH(Z-I8Ri*UNIT5+BxmoV&5Mc64f=Vees=0-KtH?mGpL_i^fRQN+gtRrS3e{Axm`bF z=H-~7-`rvDa=*^Qm$Y1HUQ5m`zwg6+xsLMqY4g+OXL9q5a$}5nLvEgVqj|G=D;518 zP)i30a`WO**)jkC&}skxP)h>@6aWYa2ms@)S+k}yivk1Vtyz;aHZgy__y2$HOzvcI zvyhOGVKXd3RyNs81Op*~U;-G{0E&}jfPrKt&P)Jtsa9O;UaLZ@w!TtaXhpOkKn0gp zUv2Bt_PxGtw)M5IwRW?+D}29m?wvb#mIVC1_OtcQJ?EbDKj-}Z`#C4Ra_ZO#BATb| z^O7JQW5MnyQ_hw^Ocq;$Q4m;N-lC`m!>Uc)2D8|Qwo@a4ErDHA zSNLPGKqNH8m-Q8nPm*k%PI*it25Fx|1vE^jLW7EEI8$D7UnYM&7G4mE_^)6pFSiDD zthuftL!C|~Od|)Mp-!btMTxJ9z8uXpKP7=y;rIZTEV5a1PzE(%64N;qG=a(0t>#=@o;0nMu}CnqrA{_H*Pux>nJFKzFX)JdyZd4ROlvFnQ(lqY zB^zBT4639mrtE)cpw}PqV_>Gj^rnRnk{W}i&{SaE{UD z68FONCJ=_L{^+v6u9$2)&!G8qAutc2A{9Sd5*8#WiaCEZsTmChEuu!K%;sP>$TKx( zSi=8}_?rT;*q|kn&pPL(?js|xJlSYEkrxhrpsYJ3l!#ccF zPi+RRq*aiE&TtO|A+Rbu2=0pN8iUr-I#Bg@bxFvZGpNoQ*>JsVxFLm9yoFlJB?et8 zIg%BON*#ajQZ8L)ke@oRydHn7bE|~!JZJZYt^UZ$z~y~`P-md7A`PlmvlCX;MFE{Q z8?;5zPqPrMapKl6QJsQJ;}hdFcXtQ2_`4TGw)FJ`Lb1kOoq^t1FdXvGb}T3w?u&E= z$~yg_$+5DIKv}4-yL*b4w$gMDh44M*j{x$t@1uXH*PzSQf&;st&KMPnQ{yn7f%rHM zOWGKTgd_F@3W=#tD&r2ONtt+*Nu44zT}tK^2JNORAts&SUYMA3QcQAk$u#p<8*~kQ zg2~$z=nljJrllHIp4zk!4x~>m@RJ5zuNK&|y(<`rW`o2H2Hi+E!7NVnN27s=THT^x z)Zc&69f17sdYx`zDoxCKLA;e(xR-90hSNj08Fagxd~Q#8N5D3e^2?nD-6g+xhG^3VfJqr!c$!5VmJAAMG*&l&U} zJruY2fTKA<5-{TjD|DA{SSU5;^YjIs9x;FD-{_05De)f59fP3l&Iqg-#1eg)n=97n z^d%?tgm+55 z)X9;*9OsI~X6H=3bda8uL_Z;6eoD&KVWuewxo`lHkSiwzC0_^W8H2tmLk@RmcQ}6v zjXe@yZt{e@)K5nZI!4DK0I)kN`+9pL0SF54EiE5p35DdMKAld)_1{{DV`^S{mY$T4 zX9}^FzCy~P7o~1}ooVh_xw8z~=AoA`C(}Ye;L;@P-|^M759wdM^a_1Tr*BKU{hc@x zA*ZO}CrZLGMBqnQu(O_)3k}NO1PT$q(dj|a{{a4x? zWMj<1wbS1XL%6&=(;ypKh8!TtY@1R#)sl%q(&@hq`T_kA7R28vWu585K{;XD9|ytB zeW6Y{%2XMez;;XT|6}@zPH!0WQ~FtwFGw03O1Bwy*58SUsjPfRic+*Z^rC-G|HCxa zVZEC}p+Kae8)nYdQ!l+qzclE7rN{Py=dBQ0|CWHP{=zH|O zP9GTbA$`O&&X$@^IQeKG2FCb9UH(W{gIR{$xmT}h+B6royCto$)u>J``82W;WsG2l~Npsgl}Z&-gx8IRL>yulNABI3x*%`gNwv^pAS@XIhw%J%w-H6ES>5kzgI zX2BM$&dcRop>w6dRZ`IklukB;BY`!6NK{dgx@Q#%$t%}U##0QQ%F~b!V1zaqQ$}Me zB3MBrhTv%O+1dX!lF$r;&*Pa`J_bpO0Bn6u(F|x3&o+1t&rN@5l9JMjAvGyEsPk~G zBvF^}2pRqE8H2-mo@elUM!uu(@OSqGmTyjpEaM@2rpz!$1zNmN&ZL29X2y{6j8pJ% zqa@IjAYci?*%El0ml)j4OOZv#!nU=M(o(Tup`_npa4RoEiX+jM4IoOsLBQUyu#gPu z^YFzGOG|%J-8g@*gm8C3VuB&Rl+!dvevnrq)Z;Z){3nAQUT1K-3U)Sk_eHlBBHQWH zd1E{wwJ=*NBS6@Z4KgyR=S>D*CR4kt?m%cuY%A)yLlW+k(v=Q{3>sydb&|j{9)?U6 zNhh41i*V53Z7NhZgJYe$llDj!`C|buZlUAcbSE!Tb2LSbikX+wJcRNI)AJ zGHD2ijxMBOGR7@bnHqoI;4j4Y5oFjVJ=b*UUN(Qp$9{vqBtwa8*v1x9^3dl|gCCRF zc_2+nP7A3>Qaeb~3u(Cd_Ju+!mcx|D#|XtH8D5u~hT<86zbaE#xjDGd9}UPI3=bpf zA0eewmeM4(o{t)Qj1l?gAhd#k?F#IYHcCc0&GPfJ2A|-Qa;|+HQOl5)lxOmy%G5k> z@C$!(3I?XoxC_c1RdHH9e_hh~M%qS+!%)6#@V`sUU}RdtI}z()1zvuIzoqlH4gL3|5;n2Ea|$iwuDIhX((Me++*G?D6*|lAA#~3>Bb{ z@EJ#65eak!J7GiA@NXKlh!HKHpK;(s+rdYcRDNmj|MIV3PNFJ8L5f~Jcn1%^1vT+{ z`ECBK&c8GG_Y8R+mDb$iQaA!8>D$7=kdmL-XSL~+N^+B3(YiA`)V!4MPWZgYPYWH=34El#bfLVXWma(ql-$2bz*8u{84CM%quEL%N8|aiY}%aVw#xFRF!P1 zfode!0lk^JA{-6wlJr&tB0a&Vm4_@}yR5NoQ(NPLMUcgokI}bI4!&LvKGP7hZqs!`fhM2DinbkI-dP6Kw zgv@#ep$1)@Wl-F)xA$@P;_mJa1qwwAv_N5z#c6RV?(oCi7q`W2k>XmQE$*HjW&fI(FNhUK%Cg+>;A}=z@=Opsnf{`Z8CH0P_?<@^+ zJ5w7!_AVivmY?eKmM}bd_YrSZd?hMN?}AuafB2k4t(r!mna=Msr;b0=pZoWln&HYc8#P*f#wg?x5+M^p0~y+NxiEtZf@0fD$Zl(yhZ`)Mn$q{3p$H zq&EQw#vONda`cSBi9jFji~%XP@l^UI*Hv0h_KI$ugM8NvPE9ObRc-Q8n^KtF+-IKb z0+ogAeh=OHb;hr4j^W(t2Jtl(!E=k8zSRSo$_DQLnnhnJ4HY9EMZ-G3-an?Bv45?u zD`z4wU_r+4`9OVg=~Z{89Ma$b>aZ{jodUk6q^pY|9S}WKW#!hLOJituhD^10ZF}~* zS~_D39(SwI2S6CoMo{;2vrXA1qvi9~0*nQnE>S%DO~qc|Oi6MPb#(sp&6l&TXbxC2 zFx8YLXT>kMB%mzoH1lUy*H%2~_CiS@uFN`mb{>$^5gO9$!o6obPUteOAC{7y1k!ij zGxV(P45eefl#P!dd4s6hr-Mph>_4Niw>KR2W5Ryci!&UqM|_gGE+x3k^!B`{9-0kE zYH8=U&s#Bk`ld?c?vlxITi50F3#G1fFmU0^w#*Mg)LGI0=|r9v zkc@%Qf-osSWxyhBcG6kkro6E`4$KI};$ly85Cs`vIDYiY_+`_J_WJJMUBLQR7pDnH zutbZgEPt*$v!R8Unq=2hzgqOE`&VQQuI#X8ogy=$b>e3BM0L9i1?l>iTu*VRYg7zB zXj)gT@!dm;BwHPy9xc&pC(4~n^`%)@NL@pEA%0T{PYb@-nG>C5i1Wz(1W?bGeD{bx z1Jy6_5l!JRPx5z4@{0<#G4&cVF^u?0I5&i|jP()oa1-}*w3gj`^2!!dPqBOs< zFP_8x9_x`hlBxwgb}%fuSHJ|~QW{+Miz+(LY+O zRCmp1HTRqG*8cEni0+H8fu`%fj;lP?%=E#ZDkCXs z9CLeSW)jqn)8~~I+{^lH-QL-IrI)QOpqYhAAMn%FTFS8#C*1L@NdH*s?~w>fLP?iH z3n(>2V!*WDypN}TyRX|4>L?+oy*x{W>41l{;m{7V43?<(C*X#746fOWLUWd-w(JB` zk{(RdwDQ_osy;>J0FN}&eXQ#gMIYEg%W!Bxmdi_8QlYNN@ zjFTX}T7IyZE>meM2U#|U53{jxA`!6vn5WkzVfIq*UgrEWZ+M?evZOdz^!`j!@z} zj?-&Cq5dxoWkzqgV#AN4gRd3U;X+ppdkMP*W=b(+MmSv48iz`*

^*a+>tbBpHE+pL~3DbtKbopH&MqggYR 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 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 6b7429d..ab13047 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.5 -bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.7 +bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= -bld.version=1.8.0 +bld.version=1.9.0 diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index 95ec042..fbcc48b 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project { public TestNgOperationBuild() { pkg = "rife.bld.extension"; name = "bld-testng"; - version = version(0, 9, 4, "SNAPSHOTS"); + version = version(0, 9, 4); javaRelease = 17; downloadSources = true; @@ -44,7 +44,7 @@ public class TestNgOperationBuild extends Project { var rife2 = version(1, 7, 3); scope(compile) .include(dependency("com.uwyn.rife2", "rife2", rife2)) - .include(dependency("com.uwyn.rife2", "bld", version(1, 8, 0))); + .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) .include(dependency("org.testng", "testng", version(7, 9, 0))) From b9e97142553c040ab46e50c4b300d86fa376969c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 21 Mar 2024 13:43:05 -0700 Subject: [PATCH 13/71] Added JDK 22 to CI --- .github/workflows/bld.yml | 8 ++++---- examples/lib/bld/bld-wrapper.jar | Bin 27319 -> 27319 bytes lib/bld/bld-wrapper.jar | Bin 27319 -> 27319 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 55fefbf..f736169 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,6 +1,6 @@ name: bld-ci -on: [ push, pull_request, workflow_dispatch ] +on: [push, pull_request, workflow_dispatch] jobs: build-bld-project: @@ -8,7 +8,7 @@ jobs: strategy: matrix: - java-version: [ 17, 20 ] + java-version: [17, 21, 22] steps: - name: Checkout source repository @@ -19,7 +19,7 @@ jobs: - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v3 with: - distribution: 'zulu' + distribution: "zulu" java-version: ${{ matrix.java-version }} - name: Grant execute permission for bld @@ -29,4 +29,4 @@ jobs: run: ./bld download - name: Run tests with bld - run: ./bld compile test \ No newline at end of file + run: ./bld compile test diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 4f1621ec4837ab89b1d3af22ec63b9f4e1b7ff34..e8151771783f2379f035bbdc7afea15ebd09faaa 100644 GIT binary patch delta 131 zcmdmfm2vx3M&1B#W)=|!4h{~6NhP@xdFz;g)W$v~V-UT0vvD^QnBi!~t_Nm#r<`X5 wGi1{Y!BUe0GweYElP705gXx(^b delta 131 zcmdmfm2vx3M&1B#W)=|!4h{~6$7>@e^42i}sf~R~#vpq0X5(%qFvHP|T@TFgPC3sA wX2_-)f~6)0X4r!SCQr_A2Gch)Ji)YTW(b(B$#ezNM>69e;#vM+x;)DP08Pa(^b delta 131 zcmdmfm2vx3M&1B#W)=|!4h{~6$7>@e^42i}sf~R~#vpq0X5(%qFvHP|T@TFgPC3sA wX2_-)f~6)0X4r!SCQr_A2Gch)Ji)YTW(b(B$#ezNM>69e;#vM+x;)DP08Pa Date: Wed, 3 Apr 2024 20:32:19 -0700 Subject: [PATCH 14/71] Bumped workflows actions to latest versions --- .github/workflows/bld.yml | 4 ++-- .github/workflows/pages.yml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index f736169..c0ba763 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -12,12 +12,12 @@ jobs: steps: - name: Checkout source repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK ${{ matrix.java-version }} - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: ${{ matrix.java-version }} diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index f6122cd..bf43624 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -30,14 +30,14 @@ jobs: steps: - name: Checkout source repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: - distribution: 'zulu' + distribution: "zulu" java-version: 17 - name: Build Javadocs @@ -50,8 +50,8 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload generated Javadocs repository - path: 'build/javadoc/' + path: "build/javadoc/" - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 \ No newline at end of file + uses: actions/deploy-pages@v1 From 63635f408b35b278c4ec216387004adb75d5bd0f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 3 Apr 2024 20:33:44 -0700 Subject: [PATCH 15/71] Bumped PMD extension to version 0.9.8 --- config/pmd.xml | 9 ++++----- lib/bld/bld-wrapper.properties | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/config/pmd.xml b/config/pmd.xml index 1039e40..3d3203c 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -24,8 +24,8 @@ - + @@ -35,8 +35,9 @@ - + + @@ -52,8 +53,6 @@ - - @@ -107,4 +106,4 @@ - \ No newline at end of file + diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index ab13047..d80f091 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.7 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.8 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= From 4d4479bf238470ff15dc693e459a00f429a1e265 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 3 Apr 2024 20:35:21 -0700 Subject: [PATCH 16/71] Added support for JaCoCo extension. Closes #2 --- README.md | 29 ++++--------------- examples/README.md | 6 ++++ examples/lib/bld/bld-wrapper.properties | 3 +- .../bld/java/com/example/ExamplesBuild.java | 23 +++++++++++---- .../bld/extension/TestNgOperationBuild.java | 4 +-- .../rife/bld/extension/TestNgOperation.java | 7 +++-- 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 5c547e3..66fd65a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # [bld](https://rife2.com/bld) Extension to Run Tests with [TestNG](https://testng.org/) - [![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/1.9.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) @@ -13,29 +12,11 @@ To install, please refer to the [extensions documentation](https://github.com/ri To run the tests with TestNG, add the following to your build file: ```java -@BuildCommand(summary = "Tests the project with TestNG") -public void testng() throws Exception { - new TestNgOperation() - .fromProject(this) - .packages("com.example") - .execute(); -} -``` - -```console -./bld compile testng -``` - -You could also override the default `test` command: - -```java -@BuildCommand(summary = "Tests the project with TestNG") -public void test throws Exception { - new TestNgOperation() - .fromProject(this) - .suites("src/test/resources/testng.xml") - .verbose(2) - .execute(); +@Override +public TestOperation testOperation() { + return new TestNgOperation() + .fromProject(this) + .packages("com.example"); } ``` diff --git a/examples/README.md b/examples/README.md index 8fdec70..696fcb2 100644 --- a/examples/README.md +++ b/examples/README.md @@ -3,3 +3,9 @@ Compile and Run Tests with TestNG ```console ./bld compile test ``` + +Compile and Generate JaCoCo Reports + +```console +./bld compile jacoco +``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index dc50e13..d424f97 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,6 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-testng:0.9.4 +bld.extensions=com.uwyn.rife2:bld-testng:0.9.5 +bld.extension.jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index ab35ed3..a296562 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -2,8 +2,11 @@ package com.example; import rife.bld.BaseProject; import rife.bld.BuildCommand; +import rife.bld.extension.JacocoReportOperation; import rife.bld.extension.TestNgOperation; +import rife.bld.operations.TestOperation; +import java.io.IOException; import java.util.List; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; @@ -13,20 +16,29 @@ import static rife.bld.dependencies.Scope.test; * Example build. * *

    - *
  • ./bld compile test
  • + *
  • {@code ./bld compile test}
  • + *
  • {@code ./bld compile jacoco}
  • *
*/ public class ExamplesBuild extends BaseProject { + @Override + public TestOperation testOperation() { + return new TestNgOperation() + .fromProject(this) + .packages("com.example"); + } + public ExamplesBuild() { pkg = "com.example"; name = "Examples"; version = version(0, 1, 0); + javaRelease = 17; downloadSources = true; autoDownloadPurge = true; repositories = List.of(MAVEN_CENTRAL); - + scope(test).include(dependency("org.testng", "testng", version(7, 9, 0))); } @@ -34,11 +46,10 @@ public class ExamplesBuild extends BaseProject { new ExamplesBuild().start(args); } - @BuildCommand(summary = "Tests the project with TestNG") - public void test() throws Exception { - new TestNgOperation() + @BuildCommand(summary = "Generates Jacoco Reports") + public void jacoco() throws IOException { + new JacocoReportOperation() .fromProject(this) - .packages("com.example") .execute(); } } diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index fbcc48b..68b3d6c 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project { public TestNgOperationBuild() { pkg = "rife.bld.extension"; name = "bld-testng"; - version = version(0, 9, 4); + version = version(0, 9, 5); javaRelease = 17; downloadSources = true; @@ -76,7 +76,7 @@ public class TestNgOperationBuild extends Project { .license( new PublishLicense() .name("The Apache License, Version 2.0") - .url("http://www.apache.org/licenses/LICENSE-2.0.txt") + .url("https://www.apache.org/licenses/LICENSE-2.0.txt") ) .scm( new PublishScm() diff --git a/src/main/java/rife/bld/extension/TestNgOperation.java b/src/main/java/rife/bld/extension/TestNgOperation.java index 33c15d5..2fef66a 100644 --- a/src/main/java/rife/bld/extension/TestNgOperation.java +++ b/src/main/java/rife/bld/extension/TestNgOperation.java @@ -17,7 +17,7 @@ package rife.bld.extension; import rife.bld.BaseProject; -import rife.bld.operations.AbstractProcessOperation; +import rife.bld.operations.TestOperation; import java.io.File; import java.io.IOException; @@ -37,7 +37,7 @@ import java.util.stream.Collectors; * @since 1.0 */ @SuppressWarnings("PMD.TestClassWithoutTestCases") -public class TestNgOperation extends AbstractProcessOperation { +public class TestNgOperation extends TestOperation> { private static final Logger LOGGER = Logger.getLogger(TestNgOperation.class.getName()); /** * The run options. @@ -151,11 +151,12 @@ public class TestNgOperation extends AbstractProcessOperation { } if (!options.containsKey("-d")) { - options.put("d", Path.of(project.buildDirectory().getPath(), "test-output").toString()); + options.put("-d", Path.of(project.buildDirectory().getPath(), "test-output").toString()); } final List args = new ArrayList<>(); args.add(javaTool()); + args.addAll(this.javaOptions()); args.add("-cp"); if (testClasspath.isEmpty()) { From f9cbd63bced67b870345fa32a9a533c014efc111 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 4 Apr 2024 02:33:41 -0700 Subject: [PATCH 17/71] Only log java command and arguments on Level.FINE --- examples/.idea/misc.xml | 4 +++ examples/lib/bld/bld-wrapper.properties | 2 +- .../bld/java/com/example/ExamplesBuild.java | 27 ++++++++++++++----- .../bld/extension/TestNgOperationBuild.java | 2 +- .../rife/bld/extension/TestNgOperation.java | 5 +++- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/examples/.idea/misc.xml b/examples/.idea/misc.xml index 3b0e6ac..82dccc0 100644 --- a/examples/.idea/misc.xml +++ b/examples/.idea/misc.xml @@ -3,6 +3,10 @@ + + + +
\ No newline at end of file From 0cb08be61a3dbd0274de5884fe40fcf3bdc2138c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 3 Jul 2024 16:00:26 -0700 Subject: [PATCH 36/71] Bumped PMD extension to version 1.1.2 --- lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/TestNgOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 80d6f54..34f73c9 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.1 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.0 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.2 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=1.9.1 diff --git a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java index 570e316..53264d7 100644 --- a/src/bld/java/rife/bld/extension/TestNgOperationBuild.java +++ b/src/bld/java/rife/bld/extension/TestNgOperationBuild.java @@ -94,7 +94,7 @@ public class TestNgOperationBuild extends Project { } @BuildCommand(summary = "Runs PMD analysis") - public void pmd() { + public void pmd() throws Exception { new PmdOperation() .fromProject(this) .failOnViolation(true) From 1ebc093bbcf4ce3d2802dc7f7316b0820a934d4c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 22 Jul 2024 20:45:24 -0700 Subject: [PATCH 37/71] Bumped bld to version 2.0.0-SNAPSHOT --- .github/workflows/bld.yml | 11 ++++------- .idea/libraries/bld.xml | 4 ++-- .vscode/settings.json | 2 +- examples/.idea/libraries/bld.xml | 4 ++-- examples/.vscode/settings.json | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 27319 -> 29580 bytes examples/lib/bld/bld-wrapper.properties | 4 ++-- .../bld/java/com/example/ExamplesBuild.java | 2 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 29519 bytes lib/bld/bld-wrapper.properties | 2 +- .../bld/extension/TestNgOperationBuild.java | 10 ++++++---- .../rife/bld/extension/TestNgOperation.java | 1 + 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index c0ba763..c5434f3 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,6 +1,6 @@ name: bld-ci -on: [push, pull_request, workflow_dispatch] +on: [ push, pull_request, workflow_dispatch ] jobs: build-bld-project: @@ -8,7 +8,7 @@ jobs: strategy: matrix: - java-version: [17, 21, 22] + java-version: [ 17, 21, 22 ] steps: - name: Checkout source repository @@ -22,11 +22,8 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} - - name: Grant execute permission for bld - run: chmod +x bld - - - name: Download the dependencies + - name: Download dependencies run: ./bld download - - name: Run tests with bld + - name: Run tests run: ./bld compile test diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 48e8fd5..0a7a3e9 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..33a9922 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.0-SNAPSHOT.jar", "lib/**/*.jar" ] } diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 48e8fd5..0a7a3e9 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 1b13f73..7652602 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-1.9.1.jar", + "${HOME}/.bld/dist/bld-2.0.0-SNAPSHOT.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 8b39fa0d53ebf02eeb2807484744c2954089012b..891438533452171ec5b2393cee60116baec5e3ff 100644 GIT binary patch delta 15712 zcmZX51ymhDvnCQ;6Wj^z?k>SSxVyVM7Xra0*u~x5CAh=I-Q8U-?wkMZIlKGb&P<=F z>8|;vs!!Fa>6)pQ1<2?lNEBr`=r5QM@bK^udE$@pC;`y_ImNO7IuN|n7M_JavRyCD zs6a4cec0&m8D??0`4oYn=oG0ii4d^UJQNtXG8VhzArk90O;xt~<=Bl(t;(Jfcu=LK z_6yB6_Eigu&8rg*0lH09Iug(Ro32;ue-q^cg+7mJ&>lA%I*$aeydPbugkM~?*ne(cy3ADf3z4qY)#3dGPF=n_D=iT3hIs$VMle8=|7@ zr*ZkNSf*@)g=NTs?Q3O@M=vK-6S=0MHBOqEo-CLUJ|@X2h%hm;(hq~bHn6zde+5}# zPf(!6(X*B%0Y+uo1^Gv@1UJ0dhlGNTGj3Ik4Gig0Q{y}D7T=)5z!5l@f;cK?qD~a?)G`lOpd}~B=~XsUNTmbZUN%di`O-sj5WD=@ zw{Q=AK;B!$6`#*~Z9~M#UegS*CZ=ht(ArKw9?15T9IxXri>MR98=Pk~zO|uGblUg? zpNft81)!@oT)$v3OQ*v)0&j;3MP5)l3FQuyvBUuKH0#zTu>R$YG$A#dPs<=Q>UdYo-jOIr%`$J{46xn$T{pUYApC|#2i zr20*Rd^n#a9=Hq>jy3ki%3u)M{zbj$>+OO#9Uux5UR?m>O(g+;_AuC|p*fYx_waSji==0W=&IO!!Us@D>11F?I{#IA$H3Mrn6s1)XK{}%vD$)D zsCl^iyD|o<`;#esaNYeARClP!w9?Wncc)vH%+i^Ic+YI($;E@`m-6;@?-lO!J4S;C zEdvj^Iq+fnD)uATb>@if(kn`4>oAr)18|1DH0j~Fvv@(ZFwPnoR?e!Ugk z#+aQ4Npzj><>Gz(HPxq%Ze|yfK0eBTi3qh$fCC31cm{fU20fciS1IL@Pwb)~3@|

M8rZ}UjS4l3C$F6p0S3$#ZgkKNUvDzm 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 F{uknoxvKyG delta 13447 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 diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index ba9679f..fcddac2 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.5 +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.7-SNAPSHOT bld.extension-testng=com.uwyn.rife2:bld-testng:0.9.9-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=1.9.1 +bld.version=2.0.0-SNAPSHOT diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 24df30e..6827d0e 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -54,7 +54,7 @@ public class ExamplesBuild extends BaseProject { } @BuildCommand(summary = "Generates Jacoco Reports") - public void jacoco() throws IOException { + public void jacoco() throws Exception { new JacocoReportOperation() .fromProject(this) .execute(); diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 96c7572835165d4e6e29e68364acdbf07e053d7d..dcc7f18ff922b76810cc4e707a547ed83fc620a1 100644 GIT binary patch delta 27497 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 * @return the command list */ @Override + @SuppressWarnings("PMD.AvoidThrowingRawExceptionTypes") protected List executeConstructProcessCommandList() { final List args = new ArrayList<>(); From f462b1eca80bfcf9a55485edca4519e18db98395 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jul 2024 22:56:38 -0700 Subject: [PATCH 38/71] Bumpled bld to version 2.0.1 --- .idea/libraries/bld.xml | 4 ++-- .vscode/settings.json | 2 +- README.md | 2 +- examples/.idea/libraries/bld.xml | 4 ++-- examples/.vscode/settings.json | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 29580 -> 29577 bytes examples/lib/bld/bld-wrapper.properties | 4 ++-- lib/bld/bld-wrapper.jar | Bin 29519 -> 29577 bytes lib/bld/bld-wrapper.properties | 6 +++--- .../bld/extension/TestNgOperationBuild.java | 4 +--- 10 files changed, 13 insertions(+), 15 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 0a7a3e9..867d049 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 33a9922..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-2.0.0-SNAPSHOT.jar", + "${HOME}/.bld/dist/bld-2.0.1.jar", "lib/**/*.jar" ] } diff --git a/README.md b/README.md index a2918fd..60344f8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![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/1.9.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-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) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 0a7a3e9..867d049 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 7652602..2104130 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.0.0-SNAPSHOT.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 891438533452171ec5b2393cee60116baec5e3ff..cea3974908d24090a30eafed2c693cd4243b510a 100644 GIT binary patch delta 14898 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 delta 14979 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 E587jA&j0`b diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index fcddac2..515b817 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.7-SNAPSHOT +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.7 bld.extension-testng=com.uwyn.rife2:bld-testng:0.9.9-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.0.0-SNAPSHOT +bld.version=2.0.1 diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index dcc7f18ff922b76810cc4e707a547ed83fc620a1..ee23353b45175c2fd61d4818f91b4662aafa6d74 100644 GIT binary patch delta 27394 zcmV)OK(@cn<^hT40S!<~0|XQR2nYxO?vVVE4Soaeko=L3JAdR(k_&`{Eg%p!30Vad zB>^;qAi*q<1TcWcA(_BPG81PeEaFzHw$^&hF~p5<%0NhX-W>Stt!znifT=SMl)ZZ;Ad!0YJG#tXz(Jg|G zF06BPiG~Bgb(J#)R%KBpjbIc<3L2Si$cju7G}@vulz)#Y+Iz!ce=xc*5N;DRw9bug zWhRZIqf8oa(FB?(Xv$!OnOf)T4YseZ4|Vvl^y;pFplNkS(7BQ^nPkyqhMwJ(sBh!? zsTNJ6qd~7wXJ=O+=m&aYl}UwyMrb5^qk*n+hdKd&B#Wk#hsPCLR6?a#%UK({lg$`C zsxI9)jekSAMaS@%TnAUzIBuS0(XmXdQ3INpOl>9|4}vCv*9C$b{2hyZk@d~~Xcir3 z<8`7%bErblkg&fe6bVE_VH>SsF0{~J<1^QydE7VKzd7m;MgpOrjmSwBoy;`J?+9%Q zc7=Q$HSzZ5P;a>1L3e>g)#-aJ!Au>YcHOJSqJKqniXd}sZ)c~UcVDhvkc9@Y_!2>R zNvx{EVc(XzKm=>4qk5AXENY~sagI%Pi9i5+5$=fnFI-*MUq0g8>JTXs1+Ugp6Z2{_ zuq|}8R)@N}FajupUm2<87OkL_m@^QJM15UdRlyFMkAP`mf3P!ZS+-g&T1Be`8UD=y zV1Hy3*4m&>x9AMQa!0p^{l2JwW&b?|qZg*iK{_E~NIr|!Qag}JfwaUI7Bsvch#4!q z1mVc+3akzLc;`)8mn!obu$Kb7BV8S3o4dQRX#;hc)NN6aLSRnaIS7cIfLOlN7scXb zs8dj78ZlozsIo|bP|1^=ZBdx8Zf`VXcYlS96%L|WdU?Cr_-m6zn+bX;1N4nVBU