From b93c05a86d06b3f43f3eba17de737b46ce380e8d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 20 Oct 2023 17:17:05 -0700 Subject: [PATCH 001/113] Revereted to previous --- .github/workflows/pages.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index e69de29..8bea4f8 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -0,0 +1,20 @@ +name: javadocs-pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true From 601f0a43fa222914801c8857bab9a13809b9d34c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 20 Oct 2023 17:28:13 -0700 Subject: [PATCH 002/113] Fixed truncated workflow --- .github/workflows/pages.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 8bea4f8..f6122cd 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -18,3 +18,40 @@ permissions: concurrency: group: "pages" cancel-in-progress: true + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + + steps: + - name: Checkout source repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: 17 + + - name: Build Javadocs + run: ./bld download clean javadoc + + - name: Setup Pages + uses: actions/configure-pages@v3 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload generated Javadocs repository + path: 'build/javadoc/' + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file From abc6485a3e4c780045d7c8b7442deb12385ec360 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 22 Oct 2023 14:48:58 -0700 Subject: [PATCH 003/113] Version 0.9.0 --- examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.properties | 6 +++--- .../java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 8ac95b9..69ca4bd 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-checkstyle:0.9.0-SNAPSHOT +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.0 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index f8b51d9..80e04df 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.2 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.0 -bld.repositories=MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.3 +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.1 +bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= bld.version=1.7.5 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 69d586b..065dadc 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -34,7 +34,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 0, "SNAPSHOT"); + version = version(0, 9, 0); javaRelease = 17; downloadSources = true; From 731f29e34794fbb1551333928480ac32f5e59561 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 23 Oct 2023 03:55:52 -0700 Subject: [PATCH 004/113] Updated Checkstyle test depedency --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0ee993..b9981c8 100644 --- a/README.md +++ b/README.md @@ -35,5 +35,5 @@ Don't forget to add a Checkstyle `test` dependency to your build file, as it is ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 2))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 4))); From 2c4570432da58cff53adfbb91bb59c97be357dd2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 Nov 2023 08:08:50 -0800 Subject: [PATCH 005/113] Upgraded to Checkstyle 10.12.5 --- .idea/libraries/bld.xml | 3 +- README.md | 2 +- examples/.idea/.name | 1 + examples/.idea/libraries/bld.xml | 3 +- examples/.idea/misc.xml | 3 +- examples/README.md | 6 +++ examples/lib/bld/bld-wrapper.properties | 4 +- .../extension/CheckstyleOperationBuild.java | 37 +++++++++++++------ 8 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 examples/.idea/.name create mode 100644 examples/README.md diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index cf75013..ca84ff0 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -6,6 +6,7 @@ + @@ -14,4 +15,4 @@ - \ No newline at end of file + diff --git a/README.md b/README.md index b9981c8..0d588e6 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ public void checkstyle() throws Exception { } ``` -``` +```console ./bld checkstyle ``` diff --git a/examples/.idea/.name b/examples/.idea/.name new file mode 100644 index 0000000..4a72ccf --- /dev/null +++ b/examples/.idea/.name @@ -0,0 +1 @@ +bld-checkstyle-examples \ No newline at end of file diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index cf75013..ca84ff0 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -6,6 +6,7 @@ + @@ -14,4 +15,4 @@ - \ No newline at end of file + diff --git a/examples/.idea/misc.xml b/examples/.idea/misc.xml index 7e477ca..97c1009 100644 --- a/examples/.idea/misc.xml +++ b/examples/.idea/misc.xml @@ -1,4 +1,3 @@ - + \ No newline at end of file diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..8fcbd04 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,6 @@ +# Compile and Run Checkstyle + +```console +./bld compile checkstyle +``` + diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 69ca4bd..03e6c42 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-checkstyle:0.9.0 -bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_RELEASES +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.1-SNAPSHOT +bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= bld.version=1.7.5 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 065dadc..1c4a1ac 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -27,14 +27,15 @@ import java.util.List; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; import static rife.bld.dependencies.Repository.RIFE2_RELEASES; -import static rife.bld.dependencies.Scope.*; +import static rife.bld.dependencies.Scope.compile; +import static rife.bld.dependencies.Scope.test; import static rife.bld.operations.JavadocOptions.DocLinkOption.NO_MISSING; public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 0); + version = version(0, 9, 1, "SNAPSHOT"); javaRelease = 17; downloadSources = true; @@ -44,13 +45,14 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 7, 5))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 4))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 5))) .include(dependency("org.jsoup", "jsoup", version(1, 16, 2))) - .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/"); @@ -62,13 +64,24 @@ public class CheckstyleOperationBuild extends Project { .artifactId("bld-checkstyle") .description("bld Checkstyle Extensions") .url("https://github.com/rife2/bld-checkstyle") - .developer(new PublishDeveloper().id("ethauvin").name("Erik C. Thauvin").email("erik@thauvin.net") - .url("https://erik.thauvin.net/")) - .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-checkstyle.git") - .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") - .url("https://github.com/rife2/bld-checkstyle")) + .developer( + new PublishDeveloper() + .id("ethauvin") + .name("Erik C. Thauvin") + .email("erik@thauvin.net") + .url("https://erik.thauvin.net/") + ) + .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-checkstyle.git") + .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") + .url("https://github.com/rife2/bld-checkstyle") + ) .signKey(property("sign.key")) .signPassphrase(property("sign.passphrase")); } From 7c5f0600558fd0006fc0ca574ff7767e4cb6150d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Nov 2023 14:26:17 -0800 Subject: [PATCH 006/113] Cleaned up Javadocs --- .idea/intellij-javadocs-4.0.1.xml | 204 ++++++++++++++++++ .idea/misc.xml | 7 + lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- .../bld/extension/CheckstyleOperation.java | 100 ++++++++- 5 files changed, 302 insertions(+), 13 deletions(-) create mode 100644 .idea/intellij-javadocs-4.0.1.xml diff --git a/.idea/intellij-javadocs-4.0.1.xml b/.idea/intellij-javadocs-4.0.1.xml new file mode 100644 index 0000000..90d3347 --- /dev/null +++ b/.idea/intellij-javadocs-4.0.1.xml @@ -0,0 +1,204 @@ + + + + + UPDATE + false + true + + FIELD + METHOD + TYPE + + + PUBLIC + PROTECTED + DEFAULT + + + + + + ^.*(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/misc.xml b/.idea/misc.xml index f03c702..6ab9726 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,3 +1,4 @@ + @@ -8,6 +9,12 @@ diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index ca84ff0..bff4f62 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 6ab9726..1bf9192 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -15,6 +15,12 @@ - \ No newline at end of file + diff --git a/examples/.idea/misc.xml b/examples/.idea/misc.xml index 7e477ca..97c1009 100644 --- a/examples/.idea/misc.xml +++ b/examples/.idea/misc.xml @@ -1,4 +1,3 @@ - + \ No newline at end of file diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..8fcbd04 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,6 @@ +# Compile and Run Checkstyle + +```console +./bld compile checkstyle +``` + diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 69ca4bd..03e6c42 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-checkstyle:0.9.0 -bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_RELEASES +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.1-SNAPSHOT +bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= bld.version=1.7.5 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 065dadc..1c4a1ac 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -27,14 +27,15 @@ import java.util.List; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; import static rife.bld.dependencies.Repository.RIFE2_RELEASES; -import static rife.bld.dependencies.Scope.*; +import static rife.bld.dependencies.Scope.compile; +import static rife.bld.dependencies.Scope.test; import static rife.bld.operations.JavadocOptions.DocLinkOption.NO_MISSING; public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 0); + version = version(0, 9, 1, "SNAPSHOT"); javaRelease = 17; downloadSources = true; @@ -44,13 +45,14 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 7, 5))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 4))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 5))) .include(dependency("org.jsoup", "jsoup", version(1, 16, 2))) - .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/"); @@ -62,13 +64,24 @@ public class CheckstyleOperationBuild extends Project { .artifactId("bld-checkstyle") .description("bld Checkstyle Extensions") .url("https://github.com/rife2/bld-checkstyle") - .developer(new PublishDeveloper().id("ethauvin").name("Erik C. Thauvin").email("erik@thauvin.net") - .url("https://erik.thauvin.net/")) - .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-checkstyle.git") - .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") - .url("https://github.com/rife2/bld-checkstyle")) + .developer( + new PublishDeveloper() + .id("ethauvin") + .name("Erik C. Thauvin") + .email("erik@thauvin.net") + .url("https://erik.thauvin.net/") + ) + .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-checkstyle.git") + .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") + .url("https://github.com/rife2/bld-checkstyle") + ) .signKey(property("sign.key")) .signPassphrase(property("sign.passphrase")); } From ebd8a435efaf8a433759198605ad1d289aa4a86c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Nov 2023 14:26:17 -0800 Subject: [PATCH 016/113] Cleaned up Javadocs --- .idea/intellij-javadocs-4.0.1.xml | 204 ++++++++++++++++++ .idea/misc.xml | 7 + lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- .../bld/extension/CheckstyleOperation.java | 100 ++++++++- 5 files changed, 302 insertions(+), 13 deletions(-) create mode 100644 .idea/intellij-javadocs-4.0.1.xml diff --git a/.idea/intellij-javadocs-4.0.1.xml b/.idea/intellij-javadocs-4.0.1.xml new file mode 100644 index 0000000..90d3347 --- /dev/null +++ b/.idea/intellij-javadocs-4.0.1.xml @@ -0,0 +1,204 @@ + + + + + UPDATE + false + true + + FIELD + METHOD + TYPE + + + PUBLIC + PROTECTED + DEFAULT + + + + + + ^.*(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/misc.xml b/.idea/misc.xml index f03c702..6ab9726 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,3 +1,4 @@ + @@ -8,6 +9,12 @@ diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index ca84ff0..bff4f62 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 6ab9726..1bf9192 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -15,6 +15,12 @@ HXX6M1JE}Tj-DLwmxQHo2C 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 diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 03e6c42..8b1ce0a 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-checkstyle:0.9.1-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/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 9afcda0..a76d307 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -19,7 +19,7 @@ public class ExamplesBuild extends BaseProject { downloadSources = true; repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 7))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))); testOperation().mainClass("com.example.ExamplesTest"); } @@ -36,4 +36,4 @@ public class ExamplesBuild extends BaseProject { .execute(); } -} \ No newline at end of file +} diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index e9d9403f37430202f3a06e4e410708ad0199d8d2..48bd8ab6f75fb0b0b6942745a8a3fe0bb59a0a91 100644 GIT binary patch delta 25301 zcmV)1K+V6o)d8K=0S-`00|XQR2nYxO4zWI1kq&(X4zWI1k&iEbya{|sJm=oz zPA0c)nsiG`X}YIbX-f+vT}YdhrerBe+K{#orpdGoO=i-WNf%a?eG{RIfVhB46;Ytj zY1#@^Q9x8w1Qc9vn5!6xw*Hya#tkK-ye)rwmWY>nUrNwwoMlKnDQSw^ z?20jEFX;*O#FjA`#q-u%=M{Mn!`C z;b>1R9C7A<9pjl7{q=-pHkC`?+~Dq5Fcj?xhoYTQUun~6G@q%kJG?8@8xC~WCE8oV z1CcHbk2grqg*Kg@x#t?p)*bHB@D|&22A#=dZ64UNB`8Q$8&~+z0M4mqDoCxYCK3tk zY3PY!KTBzuMaykEn`#n_km?czUj?Glk!g1E#)hGPY?ojH7g5m|SfGkl3JcU?wZ)#+ zmEqoAjKGq?2C}GCHl0JOF=tOG8VmIH)`Yqn0t2D0ZCGjXP_Xmrg=N>+bS^b8nZeyX zSdm#=?|^EushQS-YF&|FAQo&NN>`?t#p&#oi8lpOi%qT6hDD`8S`&ycjU57F-g+Oc zXUge+?b#d&2=y&GKV6hGU>|J|iu86@?C$H$rA>5!MHkxCNf&{0b>|QuZUMx~wSgEm zufkiHsxwH>#t~&O4MMd{ve~9C>W0L}!cJERQ}GBAyG6*gR=&2`)I%48=D=?>7S+0B zgP(e-&!Uh`Vd@7Mt)gP#aBo!OVI63Mo_^qet2;5(jG?F+KC$p?#HJ{Lj$>9d)ON0^ zY3W>B)7Dnk(ge=&&_5E~8r&^Aiv=SgEO;mFvS_zWd+3rhIZf*al=lTt&R$BBJ`?ZK7dP*)(<-V@t~FYs$921Rs# zC4I=E58Lz+-E9O|8aMsDfv#XpZ?A0oYMZW+ZBLYKw>Gb9Sy|WW-F`m$TqYf_x9JAy zIJTvJRowz_7iqo8rkka;&}q#8NGSJFn{K6#LHF#6^u&S*0?o|8UPHOtqT89uJ=6~F z?h5vc0DA~u7m0);b%_RxKAuoBfK%UpoNVyZUb;ir?31u@-nrYhMZ&uRn_Y3b3;Hw~ zjK#2=XvM|RaL7lWf}V!(l)JjRqCY9rKKeA;WPJ-N5^Av_3?lW&xX*%9Md*gM_^F-l zwdp?kJXpk~3sdcgEOG+Y8OqXMwCR2!$|*wIwJptS>ss16I@i~=wAME_r3kEl90GsY zrU#_=sSXK8>hGfmnV$CUW~lmKx+TyX4f->7ac#-cSY*KIk+MQdb=hmdmNwR`uWRaD zS=ZFoQqxf8tgEH2p{}O2uGOCjp$?3wo&=U0D&7I4t9J$?GSSjmm%3k<`+f8^NQ9>X zdgo!A9-;kE1aLZPHb=v~1F@iguo%>7LTM%VQo288(*cS@O~t~F%A8O5%lz z5q~Bi?uJE2V9e6HLuo{MHe*&jNll{Ur^o3Di;mj#4fUC&$5eRs4l`1m zX+0YoPHNW7T3y!iq)p$Z@4#2;4)z9P!TK$AuAZKlalUyQEP5K)Nhzj(ivtm;r4VFB zO#f4qC68xq`W}5B8v%+M13jVSLIC)bVy}*r;i*jqcR|wGxb2^lxZHkKL&ch1?EFd*Y-2z@&+eby-PP`(K+rpks)8uv$Tt zyV%qJhsAn)!Pl8>RuXJwZRs6|Zj&0*<}6*))fEewIh%8A_KUR>)U^)u z_eX-!Xs{dBhizDYA08!2YvsxeRwSPcx-1{;b{QCn$J(6F1x`5D5_Gg|%D>9w3I=19 z>slHBCQBgfrEz|q$dfECw0Sa5NkoNiH>eVr(-2&mkmH*(O)gG{lxnN?^He_7;%PP) z@$`gV8P*L`z=p4j23H2){zS!1-vESS>`a?yF@men*i3zYC`kZOUnwo`X{fe%?lAQQ z>eYo}kv)E%gS~+$B{r9G8D_<}CfGLJ$~47G_Dg#DD>wA?>n7nvu0V&xj4O1s6zulQ z?B{Ym4Wh&IQ~t`3waJ#sd7;gx^CIj~++Q$8@x~Prs=Ur;*nB3Rg&OU5LFmy^U+*wh zwarU}jr^K_jojUov+3vMY+8J_*M~~Y=;IaGWTltsLD^cH>jbBMp<`n4%lRCeS93l3 z%evrquGkZENHK5YiX1+d8!T?Lxrv*ZrY9{&7aSar4jdH-bq6BdE1fdNWvy#l)rrV* za>KCBZl`Kt?ehd>El}&&?8rUmt;YLl(Yn6=*dFQEVe=oL+1F@mkhsWB}Bp;%8}Fy)?d zC*2_sy2M+6lrjfx-XiMT4_NCRS4FC~+1#VE8s^c zvN_Cuh@M5A^hQ`xr7| zK=Z;W;!AD5Ox6eoO6P|73baKdT|WL0ctj@g@kih@MO=*&_3_o{fk@ZK*CIl#sPOUi z!1GY=(Z@G}_}gN!{%BQYrL@ei=nL!&hAP5;k*$^bYeA*tZ+`0ITcFfDE~233R+~S@ zw_zKYXhm;#!lT-AT!oiR81ddjK<2+iC}!e<}dPp z{h&p(zgIFBb2IHHLwqk|zhv{5g}5fF`lRA3Ha{q011VX7&f9bOYy6PK58M2RtZ!6W z0t#e<1(NkYYV%`!0Pagr6pn5ho95j~x=LUjw0V#Zp(7MmB!KOE9BkdO-mORPBm8xX zAGi4lSy2A)E?DKZKvdMS^!sYQB6Imke#+*j z1wb|!9q1RY3@rI9Hk}sO2$sHY^AGqr$Qh(C5{pXYK0;D*gFya~%|8~%;@qtd^bSBM zeggORcoCJ4Uliv+M_$11Pi-2@KO5qDrp4AL%AWEo{Bw(cVe>C#;bT)BR=^K`3I@co z_KOO2i$4DKNGo*1LLb9j%_(nfs#)8*y17lz@~X|h6X@WAZjBTlzs9um1Txzd?yDTw zwI@`m!)@)rr6RaW5t}z`ep92nC)yec^hdXaV?O>P(}o1(=xOsS!qF%q#ZVx&r$4B{ ziztB|E4@mjGU|?xp2W0o+5BgJLHcMnl=rCWw{8BbBhjM5#Z`R`aD^7{XOPiROI7cbECp=^$ET?IOQ_TCC2n)S0$AOI0OY z+-R_C08Z$h%0|Q>fvv&Xo~=RgvU0T>F1bvJDdvyNq?rL=#l32Yt(K}~+Eoa2yG~~Q z(CqKV6|%0gZB?V-!e$TjgJwb3Sza$qwYI7gZ#BDHLzXR{W2@B)RilHUu5fp7b#Qk> zcvn!HB8t|P0IdwqNHy82S!cAJjESYrW15q`situ2K-adK-mTC+ zv2A@G$BI>}t=i;ZVO)Zt(!IHN^;wW=x7GQo19I0TL29p#Vmp~;H=IPYD~_w$Xsb=? z0$?N-Ue{9Z$$B{)Szql}o$4Y>1#Gohb*0B}_3p5SVZ$1K0Q+49NA?l5C3Sp}Wb*YQ z@!M?Gqa{8(5X&c@BiX&S>Jzcf(gKVcX20rJJ1iBkRaC_izO?JyBk)6%zS8}G2?zyu zxh1A$BScRP!y$+pCgHQNkvkqccvJ1P)h@N$amABxrx#}eA^esYYN<;Sp@n9YhHz+W z)|JPce|~j;g}TyGAF|bl)khLpn2|sM;ju^{6h)M{DiVffD=R+9<*!*YZ;emEcQ(7j zA&Byu2=aj7>qKw*EOkR-W>-|2!m(B1flzlU&!KLDY=y$HqAgON4_>)NP9^$%>Q>Mv zDB1UX@~c~X>UO4i!fzGg5G3+JF25!H0!bnC?v&$y=Rfj zCz)fZJJZf)Q%8F_{EE8UR-aP$V9RYCYwN&wnG$5`Gq(Dy`ka#r&<84!fiCSXE=)UR zbdyJ(nn-Yq%vI?bRP9r6wDTOblH6)krul-czNqeZvcHYN*tRfC(Ag(AS{r#z2Ldc$ zuB29fSbZ7s3hjs6roLjU2h~?$@^*^r*t|v5)CMmI*JXnsKcpVE)FZaquO3ZMf255; zMMIQQDthj5PGHkwVRb;oEp^aVgX&Nsf0$t>P>VgGo#E{OeO87r=Hw=`)DfoA;ZxKD zvg2j71tLIyO0TNJ>Tz2=p^mz#)WASA=*afkx&E+=rq^-U!2?1kk zP+N+pZ1uDR)T2@X^~&BJY5A_Lo|Tp{sTS>I$r*JP9{iB>dd^lqR6hbk_k_B72fBl6 zcJ{3eL||GG!gx-OQ^EMK;C#JLJ&*O2cR?&)0OObIG;Ec6$yPsAKNF9!TXHbRIS}7} zV5wKq2(>m6hLMjZTv7G1`h`uF`enwm@%7UFYg_$BiM!tu+7^T*t8eyX?=!%xmO-!D z>UZk*5|>JlB(6z@0qFUYv)8_igX)iD+Q|w$*#; zKTbYEOK*Q5wrx!yqJ5EJHxwkPqzV6lt&YhWCPgD%SV1Da8uc#4VB1iJ0eMC&vbiS| zYzuo6ESf(y4kO6$OA)xWH=q}U)a%G+93A^H$i3w#Xo=L@BHpbh= z1fl!rq+6_y}HNu68$4`*8*z6YV_*v4F=*g1k~ z3q-dw9Z30S?UJc>Y31brFWOIz(CHXC*}9RLbe8ksT9fE@?4`sgwTv=<+bB0Gn2Jw! zAe1w>uXm`TOIl}s#W>A2=8Jx@H#?O&83cM63vJ_c&27M4YUfc=CkHL#4ELa7IBxtj z+BnNLswDg!)e9BU8tf0~@*r}qsf3JvAP_L9yghh@w!g0ah`3o7_CmcDI0Kd{4FD=ywgF9*pNxH8|!Ri zz0nTy5OuQ8&H9=&e#r-;clZp60M|u> zk@A|Y!4QJVF>scDd8)C~Hg*|^;_{<%lDT65aenH4X{LO5rej$|+r}lfaj9_`_;q#N z`JJ`(=hU~gb~ZG(*R{xX$CZ*j%M#RFX&WChJ`B`2>AKay-L*Yidtz=DVe0S+6Eai} zf6llHBB(FRZVUGXea1CV91>W;0Wq$FBWCQDmE2$(H%c;p&6YE{b**(Rl1K9yH%qt& z0{M)OLU@-X(wT0)Ygt9f@+CSD?K4UMU z(#lO0PNGz1cXFoX8!wzuIsJmt;^j-GyY9`rO*&C%d;)s&I3p5SMYs1SLAi<&-D6YY z%%-BmXWZp~K#?Seh9RlRk>~sre4Y_{51H@NAaF$q+S6wHENV}izhL3%ix!`8=2?Nw zUERSgqT%kfjr)wxL&e0x;zsDZtIlaB^x>$qJ5AWfaMYqx;#!~9_vqBx+*BhGY%<5! z>NCE~wB-LwK3npx&FxJM%{8@P*_AbI`V!3KVRgxWIbGfoDQl`}L^M6lduK3JJzA<) ztgFX!bxrGPpYgEc6**B;#kN3n8!FmcYSyj=m#%H8TUCF)&v?|yG$wA3VAH7{`X*X^ zov7_ZCG3N{fT0)Fn2LtnV9T)0Q`1If=rBIn*iyH)xwXEnxkWFaFj-%Bep_9Wb2CnF z0n$BxybW}E+}XY7rW@SA;Zvu;xfne`FVT3l&ETjh$zIMtk^8!piS_2R_G|@D3`D?2 zGt{gnwZ9P#riytYyC=mPf zx$=bKOqYh`)-q!9fj+RRTw==52UDlrfOh?V;Bnnh+dU!ePkD}KEmuUL`IBKjdXFFI z-x>*Y2kX0o0a&L7eNlRkb|$o#Ffq1M+3-KzF|F2_b-}|ZIP+cG8w33=UJ}!-k4nb4 z)xAf`jWo^^Tl#eXy|3Mq4$IUsn5M1g*a)Xn^W*4wmZqRtgi5X zfZk+1ER#@UYSOdFaOI?0?t^$P(M%fY7LMfooGUIv*O0gxBPa^#D|fy~^3Krc^z^Uy zcqe@oS(_z|Z^;h{JYAZ-1hCy-Zge_?u)953@#LuVYYG^ZH`HH~UumTAH`J(0%UMJE zjvzR5hX&9Y`^^IZ%zk}S)SuMMz+X;(Qa=Dw{YhtJya#6T^cj<7gFIV$wlY;`>ab+E z&osPd8N$Qw0TVD=fq~vwXRn(g!~CAlE$-QlzVs4BzvPAZ4DO2P1AUsFBd1}VavYZF z{(RzMdy)%BIMfkpx@R4oecg*>t%+h%$a8z5oe84`ljfzq%MpcXb*^Q1+j6&mcr)wM zPLRdN0=5jf_L#hel;KJw`Wpigz%7UjPsf8_PBL$wT-Qj6`D)87@ZKUm9yEPA?d07% zyByUZcSurM-f1VuZ$s5N$?eWQH*Y(6st?aLTmk_}8FD7H+ILnl8A>UpQeAWBQ#a zxpT84GwJvn5<=^9Yd5P|kRch$G%wRMBPb|;cQOx<(AUE=1l4khJe8>E90>JjW0fgM zB8S_lWr!r|=${TX&P(m?UxGIT$|Nump4WuUjWwI>#=_L-gF=*sjo z0qeYg2^5?%v?c8Vl-cFp22A|+h<&Eqzvc?9WPB!sM^&N{QZspFc%ZjCG&fcxcXf&q z&T`RQp6fHWr(H{ba-yLkuU}J?h~;)>A5HAa=!d&0bQQymgi9k#(z_f{}#&SX=NpUzvS2bPuK5!`6a%_<@u@u@5%B@ zUj4q=eLvv7qwf0}_kF*97fOyB?_yBgA|GaY5~Vvqea5?~b>9J6^oZWWxAB}qIe5;% zEY&oBj+O!k%V-uYr%F1Ts;CBEE2x%gjqjkB?X1Lj%6J;@9OD_|yY4E_aaUP*gc!4) zb%d%qN(O1kL0S=~xP3Q;000c;H_5dw3o;ALQHyhulwdg58Tgbrw(4(ZZEKZFj zrExkh1!uHw+eq28iE`-z4XeoM?=DcjegIN`vi^Dw%%F@P;#-!w7c>1RF%wq--C1b4 zN$^{mzs`J|+B=N=j@Ciic!*$s4pOkGJWgBhqKnH1X?vBqpLP_QaT+K)OqUYH=?ba3 zDp7T9vg*3wy>1-ZtI!0@TlUeID)R{K?I<)4(kG5SfbjfkdGF>7lQO(ozkg6K_u1OiTl=*^;AAebMeHFPWb-Hx6gqjl)rNgq$5 zXBL&Y=vn7M&qYb}T$Du5MJ{?KQvFc$w4MMxO8#Jli=I!TE*mX(JLtJPg_33mC52}G zJ^7!B)8_;gUr3;0UlKcC8d{aW&KfUv^1qV*)iMnPz#od!qlf4qqKU`p@F0DEy&ZLr z4$`;UQ;5ydL$e&jDrmH32;psXHBfm=62VPWp!HHN-Gv^Xf*{`me*82oh7PZ%&tlAd z81*@7qkHK>`T}*)S7{qPM3>RSfCT=h1Az7@$nh8;9MnW;fdEdTGmM{VBD5umaI5>3 z1qkzvpXpX$ElHTWlZ3h3B}^`V-RdFCA~KHwcm~28qYC*ODXD5ab<2B{PPA4m$01rP z7AZu#`3OA)CHG7tQ2X8e^n?7L#OcL$r||QVIQ=S4zm=LJ^m@k;db7i!@gG6sgY;I} zLHbKmNqIiU=^eb@bzZ&B>o({0FX#1MoZc^wGvPmDA59V>%79;={~yJ__^^5U?+*{ohej5Wzp;S*xJ)`htN!2SRpeF1IrlJ+7H)rks4@9IHuwXN0ho|n z>IA)f)?dF=_Y9fu13Ko+r#^u?(XN9+zOutS2J>)UQ~A?0Rzw0d;|QWN{wQlIOaKY8 zj5wbnWS9Yo<2fB=2f4T^yRw!7W>p^X>6$!jq$!X zFWz_T_oZ>JDzxIfbRQK~`P?tNDyPs_m?H%C9W6AUqFE4jUbc@;smj_%6RZ4EH_ENc zs>&_&gAKCjJlKRwf!fRIBXkYkcR)5jgMH3~U(hQ06=wJi1?d04Dz9R$-$66~3b0?pOmASW zw=mnAko&g){WZ+?2IhMUGrkEq{|l7<+nPd~Ab=Nu8ox4r4Zb*!&NhBy{2%?^BV* z6OX|`^J&I=T|}HGTD;uisTR+%xSZ&HnhGyC_c&b~?#&Ut&D1ZG$5XwC8Z6pd zt6_|$++nTw=ZvSloO!&LS>>mxu5kPmb)p8B3bPh)4LCK)Q2*zi6%Jbx)o(-iG`2*Q7fw zHSeHCD6x=$?U^pN+gt; z5meZOI7hRzmt4R*TRY4G-mRTwzJy`s6Y4pCTl#Z>$ImZv7p>$HlM8pP3wMqSH`|4K zxeK==tAMW@5&A?A^f?LWa?AIBfd1hTp-;&KU48;^0-RiR0-Q|CgcJD{vI|!Xpb&Z1 zkX2u!;R1SA>4>mrYSdMyMCK_*{+ zfLW#%@O1@zL!57FcS<*x>hJu!qIPu_?>qLQK#BAILkvf(sr(RsA7(hMefT)a^bLMe9PdN?9frH`OaXs4&fmL> z8l>unZk5a|-og`$vyH{pcx!z2eNG1e45S+sF)W*Go4P$c`>bj;xnL; z&ZHJT3(?pz3PC0B<+JH-uA%#Q1$_OKL8s z|9h?_ZzTWwv>fVb`Uf=2GXBGVJojIe^*-4aA2|j;!Li)hdFLY*KdHMA6(0jzo8C5} z_tITI`DLnWP0xaY6)7C!@}pxYUK+~o=X(TpjBDq-=J`#2&K0U95D5_qUugmVCeFWo za0sML9>MV?1;^*&M9D9hT}b<|G_iaO3i$Vu{@~Z|BCCM^&?rmI{|u~u+e=O5a0Ow| z_ko4(qO3B67U=hB*RLa|uu0Cc-u4RF{7LzKB z_qDGzg(e#R#g`LRjUnTG$^&-ar%8BX(efKychUD_(GvMr%7Xs_gZz#d@(W^b(0iRrLrMp`B z`arKXo8~#Ir97Hu95cz~r(ELy(hTijy@NGZBoVz7U40wGl9C~_@Lys?a8E?lmE&oEl@^TTxAUfb%iJ9@qjXa*~LeW8xt$}^CYe^ z{sE-Yhq1N$m4)~}kqbav(Xe0nrIMqEmBd+UOzF{*xEj~6kH$2jtw2pgUD?r6hZUDi zy^9uJMbqX-5v0YZs*e-FBrQzO91to=M3TRxlpo`Q`Dk;oz>MNak8I%n_^4*SuYTW^~ zzT`2rUVv_hs|(|*yU=`C%gtyS3k@(EQdExjQN%oNtF@ee&og*7$_`K8fp+4np_8wt zv3w2X^R+aSucO&~GnK%dDCb+Kfv4V-kftRnDl8w*O@;RS! z&x1=^aE|s%5izy@m#Rd;d_cQ(_CS&}D=fA4J-B^;8zgQ@)9G!A^qM*ai;=YUf&FT0 z*aH2@4Ot*-?6s-g3BgK%9X>GiRK-G_Ec`AA<_iRTwR8 z*GQC}?S9!{DB(Cn>Dfm$>}&VYswOQcH$qVGQF>V2tOcq3s8j#ZWc|k+0dq5O#5wmP7u>J+_j!bb8*-Yz?pphHM(=3De;GAOr(x21*S zMzWn~wWY3yE3mf{js7&A`E%l+g&!eH8-W>?fh_-j5@z<-P)o1UDf~NX;@{H-evR(rH$eQ?=s|vy z4)UMrF#my$@E!KAya&yo0VRLFlvApfq% zq|Qw;>0I+vmr3X9P+NII?YTPCc2;PTD$LgW?PcYI>Idb21?tCA5Kk_uKMK@O(krlq7u%1hm*HBepGyo9SHBWJ zO8wT+Vy``zR0{goi2p-AhR+87XFMOHsc=5#C`A>@pfgk!Ek*2qj`C5X%Aq#pPrCG2 zVG;)$k~rAl-~fAUF=v=Fv6pkGz?@~y)~Wk!bB;L|3Ozwhr~f<2{>4~-*AKM|qXa`9 z{5+e$kMT?J6kHI#2g2~DGAGZ|j_<#?ha`Ua9#rqhE3W<_P5%-slpa#=qbKY;8a&_s zb-vBVxvj$}G+PG^8Z^wRtU<#k>YkYo8KX_o+1j`Df36>J(z+jDxhI%8$W+@IZ13{fx-Xm~By2Zei{rV;-VEqw;RrP?!@p7PuVQ=oE}a zOjUNF?Z%R`B}9h#LouGY=cp+HCDR_EU4QU1&W8FUmS(EM*#RKPbf# zx44grBz620O-NRxWsqGSlg%Z#tk43Rq3G}#Hjw4KlWbLJ314Al-;oSF-ls+bKmkF!-N=co!E zkM|_J=c*#ERi|-(qngj_)dJq67IILX&V6bT$JAoJQk}s!s5ALibr#>Dsx@cdhp^yn zaO^y@1g_8J&^D!J8MyOWy4@@{D_~phrCnwvINMK;QMY-T3CD!`=>>Cvxlo5w_asBv zdlFKCI!7wT@=fOHasUOVE^IDBok^X%)LabXmPOrsrg?^cc_xCJMrtMOm&Z^`(tCQ+MzIw6>+2XE*e`}?g)3;A>$nI{;?NRnUEP0 z>8Ryosk13h)zDf&(<*`=GCN>e~Zl;$*h79mF5a_ zrK|XhlD*zZ_IfATtJXCJeuAr~CyRwy4?D$i?m?q} zEs>AV%~zNuheuQ4_*X-!SHSwONgf_KBG*e(wX`QZn-{KN}QZI$7WMgCrqPVET$Tg zTF4UvXk6Y<(pdJyGGnp0xA)Q1vhn7^#aX4}v#d)7jVtiR z^J){K@M>vVZp=aNr7*3RQMS4QQ(s9l)Q6}aZBEeLF3j()r)JhHDce!(69@biIja zlrE+`^L%3SLjAl*KR4@Vw|;KX&u#j7v3~aIXGlN$^)sTMG5y?W?#2vHSDGI(uX4Yx z#+S5QXWl^0?Y`&eCG$qg;U~?T%v-W^j1psv`O)kg^H%dVb1xPCKTt~t2t*6(Hq0^r z0F`P008mQ<1QY-W2nYZUu|8O{wlj(X1P-x2Sd&CHKz|Ujux}=UfsjBj0Ss#Z#Yr;2 zKr$0&CVQCaA~!*wXN;LK31Zg_C402NzQ^5}ZF8{PHe`wpZmF+tM z9Wkb?^M8Y(U~D0iRz78&mpqiMlh>deGMI)(f?EUAV&QOCbXsGuE3h^e?20nwYzxF> zu{jt8fwkq$ifS;d+SG0`i@j(&EfUxk*fVXFKNbr_LPLDnIK}ZvlC9M#k7>jp?Q^Jr zhUrvjP!SDh%1iFcq{qUGA`$=POy%X)ppG@yPJhWzr&9^j$iZi*Qz=tX;;W)BNAuDM z(!4Z^M(Z@jps{ogli>secm<1>55)5st zl?~4|XcA3k$_MO=+N0sF-dF(B+7AAdPf72RjV@CRs-Q}y>}a6JAMs;gro!~5g%FZz zgMX&dG+^EB-x;V6hdTVR^}*P7yhUUFPz>x|UY_3bY-%#hO)h7Kl*O5H!5O-&ldPR> z&>Wh}T7doKAopijX|{%_rmlh5Qgpk=!(Fem~6YipoMe+Fb|<3 z6+c@N79}Z)IW?&n^#(1W2B^%|U>C?UHGgGT!vBr@>;h6$Y)ORVbsWM6xNvI=oaztp=^8HIRdja5n@YuqHeR?uzO{vU22e@+OfQDf2?D>gnw_A zvwQt^e`Iywvfebp^Kh zyB0;Z^>znBv4%Yzfu2|}9P-dkEGQc8jdTRcI{cx@v9k6+S*W+GYpR#F(+m%V@IB^_ z0P?i&qo~KA%hZAcd!Wu36^c{sFn^zc_&5$r+7O9^BlZLeiK$mA<1VI2nRt{*ogy?t zO6KJT?WK=EOgh3nFfr$(nB?S=Y34s_(3Nx*leaU_6^I2)OEs)KwP_(7NUvPrwFX_M z7TCSBGZ=|xgT(a)-9R_OEKc-Cqk)K8-I8F`-`*8~{P0GdZe}V?%z9D0m48~emu`}V z(?ho!beo)fZg+TBz&4cf%N+*YDZhB+7dfFq(&TJBbdN#z%Gu|ev$uPB=suY7V5p}z z28;s!?i5ye=o3t%!o9J<8hGgdeNv}S8T0@>7`OOJp9+N*$6=E&Dg_K3lOWpb!)BLk?XBo83LoZ-X zriFmOrAgK|@YS>r>0iC{5`9ajZ%e!VavX^e<_%X8kbYo0>_zS1?j*z1l6u2yeV1uW z@&}2@x?nUITd5?=OMkD>_jUS#LH|Ynoi+#A7;|v#_IJS$t}M?q$fo8Y2S_s8rj$;z zWTKFC`jJ6Drk}uq_&cPmGhHw!Cv5xUAh@+R)FDTiCPNe0Zt4AhMz8Ahnn6FOUnKd0 zq`{$dTVZGY9f+99%7>&VMax6a>+~z8u@39q6bc0*^<6M?wtt>_>2>;zLBEwA+Y6qz zKxqBj0BB{N*b%DJoLXz3rvHtdpl4olh!F=H@bVIg~UrJ27eco7Q`PaQzp_fB~zuU z|HGhv(!a14*?&6@+}zB1Kc#ud86yOJhu+ocJ%iq-517W;Qqut^9}UF77=NhKAL*<& z%aA+w+BJ<^=EHV3r!}@3)ygHGMpnWMXk%ehU=p?|Qx}&90nUjh9vHV(ky9R_9v*>RoPTR@9_LG8@97DII;BtERNvH; zJ|T;It?V=mtE0&tE@GPZVHs+!2&{aQizS&|I*))OiO+B?B)q359Ek-w8$umnNzM^@ zWW%fSNFJs0XoJV_*mw#P0+wrA5r5`|u?nb3D4;Y3e2NRS)gBt8#LaU4^qp?*HtRNCYa5VYs?EgARXr{rlcs7=gL6RZ> zTc1-j1DeEh4W7sI6Pl!?bjpyLlpNG~xJHtwO@DZVjDGhF?y8V-82QdrMs7d8Jc(I@ z4O=INMfNj0WBhpL@l`D;q#~e1pKdX>lPL)azj+OC^@Zq&jYHg*bOYMuH)~l*}~OeTdf}xZ|}}#3#cW zUVm@!1{L0H?dpwgFGPORtMjIK3TgqjUdDW|92;dUQpcAVyhSE+SzUq9w%B&mvtJT! zm-3Vjg$xsAoAr{wQy$(5pDo>PdiKHF4GyZ{+zf|x-kG#3vcw+?czK7kUpqKtaF~0{ zG;>X`+srDLXDyn#?`pz7UXC%AvdiGzyniQ7MNO+k?KxycV7kNIs@IZ2%HzFK#y%qR z#pTO0FjVJ{!rmt4vNzZ>ZDX)UWrchNJyuBhQfaT?YYe`Yufx2+qDatWs?+~BgrtjB z9IDOX>-h$qZ#4KOx$NSMt&klc^>2Z(Xy^*aTrVoS-D2>^fGy``sO>;&M&PKI^SOdP5mKIV0^=5-f_Zs|hMtYKKZ^}qF1%FmAh2s+j z@8<(pek9P-X$XjpE~H^Hsx4Hx89!w3r{g;ZGEkGgYKC+um&l*b8GKL% z581GW&8Fm`PoKe$NbEe2CMBnZRDUF?9ikb9G~9gqOd%D^VM^rB2*oBDP?wr|{-nWA z$z)Y-2QKzU19H#8!~GCuDW$TMCaHBiVDM2shE52kU{X5+dsc2Wq%irXebpDpX-{zN-#Hv2r)n)oE$Ypk*yC-(Jxz$)$p0;(F!{6oa>HLbp-}hLtg%|!9U@jLIJz|J&AN?kPbtI zfRi=zpssfzDtDY=|2Emj*52*O|`CIB=rv;3G>azc%rT#@-z3WwwY2%s9FAx z!EfVemiYrfhBxL|}E?21r?a+kfD9_+79;&Y7uh z&Xv9#u~`^A5r~U4Kl0SSO~o%pZmJ#k``N zv}{o&s&z5d5Yq(mh00`84OAn+cIeHtRpDrGkEFLM5a|v^t;}QP`V|eWTUr|yErBdH ze~7-da`26E@L7hKEl18VX{~Qe?W`DI!=mJC3DMDtwgV16_)SE-ES=P|H+NRWCh(=j&SoJokWrk>yAM&gZ z7A?3taiJlaMP+?uP#iqF_To?|TA)Dj;##!0%L8n2cVC?1zO=ZzySux)yThWzT^9GR z&->#$@0oLFG84IS%b(07xsrsbCP%+O+l##22ak8qQr_s1- zjhD-Ia0N}=K$7aiwjbbymqKn^mkolsYQCMf{G~eQ$XIo+^~y@S6;6OT8O&p5n^!RL z$E14#@YYFc5R}h8o}mS}293I;gcMotaf`Qw7u^`tiv%LI9){c1L9D7U?saT!6HLP@ zjMA7Ji704Yy0564>YAiZ@2VjcAInnl7q|g;g$q`xYK#LfX;bqRYLRoM!L~foKCh#y zHrfXB+G%)xc4Zwmp~zsOdUdi;&{*@PE0?ElWDlZoL-1z`dT*@pN_WDW*24rfizNc? zN*q2@)*sPH0)fpsxjMhSn1U7h1eLlW#vO`L!W7#bCYA&HC9#9zEPJ6*gxfMd6QFHXX6M1JE}Tj-DLwmxQHo2C zZ60uhSf#3Qx1iq?x;A*+8Uwsx-Ls3TwHjuejiCr?#$|^!gkr>|Gp2v5y_VLv1W;|# z^Zw)OG{2ng(2esuVUq|nvfUB;=Dy8_Nm7*2TGgXa8w^n-*;Mv*m}1~*zL`Vk=slV6 z8Jg$;GyUNEqh?WjeR=;PKjNQSGhfRKuo2=e6N@F>O_bWc z9)}Pg)bBjR8!P*lgf?oW0wGEBJnr5tP>toEO|(NMqlqNAUJ0BS-u_fJHQwnVuFsd) z{>qE4kpdy(G=kA@{S*^((Q+t$yN(@eVrb%?ZD6B22-}ySVo9@UwP+a){HovjE@ui- zM6>Gfko-88F4&wx}7s#S9=c3-{=M64kv>Rfz0 z;{-Puq^u?4G7?)`;b8eup=qCyJAC29^pUcVHP<0zs?$!t%4^5RJWmL_Ghhvy48Eb$ zAosftb0qz|zT+9;W^*r9@z~<$V2*_q+`6y&d$@{NWGXd(_bdI}5RfjAHLlFXj*}Zc zuz)j>K5-^`@R1?nuzB9r!p3Q0qMpNs*#dkvIcxc>1!G;UoiW~L#rPqh_gj}~qSW`c zhbBZ!8{s2Ue)U!+%-Cw`^VwnYc!&w#aw271Hj_Y1_afQlL?V$IUNX)YQV-h-pxJYL z|5`cCTn8wL?I3H#Q;OrN;5=?0)+La-oW&<5d}J~`-vd`Dm&Wx0&ZazB}Tl^wi* zaVyZ5%g)Z}?0L8;tirrE`+gAp7!F#$BqiP!D|a3U3WrQJ*Rs5TL+amwW%vCTs9#4| zU|Z7O`kvECjUpuk?(j70zhR%-Dxz2!LUV?XeL31IZEq)-Jf)Y8K?XLLIWyZgT2@@< zE%G#+c8ZWo(#*gywBdczz^Cw}HgGZ?nltGM;}gb|j;@J~!9UeF&qhy`4|^Zv`zsmG zpsr1>Pc((g8zFVGHs{%OGN&-%btR@Qyf{d0WSv+RA~%drQ_y34NngXB%DTen_y(LDAZG(o6|5)jgj1ZKwR9bl z$K%F$`+k84a+BDcOFT-YtiVR}t{n9{vEvmi;$GC+7z^Wh4Z^+|Nfq1NHpIJ22Yk%jgs1BRwrmS9gXBi6m0?Kb=W$r zgI%1H&~#h#qt$nJnD5U~`_W?e#4?}{^$~tAD?Pl~4J)!FXGUUaMc@gR>Bg_N3;Fa# zQht#Wqy0f9iZJZ4^xfU)g*8`<$_*%~y(UH3AW9&}O4+z?oNbtE`#>?}9C|C+I!#*P zCzr?0S=|p{a_QaR(JoG}9@jV1i;k{Snb^(vQaKoHSm+pshZI}$@GA0E4gFhZxJ6{0 zMYF)Z`p|x{2*O??!XG z*@8+t1zq5aPFnFGe~1cq)>Vp6_o-j1DhowAsk*NnwfN zTE=i#+veCq3QS0;w7)42Y_<%J6chCV(o+%>_YC!aM#x3m26xGazTXCNNu_CLuhYIi zoH4%Y!`O)4Yn$9h5kTZ@)P8ZH;x>(i@}b$Za^(rPSq)#;`kQlO69In}SFVRqr6)Yj zG(2Z(iE*2bvJuUpL8Hki{JfwWup3@bX~e0RZI7RDHO-2dzk<^g{+^C^BJ4%+j5g(Z zrR90?jkkKTVDz0ZC5DfK8Af8iQ0q^LmuE{S+i_f4PM^v{@2yje*c z8HMWr);5jG92^vyp*1h=F!S~5p9cN~X)hUmVJP-Lk#3kwRKHR{lwI!h$+~d)Lbh|m zO1E>wuL9fTR~BAx;g;9cxjT)A%pT7`*oJi)TOAn3v6{k|EP9& z<4xCjJb&5n=bRPcoIR+BxicC(Rw&C=>cfa(DAyy z<#FI~z#U`GB&+OuSC-cFYSOAazJT=O-))bov%FL9$2Hfdp;G0a8%1JCI)!`V+wPfLvsS4`qESc%Giqx{qa#o#9qNGQyz;Fi+6y_Ojvzdrx;NA4Cjx_h>=hl>|g4It`_lCPH$_3xyB_@#u zc(171_YB+5U~eBlf+@zW;3t=Dnk44~lKG-h$ z{{Bd3+AYaRmM9V?g=*e_kWUZEfn=93JI(xJ?051jypgld0xCz>aXFt=^K`;XMH6TL@W7fz6`Q(vKttS8H(7_tyjc?yq_6wZE5`{}JKRrO8ZG%6`yB z#A}!5Ipvkm3*nIWRppTgxZ{ItqKt4=th`1O=h$KbcGh<4J1Xplu#S0062MnRO^mSN zmoS7r=@g@dU;GBU(@zC86?ud`=@Ab@X{>byOCK}+5&8Y@4-R!aGWSKRERU#KeLD*l zEg-ABKYME^ufkPq7}C%K~-OV-|9C*2bk{$D{R@ zQS$16yh}yT{BSolg3wgErVB^0U=rY9Sxn%c`=Ra=n(h8L^(yjiAVKN-{!rQ-E;{*T{OO|0Z88%r{`y8X~3C%X-M8lp$Ftb zn%KNVx8}h4Z@qfUK{SAxelWHv+cZVb@;Vn_eJ=A%X6(wh*9IhqRQ^IT31vT6@v&H6&;x-$%KNp|cc{Y~XrFLx+OG-8x^ac@UeqBCgz&Q}P8>Ixy{f5btt!M!J+h@#;XI z1q(g{EkkuPP^CP3{5Q5b9bnzT0?${qUa7|{^sFU5L1>$!y@}1Capl?9EVa8stWstE zZq`s1byGA0bt(+I*qdLo{32<!NP@Av__*j5bs#yY7>qpWB_||cvUrp6CQG{4 zBpr?VTpBr@NAryjd4Xd5Jv(4T4xXrg=hp~4;aD7qLcZ`HeuQR~S+vUBM;&088{%b( zO zedRWgF6p*SeZWD1EQ?15KiJT>`4Vr!B{TfpuCu?>-U|K*g3w1zCu!4Te<S5L%HM zU>G<5%iPmKB!F9>c`g<=R4jo%FWX8+L4k)EPeV9M`6#6pcA&v%obpi-p&j!I!M7M4 zb3x3y+s9V8S_MNoafZz{pIYz3l|`+DDO&{YChjI28W5}kf~#FYG^y+BouHEU*{~pF zen(|MivK}OA#M6@0g4=}6b&d{*d$L(#w|3s8{JAi8z$o$Iy&O|`jJMv^zSJ~W(}(+ zHKkc$tl%^GH*KWxMYy_%ZfhLYRkU#~*gB@}QzHWx6xKEll)8&B(tJa_CiygC(cONu zLocnOq6~1drmA`OxC^Cg_76z!NstRAm)Xx>+KQ?lFG~}$6JR-Rjpmytf}Oe#czNKf zDQygZzq}?9mwQ-HvR!;zXC$d0|IN2zTi4wq_rQ_{Y)!B{lde8G8L{@5fimG} zn+R%f3vc%C@WI`5l#UwTh~?(pD2sTjq`P2kvu3w&#kp zC&Jx23;J+Eye);d$k!ibQ|>sDk+p;lT0FY(5Q+Wt9`|PI9)ZDFHIr(@l#m9(LyeqE zvq_+doX%2HF<5!V51z6AypRAn^m!t!Lj7tFTJ_!o+xNI@CBMJp?bzAmmPV#cq`?q;<$W_6xczEWx;a z*_IYnS9XSM-T(kC;zwd(%v_erJXmrqrm1=tz3VJYAyA)6=zJdP5PmBPR60GLD)t3O zV(#N(b}ap=1xqMDEZHx02u(Wy<#w^6M2mE2Y4Yj*(?-0l|_=mk^UD7OTnI--GC!gXHY-whp?GOezI(w zE*LMuwFAj3?JGWELba{b{WqE9XYNnU>b%|SfGE$80ySiaM{PNlH_l zGC?ioZeLXUc?h#`BmRC8TCaagYA;8|ct>~n2a+vRC6@*90x^*~Iq-da@2v#h(t+lc zg7$|c8*^rYbaezo1{&R0w*-@l+syMOoEc1(AFTE9gK!WZ`XK%2DIV$jDRs1r{BSd# zZR^MMh|R&>W$k&u6M_mo9z|-W?_iims=s-QhPd*TAkNgv!v<|4nT1ugUxAVrr@*a} zRQ0@>=P?)3i5cZ~AXu>2`>XT zQI{m9NA1SZI8+hu3{WyB;?=Jp*`oQfVe}>%_IO61(%GU^>SbCx+9x*w`o+qquZXZv zsT8TuiKj+4;DRjbC|UtjKKpGnp`xRoFKRgQN=OS8nQtg90#iC*VlfuuTehQGwiB&w zz;SkdS=*51bjyr#D0@Jzz*ArTQWfYKZ^@9|h?)Rlt7x286P>mF!$fWYKP0ahP~g68 zI-&zSPFEIjlxqOa{-8pvzNVZr&DMPB*~W*WC2HEO zX4+GDV=e*P0#@>m!C?&unU0qUSo{7JA4!p0Rsgs=ICds<^{xET<#3F6I*ISk^m#T4 z?G(1Fi2QkDhXma=V+kqR5lj6y%X+zh65R8bxnW6Qj(k3bmV?4E7uGK!ISKK0x;N0s z%GaWF%}KB+KS#qTK2<@fDrV1uJ?qINv+f?3)G;T51K5S6P(6=g&Zqod^ia9h%Nz0A zUY`mzdha8cq%jwx_7*uK2pX^*Rxipg!!Uq9%!0lGd&B%Ax=oXDv4>`z5oth=Q`eGwto#1O< z`w;d(3TPUH`NMTZV^!s%&FgQR-(HfzVKNwrwpdEY>(>!mS&I(4V`v)!*XwI~)L0>J z{cCRo0Q5p)cqYLOQ~!e3(9f?PtUV8Ff5^1!2c~{BT{K)A-f4$3v|b7zTNOxWA=)~e zBJysCVWkop*vm()~Na` zxol_tSS_K$2eCQ`*HwBsO2n7%v=_#ZDWP3L?j@6-5tE!Gl_UFvEK9q=Er^6`<2PuV zV6B}>(e%NlC6n8jDr)uFguS-Nt97z;29zOgCsXI1`aUmtp-npy_mWq=EZg&|?Q5F* zIjDHT(t&DPy7BIHD%@Ieu;)U#kmMo&oBlwZ&)4!`p+9(SKxv63x*F-AivZnFqw}a zZE3%gVcX|B3MQKGtzK8u8E_rMG;e74P&`!;>!Oe@3aeKlCM<9f^_9HFFEIJIM;cd{ zD=5qj9}z0>fsA&8Sui_e`_uOMoKwo6Q$XR2AXAv_ypB`dejySE#z)Y~P5XX1FT*d~T(M1l@31#P};mPQ;P zHH^FztMvrcJG|9$1;|@2ywq|ffJ-NKm+FsRP;C&q3MT%5LD!EqHq2dR6F59t5wz2I z!4ws0pR5kT=pYEWGTMxVRv(QL)mZjHvi)ooigXvU$XsR$F}0@20}z5Mb*AcryU6$`O+F&A5{=kAG)c?_i^9i zfJr44qb$wtLhuTgSHB9Z^L%+vClw&$SaJR1B+tp*t1RWFSf=iT92fTsqfZpq(?;H{ zpne#~6lFq;9^pF=aNtf-BmHv;Q?*}T-0!lY==Xxq8LBF{sUD5>X+0${K51#Ast?EO)aK=!;kX2646!5?Y$lmq*$nMDrpB zG?M_q6b0h%>&s!>xv_jB3Zqb{}`F`Li$a+ZEK#kFR|2uEoWeFT-R=g~baB z?BKHxS`+WC)AImSpL;#3Xm`F4TaCHSe|v+OQGAQZHhy7$yhHt!rT-20>H_iMUh0tr zTC1Q-;h-o5UVtRQj2o*I3jDx@;BWx>-Biu!?rxQ<5LPh_k4%t;qwb6-(%Y$ zCy`hVviF`qr9KBXq>zO-tO zN^q5_77|1yu;T?J8bY_V8`h3wGCBa9GyN;YFYGtYiRKXXS$ZoK>Z-+ z@5MG5T-XW_cf_QsBpqs{N4ZPn2dZO>WVJwU4A^c08-@;7Qes*dyR);p2%^2h2m*(0g;FZL#(laSiC8=uB%c9R! z#cD07K${B{ORRVk+RUc;m*gy+CUP4pSLTmW#juuiS|OZKwyqPdpq&he`0{s)Guzq8 z1!|u9ner5CO~7}(mI>O?>+4H-TiZ%-fC^9g`lpIshhbF4{Mv;_qEqKl>RhW35&FtZ>p3&p)!W9XgTw1ZOM+b>*Mb3 zi^_LtXwI-KHmY<;OJm@ZUtd-fC#D51yz+~c_5h|V?ppMs)dy4-+0@RT$5xHN%qO48 z#tsruCVZ#7Yol}+==GzMBKix>QvMuEY-1A`fufh`qIZ4Bj5F^Dr4N>t)3Cz!a21xQ zu`4G`nwfJbmI}7AvId(WIZVVH0}CiN7DZt?tJ!qgJ!51IEiThkmA1$B0id)KwxOdP z63)lH7U>krTF*Y#Rtz1-J3DQwz82Z%+9xB1ch#qQ%~ziB~bO zsCuYVeL4%5-v($-Y|b=~_3Ztl@7S>7u&_wQ9-~ZiG%>TUb(6{@q@@K;iLQu2M#H!k zK$v@ae49@ZJWsYL`S3xy;~$H-_ydb;CW0|Z40m+gVkPm3i1Gt9l`{9H(KE#6(pIht zk6VCu-Jt58V@nnuu?@r!OJjYXm(it?1T*K>n?n<_wzMj|$Cl_>#5%Z`)+$E^{3*Bo zkODtaD!U=Er%e}SmuCd-ByQ=>sQ0}Pk@LW3+HWg~6SCDO(GHKEl53)#5xp{Jlz7VW z<^8*RRybL_u!`b^i~0K&;{IR>nXd5{&z{8ooG-koI(wy?z|(KieC?PA}q7W*WXZ0;R5X}(q}bd}Ys-Pq1?StJ!h3yzy~UtLN!D~?^;p4M}G+UD(~ zU+;=HgP$TwHg%6(qn_5we5w?>)Jr$Z7TlIBmn^u8o6_pj8ni1~SL^v2+El-GLj)j0 zSdGtb82{45ZwTORRU4Q9fFz6m!xR5uG70k^o_HOZ87r*hzuz$c{!38*mPO^n_0=Sl zl>d?c!9HI%&Hk?rB;-hTT4JQXy$FA^f-DT|C&2%F>=2g-68-qEs{c<=kJ|$Yk^S2u zF@ll84GRER!vg?x|78dONMVo3AdJ(qASV46ck^E^6aFt8OwgbKjepH_4=}pa17y<-K>ebMHO-IrmP!`|$6HeNJFUpsFVj-cr@P>6~C! zoGEuvC>)9}VKPeQth30^Wb00$NY%nXv zWE)!}GD5mb415)cNk^vRN;WhMX1gSR6S#A?sr8EhbnT4~d%vE!m)Uur>8dD-4N&xcWuQ=O9q3TQ!gyL+NRT}fyoT+3}HoP zNxcKA$);vn1FCgJgMoOkeK1{_W|U;IS2o@hNG&$CQX3YP0cmw0$~0yWh&k(gw2mpS zC$uSl8W8GRbVjBqX}~^OFBIwNuH4z%lTRDzOpDI4sguqI=jzU3K->(7RciuqY+gk+ zGu32~o(;pwUkw{NW<6$jmgr0ujt2;S=)%3xr8alD?Yt*I~fsUh=HLU1dUE9*R zrnarEuB8c_)f7M}UtrUPq8%sn2DSy4N5Wl!czYfL?;`dlC#KV{QZ(s4{n z{mQy|-Y(L5jZN1|Ymw8M1&~ng(>7gCpMmZ2~PTSTG*P za$=R|#3ErIeGYmW!c*bu>dL;9Q2XdEw8{GBRVLM9Lj*($$+*vhQ$^?oxA>`@?y>1! z`XX4wr3=%FVOit|tTULU@3ZNCA<8jA+choCYwB9sIy%?YwY1hZH>C-z90GrT#ij?O z_puHMhwJa72brGr?q;z1U%WZc6ASvYc5!XV;&`;*>5;ZVi*?y+!4@~xuB&V6Twd4I z)>7M0?yRe&uA#2BwXW5l4WSNTX;Nt=`BJ(+X4B)8fSQU&9F;k~WLQNwVADS7n+B4#1dYc8Ai4hBjeVJxOh{rl5IU3 z8jfn#>{?yc^0ZCgrtiR4>JIh<n(Z~*hwp-V%J6h682nUZtN{^i!LDMz2AK3^xqD`}!eKCzTBKRfhFm zyj8NNU)c0Z*^s}nwjQ#7&`{gjD*pGcZTb!U7B&@lTHX_g#l%tZg3y&9)a&$ni~eBK zAH@QX8q^N8gYmLEi{2c9G^jA@} zZGL)#-jT1rGtEs~WG{r8hU~oIdPD!T>0NpcN;%Notry=G(XP;c{E~*lF1uz3QpBA6 z3wCF?_(u0?fLaMgE&2~MqQ~ykhr@1%ls)m$e__%@$GWT}tNqBPkLeKN9;{YSV_T)hv^huDboE4HL5r=VPRO)ne$M4QoBd+#1a+PvD6b7uh_CCnuvqw;NOm%xM@dP1y0xnI@HFLQ1#Q_<0H+Yw=W@i+Ng7 zuMFviDPY6b#)8WOaDQUrrmqJ=F?NQ{Ga13vNNlD)oFagKsIRn^_cYX4JbQ@x0`=;` z@#ro;&%)k7lv10^xE!-$ToY`YZe^P6CHr}yzN+=1KHVg|$d%}joN<|smV(`$nf+YB z$3t{@ZrWcNv^LpN1<$wn1YUqWiu()3DA}+~LX|i8M4M0IlToAnE(kqZ>gyfGsFOJt(`v<~qTtU+9=z{8B#E=2cve{<1Fk zoy&H`9a7BMuq=;H;|7ZxZEoUbrfDh5(FF$wqyt9O31$?H>XNemzS`>6390`ZI0zIM$EJm<3DLtm8KO7JB2Gi~-chao_ zp-a34NGWsB=FOtM{eZR3aaE*xtIZ*u-H>FxdU$3+y>TyOJd_y%kP z6D{lMPI^?k4y*7|2_wEK8Bn`bEkQ9Se!h|ZiaGgKn?K99VSnPirgIGF>~wT&9^YZ} z=VTE!7Li(kjK9m~yZQ5ywu*$~pjzy-;I2VwuB2PBUiLW3$M-UExd_IWY`%~02Q6ZM zeLa%7n4N7uS>k&c`(>NIBE&UO)hiWWwfR928%W7Abl#TFU+0G`e%R(mWPKwt5>Ox; zERd}KQJWv*$Kk#NMd9eCF&W;Sq^kthUYiGaA38#DMFZHr$HCSe>)m?vKEO{{{G`oK z$$|=ocEKvQ24bR?rSCUv{w9A5TM46oVsJ*nMV`gq&PY`?2Kr`d6`9XZ^D{O-D*$rA z=s>@CWnjtgV$&IcjbP~on_uMbL(U+D(RfTE_hFKf>jm-;ZGK50i*vUw(9;j0_z~RS z!$nj+enp%E9eDx2Ke1^H|8$V+nGstbDSOJV@y{*(h0VW|g^x*hSOz~R7!b>U+9xX1 zE&BM^!>!N_3w;cCHLs$zsdi24s^&I9%j-7(UZ8^ux;0XK{70t6N08aBNN-jDxx2zu zI^5O{TsnfQ60v#H=C?GuL$TIypf9#H68G_+nbs#E$Bv&{8HvRZDTV{_U420fUPKA( zSmjkBRWWyb>?o#v+vdLt(nq>~p}a>`zhm>?B`-4x6m>QAib1if#s5s^Z9IfnCi+qo z$3JMSkKcz3SK*ugZS#Nl14)PiRJdDWqb&ZLJGe$hd?+J6VyZZ*?73$om|DT1EfCi} zy>V&$_{p5(sAtf+5)ZELAtwzds^ zL~G}Y`j$Kzsq$@QE4ZdcFbc^Xmr{^xu)d_~gDimv2n582mzfVd% zLJT#|R^vs9jY$*3C6!N2WGY=5fWq!Bjz@~4L0}`eBUtQ42*vJ3io^ZAn-Jpo)Ffa= z^JPVEFdpa*!~>FAm06B|vDFmehWw;Jtc~`-NfJMiRk2MGH7y+v43*EM@0>liqh{D@ zretd-HP*G&cCM(!BPm(wFyvx2%T}{R8=9L#;clszW2;hC234^o8tLyF;=rU-J*x^^ zRSL_BVH67{QKHlzZ>zadFAU)-pJa0Z;=2oc>I4w2am50^TBuHcwA4wqI$2dGUEEl( zs~=A2uBt}FAb~Bx6`?Ib@v`!@8!ov_i7Dm|&!pJ_V8uOZk*yZ1CE8U8bh}Pw!Qkxg zhGnv@Q*2eM;KJti_km_X*I8aCO)G3wC*Epqw}vcRKGjyM6skrB!(EZ?;Hu!xhRC@= zZHh1|tEE(@*{VT*EMRVMdq1=?JR{X)t7e_ib}}ZGI-O}&=BAn=t^HkFYkRgp`^2~Q zdK@cOt+r~DgN3n4hRXEj-q&YAs@+y+s1C?omjtOjI*RRNI$-`sLko)ixiWu6N%qy ztB{uXNPoP5e2!%I*s52=I!6mIYMA}1Pi?nU)K)PSPx{iXbC19eQTlTC112CGJl8ET zEg2?yY8VPZ+%O5Bg^k?t*uh(Bhpo<4I~`X%1$SCWHW0#Z$)T1yFBw{BMrnwIx8z)W z$oc127paSXE%gaoU7|jj%)$%@3J8x!1K}8=#FfzqG+TMeQ7(V=>N%@@3cj=19SK8} z-$IZF1Yaq7(`Tuxk~6!a(iDlWjP!@Q(|Hbc4P+}Ei5G8{dSUYGZ1rh%J+$i%@lu*M z4?3L9lG#cn7V<<>+z7e`C2L?7w?y}Y03esz~b*!lazh+CUse5d7ulk~s zLeK{>(f%&&X3ozzoph5cH8C2s__d#eJb(Gp_Os3gwt1qjsI9cPyV0>!? zrt6e{BOJ*MKc@o$1jv_^466qb=g=Owd+O^#%!fp&t@jRe9XyErBWjPO9<|kD>hUD6 z47VL9bO>Hrq0c_dd2L4ItoEt_OYO7Oesv(3ZOpQMDA7=OM`Rm7pPYr`j&3qbJ;_uy zbc%XFc6_q7Kom$%Yhm?-I%unJsBgN7*Fb-NEa=G?4LU{gsiz?t6%{(>&F41t9a}vk z=>ua+P}`N~Z1uc^-y_oD_wt^Qw0zH2FG$O%bc=S$S7E ze|K>8j@~taC=4+I9?v;*I&>cr%CGY&NorSg_4(ARVD}20w5?V@wbjqmYvNyaOUCAZ zFvsWXE%l2GLam8L;1a}=j;s2)`jt(V`gPWm^mWqyTU-53y$%Ksg|`M__v)KHx&ACL zYh=(LZ1qR=hD5OvQi&szWdM4g|j$#_a(Dof`;2(?#_GbG@MTZ?<|z zQetDGj;8U7BddSd>YtLY7^BJRO$~^D5AvR^-j_4`QI3uGwB@OP+v-2s{`YR{4n;Mv z|Jv$9^^udk&@$T>h;LmTh-%Me$bAM$K?&gvvJI9sOpHalu!3YVHs)Q5Vc3RgGzhXsyNoCp6Ig3jwOXtALG*;P0y`*#8TQper0pm2A*OM;~+Nset znj{h)EtgGJ);H9pZ=CEf*4W1BMhk{^IcPm>{v+!RpB|&lHr5*JoDfwu;2aCI44);> z1TkzwHuY|tVH+LBdf14Vo4A;qVFsMqs#N-8gt5^!&NR+~9fXsA+_Njazd_j6qc_8s z5Pqs!>3)D4&o%;>J+CpVYuD9g@Jj(0 zeWTCVf#7a!EEuhSsNE6_BMuz}KbfZ(yKLh;<9wLqm>hm??+?a2S5mX3(6gQ7B0x7T zw2h05i@~p}>dxp~QGaTETWe=Sb9-Hj+>l%@3AY?U%_nW+QUk$Sp_AcT72LTZv?UaG z6Ax2{PMDOTdN_5)6%avvzjkY+H|R4y1??d*6}%ARYItLR#`&_6Yi;8?$-mihjJLM6 zu0>LBKI3|c5J4cHaRY>RQ8EMSrpT65mM&eS!@VUX8_rsEX4#xYRZdal?Iw}8o0%%J zAf$eHG4mO>B9N`xSn1?eWp*dcTCw4*=~dItEGt>MXqxNe%-N`Oi^gqGo`)HcOhmf9 z?*Qd0OLdQbjmcx4%2J#oiL>2fIDjB8NX$57OwQ}QODR{H4F z+T2tt!D}il*y=MLWLot9k^+}hZF755Lv!s4u%C@}t{y4X%huN8xvI8xmCtz8agChNsd8%|wiOlaEwyXbfJ@i3)UB*P!)GL%eUBKYGZA`_3F1=;h=CK(gvve4jYHX=n)7)C$*4&~OP?V~# zJEN_CuF1Jfr?&v<9@+*veZ$$k=W-l;!J$*9!MPYcLNC#HE1JPklT*E%fg<;H%aiNP zYYlAyPxME@Ml&*xII!m8pjuM0#&Qg$oN_|{NN zj_-%dND9PWeH1;uB-=e>x#*0*yuTN$D)*j$vh=~!8JDJAXLxKk)OIMWohr|XuH}j- zG=D1ANAGd{eOsb|?qGd)FaYb+pzl`i($0hy6DG!Xsv7>MYpFFl883Jk0gt|GTVtTl z#Y=L!bumdYx4KtPnSAbavi|gq)6PwhbDa}~aXv@x77f0?Hu!20AoaRest_yDQaAhh-9KOi6hbS#GJ+$Q2ULy_<={UEGnBpK~i_@EVf0X#_=KeM`?5 zOlV)_!w90JBejUoQ2hG&As*m(mZwRA0&&8RvnSIbZ&@Xj|K8w2|`amDR z=g9$Dr<|Z=yK~35BW^Xcn>JbwESit5%HziXym$KZVM1P|{3b=*Qp&5Me%TcEKQ|lTomtSL<FT&FhzKXk;9*m? z=s$LFUVKrh$lmnBuiEKkK`-flOIzj)cmSTr9~wCt?eB{R(>P^XaQK^3!wWao9Lp5k z)Q_UDh*5n`l-#+=k(o^V4GN+4QMa4gEXqRMv6Q@Tp5lrlQ>G5dOqrkg%vMYep-jjG5+V z!SRttEj<#_7aa*gady^DGCu5txh#1HD`RnT1uP01_urR{aW&{ny& z>{PllA9om;^-iAaTucE{H{m~!U_wuzcT;y@W@esw=3J)ZkNhjd%nmS%XtMHgAr>?dSkq1wocwHbf%Z`uno%Y`B5q!DZ=wgyTdP#PUE-PirV1 ztnryZ{@AL_Gy&_pfGJnC2DfC~nKC!K7YLI-S7M(DwPJClRx&>G9C+hZsDxdfv^>(^ z(;c22FP7^)#Yty>xp+3u_L<>~n@mnLRP6O@ic=g~%#}W~53Vy;!e{cCa=SNqJq`P> zF6QFO%F1G&DYq@sFq58Du`sEIv4g2>*!JS?{-9LXS2Y)hVzK@p2J8gOvX1Y4=6To{ zGx*^Gzj>i~k!4eg2YZ|nnqX-5zVHF#%|-w#Ku=pQhXK452VY+ zS5f|&r~MCqD1Y5k{u9a%dCG@SemGs0zgVJmtqx-s|aq2g(DU z@}E)O=b7(Xl=pku??m~4r+hccPk8!YiSm=4^7AM^<(dB=%HQ;~zl`#?Jmp`Z{IsY4 zHk7ZUB79Gj8$8b^jCeyFh-t zuW@;X>cD%F{PnO+{pb>ki@NpWC@}!Qvbj;&4rIa71X(-P`dDi1JJN;Q!3Sw2tV_xYPlb-NBP75B< zdw3Rq&smg*=XA_cLt|+%aIl1C(o(9TQ>dD1@wJRr&WeCbYfiM68(wjX%i;NeI@8iwJ4`>Z~3eXlZ z@IUk@Eh|q@V`*7}PEW%bsoOSCE^VZII#a`cDt7w23zV-Pf|RVkUIH^H<7IryQg6ac zKT6KT)j)R+TCNfNmKCfupQQEY^q4mmfPu^iUHbIZSJA%MP`Ef z%lFgyLKsR+1nS1G$gO6a5Gcf8Rx`7OT zz2SL46;U4@L)+0319!%05%p6u?VwF`F1~i6zl_*LpP=*TYPwJ(WeHF;hgysu0|6#l z{KhNBt6HaAlS0%rDMVf4APTcYjGv&+Fn%iJA$16VO^eu~Jd4`#l+PRTGcfwI6hAGUY9~}6BTN`lux&#$LAo(cY+`9 zqJ_}m_4Ij+xfi3pKy7pnokd@wF8Ug6rHAMOdKi$v|MWPZJqmI>1_*mK5n3RC6X`_b zHBE%J6cMg>zj6R!uJLo-3aq7n2y;h@Fn73w$*1c*gjqo5App-pm_t-4e^w=3ji+w; zfHH~Jisd*&YsDgkXxAQ~XQ1SsYXoYa-$O4J{3t=Mv^#~LmnP^}3HqJX9H2Kk4$xa2 z4vqf|8twV|dGj`K|L?NPl*wr~j zW>HRpeMP1wQ!Pbk2j@ckFQAL@cF0r>4M}tWYkq>p(UWi>4x;BbXcc`EB>EPuqo?Ui z`ZjgbcW4_u0~pUjksPFJ=s8W2QedE#RvW)CeyO$UwJD@u>muDpml?k@ehuuTP`x9K z>Sru^1D~9GNR+F$7InIR!S|mGg{m8f zynqe9=rI7}Q%fDMm(Tj^H|q0)=KGiqIrFJoP$$}TK*(3VpGRRH9^F*&ER7M7K+RZ! z=!`qanhN7Vf*d2k#|RmwL*jT=NBLeZsm?7c%1!W`16&~z$W_&UR*_Zu7%fQfypDxF zEMQET6peAd1TWlu=nrKHt}e0?ym&ViRr}m8yE?DPSCl6N_8lxTpP`u$c3!fZj;YSs zO%tm9Qa8e_%c;&U@`DX>>2%nH^MTq6>63Ih-nT+F@5Vl7Kytr`y*&UK+=KEL={{X{ z*yJ4eA4D&KSzd;JH2(+~d=(>p3XAbG_yDg#s(%ho;1{%#euWu+Ljn3NSmkxh^?PXM zUjgut>T7UceIK>s6VdlU1$jTzs9oc|3<{~b-CjS#>yL5<%UzXM;KPNx{J z8^4FYGl#Yse=zg+U#-Bm)8FY)$Vf=+m z&4|yF{UH@wJmC-=G@oX?H$=pFg2hWMo?`JViz|peq$%)%^AFR-;odyq+w473oD4p4 zc|6^VsKKI}R%jR_DSt>S{yF36CeA+I%dGNiR#!NFf;v%yi-lPWxfYz7;N=bArIn2b z;JB3U;njP8c}-K`{?s8D3A9+p?6a2zvAY?Ve+4XA z1Kx{Z?bh*jD9p9`ZE6fHA?OGCFF4~vjQE%&f}8N%epIFB0H zPt9z91HuSu=aDIkHxoYeE5_e|&wN<7cf^gryoT|2{nd#5JFU%RxpnPPsw^SUQ5 z8vlg*^=`_YmYVlaBb1m=!1fFm+ik7^yeaPk8rh8ZheDRTL!h}so;G=GcY~bw5zPD( zBJ4Q%t09~MycjBMe1c;++Dk6v9jzT^A@9_G&N83JF!M?EoGbmg(BtP9yNgzGiOGe# z#)Uh}g`4Zbz0if*kyFSQ4-0*Q2l}iObpD^9UotH8$=RUG?f)a-$TJ76`f?2y&~wU$g*`*V9`B4#G09BhUlI<>>W?_fr77GDKg;YR%o2i8c8u$P z6%Z^0nS3T@nNrAC7V=dIzNXzNU0bHV3+_npr^TUy3p}Z`Tw+-?AK)8BG;dDuExYMB z-RX9>(}ZlD+zAqV=j~LVDtw`k?@90%n<}1KXc`N1#^sDN@1@d;aXIsvK-!h=oNvI;63|)7>-y|#XjE8a9Vruagga7{IodU`}jKycj380 zem=q9yPX=O>IZI>%q-r*QwwvAh1NK0T<*P8R+KZ&ng@IDlgahVoxH5b=T2^6@*nR$ z^qEp;8!s2~j}!dr0RK#4d8h7Ip1OJB6FJ%`Op}4^3L43kG>PZZG@eH#JRh2W=>%HJ z3uz^v2#s_SweZP^#+FbRD)}Zph3?>5x|f&H*HM0qPo-CQ6}`#zJepVY1U`+Yas!v4 zJeSw-3EaY~pp7?jTPldUi6$HW2Jv%wG`{|WFCV=^8;uW)|BC+RGm}h$ua`8FOyfny zhoaX~n#<|`k!#5t$^RiOg?gHQ_A$-0jE|XT|C@3?B-`Qxhu|kTmRmdTe8A$Tbr+(N zLttyu+eY+3rt2p^W_7LU$xyH&g`-@4bPUC-gW3HIkHC&{?VQ&;3e@b4ZR1Zks3aC|Aj@wqrr@}p-L(rzqGEZ@9B{)41H_>J4iD&#+ZHOf*8?uK=H zwW$KGAPo9$u+Z(4Q;yIA{r>WB%D+1nz7_G=WO9IP-bAChnq)OwE_O&L{1e5UPL{*~*WE&0aen=DX#G>VAyY8az$D$?juaX7-4F>riVvyg3 z-(1M=0UdWxevv8e{J#)?cw!6xZ5L1WB?ON}Z!Sej5{8+OyEMzj^G38*VS zSmv-ywb7*JfWi$3oJ^g$$QnY2{pCa+@q%J^n~cWggWka@)zZp300!qHcWx> z3UP2yQWdF+DyhhS0niOH78<@a3A_}0$NwkqSMv~rIdkL|s`&$Ify7ru=76e6sHH`@ zh@aH*0ktxrRzsZvjB0F`6*RU>oMdUZcTizzk(maXP%Y>p^%F~ra-8}qr(Oo-!jF8v zW3O8KxLQ~Gm|7=5*C*6j3DsR>KCIvX3s2^J7fKE1nR%KEYuPaUG#A`@IUO|fq4!PTQnlCEw)TLuST?;9?@@y*EZ2a zP~zLr_TK@YJp*n3EFzQVz+cZJ%KI+p@B*#o7XkS>+6rY8=AY4aSg$DmfX?S1($)MD zUCS@ib^Ign*^lWyeuciquhK*4yBB@;^J}SpNPYp0Ge?*s^;)aVQRZlH#$;+V$LP3x zCao|F%t8<-N|TIN%(1Auj;6a&4ak$ySqF5^PIT4*HAN@tg&#JMPqKHp=`2(WYiL_WP;R8!iB?(aQ^GZy(CE+LoOhDPE&K>s+Pu8XBJKB4KHfC#elj1Ca-q6^ zIiYTCC>w1(Nw0Sp1$pq3<&h%~sH8huJ1qSK9q(-I7@aGxg!)1w6y%qnYF|&N`Z&yDe-0%Z=ZcOQU)qe1|L;{7T>ia!dN;u!)cUX=stYXTUb^W-z39)@KtG65W# zDFH<{sX+o-DAcDUrgaMPC7Hr8fWBXUJ)z&vW`?u;OBmZIHA6O-(FrZpngzMsD2~`@#kXtqfot)S%EG5r2T;UIUFqY zONm4h>Nny|soy)g?9B&LN5dpVT~&Dmy&PT=R7bIekx^&~Zao&N8o`j=r{ zFKb6e35GoQc_E1(oAJU)&WBe7`fFs1BPFeJ~Qt#Mw_H_wh3eWKBGucweNs2wPUX_ ztvXMrRA@}svvCa6DZ*^UlLLpCsmJteJC2S&!}b^FlzQ2OSJhyENU*ai>znhOmE#x?V?-XMdS;AQutrG-B zZ98IB;W3}^SRNn?k16Woe4fL(d_14X)lk2VOx;1VK-5uWsxc&gFk_4wOB2;NnyMzy zY*j=RY7#9}lWCbchMLqA>QqyyTNP8EnnoAGhF_s(&^>Am}JeKi}dRSD;) zIqXwqoUbZ*0^XB<@SdZJd8Im@o7G&f$vi$w&F3xZ1dgZ$yhAPIOVo*cjXH^MP$%g1(==E*Q`In>S7X0=&^Ag7s{ z%|)2Q;!9|XmLDG+Jx6}>wET!}b=J8!waz7}buLY>Sw!UjIoSKmRV~V=v8eQ&T&5fINi@-1u46~ct4S&U z7Md$0!wN!FnRVt$SM?XCdcBwG^NM(mffz|-IjO-wEjp@k{jP6u2K(ohEVxK$36p)7RP z#Mq{PQ*N!vg3+7c=Niki<=v{X<=w`Xi5FCqD~WsutWLiD(4DZcEMfGel5Y##=6)mY#gXW--G`nle>lYp%fOwaT7jrG8mroAnmU83R0o}=)>Dhx zK;V$`O(R(a!GC}rSO9Uiz^A+XDA<`7M{xy*5Ww8INQ-?^7$n{W;>V-&$X@ZKt-{^y{ zv7JuByGBJ)$($*4vOYo*l&wp78tYPNopm~#Q0RHOJ|c9IP%Gqs=_Gv=w^Sc6B~Q?t zwZvFxjx(p+OH<0n zne!Lsl#R==&Koc;!5h!ZOo+nkWf?g#2fgRRv|d2D>LN^iF-=#Wpi*@S9gpvSh3e9j z3Yd=Nw3w|rtf|qbcA_pS^kSV8qKRYxO>nH`td9SIr*PW8Y3gXd+>~@Tu*5}*Uq>v6 zn1h4zQ7Y&`hF?p8{PP<>5kdmiy8i)Ia|W#XOjzVI+fz5>9?*j4wWFTp-NAo(o4OQXw!qgHDDxbfR=Nok9VsM>O6- zU5I46;o8K>Fwf9J+F`CIIeQ;%ZXh-T`q`zQLH*pKpCSF+rk}m~8PU&P?fMzh&wl+p zS3h@|=VOLXnwOeaxL;S|OIofruO;V}-}m9ZTt|8QwE1cCGr4(2xiQAPAve#w(Y)Eb zm5TlkP)i30y_xJd+cE$E&}skxP)h>@6aWYa2mtVYR9Ca7Gl~KP@P1TRlQlL#e~^_; zHWNS~BoIsh!x}(wk_<4A%*2@qAnp~{y4R}Es;yrsF0>-r5TJrft6y#Fr|s9hw)Jbj z*4oYPuJAwS+&g#fED8Ak?T>QrJ==TEdEWIb!z-tbogkvQ+CDD{(sXhefeb(3Z)|+qVTeVoX_cf}vn+e;$)oUa`hY9?I6qYfuguOhY5V&4J0WaJVZvxiQ!k zSRD&?MVWH81Y$DT9E^g%>hfkqH5gWP>Nc3kUeui&32X`Mn!Lgviv=Q~K}yzFIEp0M zI-T;Eh7C|ZhYDzjPK5>)(NLzm(g+%<(Y9r6A<7Pj4ldB&`UUSxx#t9tUtz}u{4g!)uqN< zT%I(nm9a=Lw53i~JlCKJG?6JEurFwjhP!%W0Ss#^_)}hy-Xt4MDh#TmDyHmcpvNEa zqhqGR^s0prk{W|1(PUuVf9>BMs1Jua{IRvc*j9W+WByPK>|R=)-tug6GK@`5XR4IN zX>!6Dnyitmoo>(!n#tq|0(x`sCFM>DX|nR`a%eW4uT!l-brSc&^ePaBt^Vk;z^<6A zJJ+CjbOA6AAtMz(TM`x|DT+BXsTuVKEusdf%;sPh$TKx%n8N>!fB2gMvDly`lFvH$ zyv*Mnkdn33pbM!P1C9oF2bAnI$?RnYEvFSoqpC!*DZ@OxG@n`xT1l%Q2OZ&V2tr_0 zcmUiL)inmKrFEd{@9dP2H)T+rHL~J*S#d)Osdx=Fmx~R$L~Lm4VB81EG#UT}2vHEoLLks*?gbZ8m6&q@QLXTH?g5ZlXE` znZ_piY3k|lisd1RkK)fG^eoDu3_?a2D$>VfN80Ql&4lL zgahf76a0ih*Q*J3Z|@97qS+vEgF!daO)!h&{n2P3qGq=!81=Vz1t34XUZ-1_N)w}A z5U-^s?xmZhf8q4dZ3f*g2cO#=-Vv}3r7XGApu1#=N0!I|6_O@L7lsA2OLcal7Ja6%+OuF zVWHHV&(Y^~dc>grpfA9t#9J(Pbb`7&Bd}%=OSEZff2vrc(-)o8mpkO}QKs<y@yR!AfmE5E~=%c6>8bdu!$%TP*$I!g=EIlb7&lF-Vy@ixTFG}6|8q@5v za%UN|%|kC?Os0i^z@DE{&pOR5XKEx5|DmiE9^zx!0sf& z(2`oiYyB6~sN@2P$(mp^7+bC+%S*4*cXax$e?k9E-%A^Vtc)?ZcKW+u2$z><>SROn zpdBQcZBt4oTQX5dI{m<)AJUItLHr$3)|oCCkQ283aS+_x8|sj~OqQVuY`66OKcS!M z^oBt{qn{`Ff~3x&bemyk{T+yy%E||&C`HRdFY5F^OrssvyD1b3MC!X>=4?In(wp=v ze}n#4dTcLv-U6ZZZwbik-x%~3{T5~m+4cV3DAayfQlw!M0o#5TXB+0c@bXwd1(wMg z`8NGQYUCfm9eDaRGUM~|@r*Q9&v@vsOmj_xv2!a>E0fkKVK=&aq=m#sC5p{Qn`y|Md-bZuO|xOUo6{;=mFnb_Ph(ZW3}|CvQ(zLdDN~b7TFe^!xSV7l zRY`Sr$EC>8VqtHv3w6Ehg1cf5XX}jh(Sw{5UwEM3Rz*&EgnD=cc5$x3d7LkWf4!$C z5bBgZc|(0uQ~H1`@^!M&5X_Dydbo&b*2iV2IU}(0Z7!B%cIZ3|jwC+9)sXO>o^T`< z=xhjege5sgsG2l~Npsgy2GR&lm z$LKuP;Bh=2ab)Id=mH#C9Szj`e`S~^WqWiu8zh0o1OZDB&X&O2yu{!p zUW!$8ENojFDJ>Nn7E1cf2Dk7sEO8{-vI0cOHvrfh78a60y&k>@Vrl75svGB(5bjP$ zOfck^a+>DI5Ate+dc4MpfB$5#!|M!gQ^C&WuHNX@LacUrb>0|XkXo3nl@TE9$Oaji z%;!x8Un-Y&SzUq9me^M0bGszmA*CxF3K=xYI_o5XXFLpGtS>%reyu4jnv+W!Cd#)w?@p3Q2f0FDpco$zDr=o_{ zqIMv%A~59PZq;g0A?5KEh_d)fxq4i>Gy_9*z8cmyF_zuIp2_QjJ!*}}SJ9J&lrL5I zD*lAQ*Yh5X3oMERO{O}dfrgND*os4SIea7Er1Q-N-y)}7oUs zHkkBjgYV<}5%k(yG}39oyVXnK*lX}U{tTuc3G{UNI|35W`ua>70-_@eX^4z*3)M=E zKWFggRB$Q=w1BkCU}rBtTUBy~O?HTW1K z^3OqN1q0g|*d=Y0jB=V}@v{b>;FEH!z3oxUkd~BZ@}kPrJa6y|atH>7(69^29aVAK zeEyoG^Yyfie-ekGeA(dtl$gQDG>3O0*24_E{0e_l=WiMOZGJULtm?yEU8Wa|{5ze0Z}1-&@;oA~ zy2Yh%1WeMmg@Yj_KQqs2(+VjX5S)0FbT+GN<2^YGsgn@Rouhr$1p zTeP`7e-MF{aT_3I@jZjz=MTUJIcBE$0}j}cueLke6Dy{aO;`TN;8T1$c@Np#@+ojc zGRm`OlSi;2gg~4;Wa)x63pO=2H8*Tpv0&AzhE_OQ-+CKzI(D2KULyK3CWq7q`A7}^ql6xtW_iVD)QMU9xGi^+zVBBnA`C7WuX8VR;TZzit@M}xa0 zy%m8-cQ9(LLzb^y*3i1CwPC>`$YS%yXj>;cUoShKZipGO=NyyP+SaC34Kjb0A!f_` zTrfce?8X_^AsU7+a@&M5DOF`Gv7g|-Vlq-u2(H- zXl0#sP@F-xr-9%uK{7!TAUMGZt|7R)I}C0K{z3>IELd=Y!{9Iw+}$09;1C$xVbIOD z_txI6-LCGcmg--h|GMkcbNU$DYl3-uEz(@{5d5W#(rn3SK03j&IL9iyuk&Qt5*1#m zh*j09y8UQOE{LYwBqfj3F)rurWvKy$4VzzVw?{XjYvzoZd(<2$!Zh7pB2PjsvN&M4 zH71S`e#f&0HYL-b_kh49F>$s%WXz!MlYQ$VVd~(gu29elwHtF7>@|!U`vf=n=zZ$1 zTAda;AuEwWjC?$9kx5zFb~t#VP3(_HQ&Ny+{j;U zXQH--w3wk&2{ve;*m4omtP@&NZKRW`O?=Wrlcyp#{HM#vL;96B|+5}4*y{*(1Yi*JH(3u{L$nGlf?R`ghuFv~+tFZ2m zWyI@(IySxLT!61ncb`>&4_axm6y;rrWk4>jW&Bom3q(|_oeVAcN^k7IxS&6TAPerR zV700pEpueRDIeCEw$u(28ZH?5Hw@KYQsCZh6#Emov@3ui9c!b`Zxx4THuvN z>8SkfY^#uu3g!OZ{!x-!{<~_{rzV6cbujMa<3q5phNh~rZD$d!D1<%@FZHHZUp?7J z>s3D|#+QTjkk{pB10}vGpPU{AWcXfq_ATeSOdk&}lV*(0TsWq!zC0f>j&*EWU#r*G zN2)4&3kZO!_gIEqH&GA*4$W^iT-j6xn;SPM;sTga+52-=1X;QHXmXu7Mhyn8$$+>Y zsK%5w*iXV7Yq*nbtCsxn3-4ZrQD4x?u^8(7iMC05XNEM#KVSX&qnrypN)UUe$Ebpi z0>RIF4!b|AEk1RZqZU0PR}!qHzHJfoikC4=IqH#KfejcvJdwp?lY*X9*P%JjTckqy;0JxpPO}@ZZGH` zx)@0g?~Tp)_<>QA|EgpiQtos5g55s)s7Kjle@#?P|`~5Ir#D&qkVRamBIT@ zVhg~CXs<+lBdg5>d(TEhnH9PdTIn~hGxS^QUHs3JbOExR!`}qy-yR&fW-2E!q6NnG z;4O#rS$4~;Q%npA&UDWzXmsOfK4y(xmhr_v6OFan&CQ!9;q$9}dWVap9~H2^g9!@4 z82Na=z63@aq)iek-V7$39XjdS_5S+_z1 z?cc>8K9c*!yl^umM8yk-Wvrh)rrQxqCoH9G6r(@*- zrxcxkk=aFk_LlOHFDXSU3)p5MEBo(hDy=1%UdAHWmqkaHdOJP@#iOQ3q6ZWjqR?SE zY~IBjO2Ks+LYzLh7uJ`)BVMFLZC`TN9YOK%Mlf`l#2;NefyWJ=;?0SQr-x= zIcX1I3LuvABb8fuWU^Gyl|h1K!}WDQ{`>0d!~&aGP`#MuquI_Y#;ml`Qom2nD0%KI zsZZhqbG9-E{eS~Gjb-JCn2jCKpCP@Zy+bt*#m=8 z+allWyE1#-%q#K9tn({9VVQ}%M=c-4eCC;Qp5`RtXcLV|(LjZ-)-PP7Z4X~`8?8tD zE!P|5Db63c3l95I*gf~X>--Q{A%`}GHsI9o%Ca4t*kkoJgbC*(^kFDf4Qh}Ds4Tkj zG-$Iic=q?#UsM}M$PV6rq0b*XcB*MyRXWS;h>bT1yxvs5TBF2wIXQaupo=7rxAP<$ zwx1T5nV^!lx;6(To^r^NGyIMelO}3FB2}Yp_`-TV)X9s);*BcX0WJoRXB}ZOJS%!A zPkkg+{D*FcGK*qTGyk(uFMRmn!yfPoGp=TaV<9i|p83;Fu$ zp}*>{Pkl1s2oGPKAM%W@ACwPfU~Fh>=LEYeXgMLv9#e4bqImu*IO5TqRqFD1kG6h@ zGsc18BK&jmrQK_c+rn-DljPd-FK1WJeDQ$jz-M|#7p)RB39aCb`B z9qip|Xw6}zcUx6ys$6Cp*HpVla4ErYZRY@2ztO7kdF>T?gj}my z(R`H7jET(n)y8V2iVuN|S3;Tnx|jZYGWJAq9m(}ze&H#bge{?za_gu5?s7*9xay?j zYXnKe?7z$GP-~M`U_uR!T?Buj@kGv2pti}Qd!b-hNmtNU z$Jj{VQ;#HFyBLt15F55`nHPt`g}w>ozkJTXbxPrHk!X>9GC5{@G(~ojxLCHjSjKZ| z=FgYN2>#w;)xQ$PuPj_8aX*_I4#t{rrvIFeqHf$mpee|Dk?%kt0Y$GGPO{c1D&3}& zltD*q@1Xl5wwv%)d-`HF87NJb(fhxjTHhJC%YH_kxp;chqus znxEDVJ^>*3Jth1;A+R%H)liKE&?fy{jB9F*jFK^GUtOU|Ozb;|w||?PA=g&LD9`?E z*}K0Dsa23Bmt!`a^w2UoQtG{*r3~N~zGJJqXOqr}D?8`DL@?cXD_vKeCR)cW|EpU* zQZdE7Ak}<6YE^4(ucD^PFP8^3_g4{|x#T3k++(eH^tI$E2ZlE*Y}2^9IVfVJ={!2g zBQp$2MYl$GV0=(^n7`o%$7>x1uN-=u6zc{Y!`MvcBh#AsXEYC)=V^XzwU=8=)WZ(9 zc=Pc1255@hO|QAi7=@%X!EItL+R!lbg}=A%vBY_&20gZvh5AZ<_KgqeJrbUQPRBq= zo7VbBMcHw2=zYm{Cp_n?UOs&aBx3IGol(FnFOO&$5@Uco)&4~?)K(oDG9^*V6tnncXFO+k3T94)`IV7B)42Vsj~7^ ztD~>0!=2ZqniJ%v*!?+HD!tn=M1i!j-qhSdM6RHz|0`3UJr{`gk21C9Y~YwQoR;Vu z9({g9@Y1&xo<1^(n=nL+A=mqn3bMw)h}_F>>RMv3*>qPcysM+VUT z44quYU5RCtzNnunS?{47A>_jx=hWeTopbpI5KVo>C^t*@1+~(FCQvXFu)b!peVDIt z$M$D5#8XUE1_y3Fy6aI-;lq9@YoHt_^_My%Q&eR^LaH)9BtBgZuH&m9KPj>pUs@ez z8p=1T&hvzZ+glfpp<(K#=$^rVw&d9+NLMIv)`-h?8}Gj871c^?PmKX_kHS83neD*& z;bc&EPbVy8%!Ab51Ps_a7;ZGYo%Q+w*&K3CL#5aV;Jp--O;Y}V9uxdw$)~oqEa$WK z^-Qwr((ms&TcTKa-uP>rlTDXz#=e=%O|g0+2WXDX)Hh!A$&Uz)lTU0!&)u#R?Cj!^ zOeoIv^S-4xK04btX9wTPOaP-BCJy+G3OjzM&CV6|dFb%Qeou!*3-JgBcOR=Mm0x7!sOy0R@51D z%5un?Z<cIhu*T>GRuVzF6jKQ~Sy2ozFu&Q^`!X%8kU|r)0Hz>*^d$A3& zp7IE(W6@%^qCTQWrN@u;t!+kIoLxHBAHQt{StkLihWb;g?WWUqreIicV&7e08s%nQ zm9GKN+d8~21`}5O?)x)peN^shs>fzLcm@!WK(G^UcfXjE+p9@b{RNq-N7`C*G3UnX zLO;_pc)a?~Wwlk)0XJ`kU=rmES&c(i}5>=i1@p}GJx%c?tM)+(k zKk;c>K0*LLB1Ge4%d@&-A2Xn-khrUhPU#W;LaTMue|NSSY!yFc>T!;g%*0lf)EPiZ z$wL=R8|1Sq=~vW~Ft;HJn$fe6*23bH@kgdjCy3am<2Mr*pw%nGpjWiR63`&w47&w* zm-4t1K1MI}9t8c0#CDS4hXpx$>itgJ9-0tVmfjH`u2qH4N`BS4&ImB`+F3X=-R>38qJD>gE)6OSxP)Wr?{>LQ7Dvyg)#X5Ns$W~Ucs=dVw* zKao!fwJz^jG;0O7;UOP9(YMUwRZAn?a|clcD@RY`#?twB;M&lCJUCtL7cR{J{Fr-% z32TpQue`Cl6`9L_lwOhHSXC3*cH!~kIJ-t1`Et|aeAM@jQ}Z5RSg=I6_D?o#4s5K7r}=r5oj2T#FT;w1z7DRtgu_?FgpwDT)Rq|^ zl$G|EW1ZqQVv&P%0^Q{{i*@8W>Ly)MsCI^8qx5<=z6j9R>Mj$FgOMl8Ctfp97yX*k zKAm$c=c~ide3JH}A^%xT?q*JTgMz3cDO{Y(QA2*lr5l}~^L6RA2A&DDPdPU#0a@t7 z>*k;}l;aL)4aYBRv&S&^N6X%c-U+U;v(9s=o$B30bITRBK)O{WGh^4ND9K;$?BbB{y)=zz({uxTn;bS=SkUfe_}$EL@< z&n8!|=`0lIf70v|w$J@FIuacs&oC(!o^~g7ApWKj({w;nOAQacT z7|#R!9-FK7yQ*4s=jB6evywJy2sQ&wB}*09mc0D{LLQpx)JtG zr)UHY+g}WBy8w^m*}F2Uitxg87>fCCSAD+v76XJ7LSL`KbD0ivOg`NS!e4heUi8c%MIbe*nfMc+^s81|9YYZ%${w4tkL zfGdOkj%%im)K6P<$S{~ma;V#*&Zw#v7W!{$51A^LWogQJD2*v=s4-wwU-!)P<;p&c zTdduu^f*vTK+=E7kT=j)dRN}X`%>jPq5`85l`tul(#dmF_d-m@0dvf)Uu@dgO>HMbFK0)05&l^Z^rY)KzEA<;?I0<({{h!00 zPz(oCRiaa6n(d5I>qOsx&g2_dOcm0LQ?KtohP)wj7JJJRWVjRL8hx7&wQOOa>Q>iS zoec!d55;Sg23^g@0vIcTw&e4zm5h%Y?p zoV9Q|e|4B?+x;-Lpt8pkA73UK{cMU^`|B4ae0T9$IPT0j?;Fp1r|Y<(w}Ifq8>HBd zs1CYh_9tr7xh64`g$uPt=AO;vq0jISu@~Ca?EcEp1}^Wu4?<!!` zb37$K#J$nMUl?2ET+@6Hbjb)f*nv@U%}9hAre$v}JFLt_%-@c~%3o|l#*#g)@3Ji) zmHp-xG|aduFuMxBAA(99Dl>5{8+O*>qy0spUx=Oo+x=KYRFz4ycBjVmV* zA+wyDlo zgJzP`Kl;_PHOqTUv8QKH&x*`eSBFU)|Rzs>Xw%23V=~ zJ->BWcNo&+bnSY4viQF?+UI}B%j)r~=km|sPobG+JhwDppqU*;j2NKh%z|&1Vf0Tm z{4r~jMW++c(uY|7kmt&=zh9tf5AFPl+jh`Ai44}LdLi}lF(OhJTAqO+Q;{9srbva! z=pc!^K}UMDx_>jp z<}LNfrs9&eE5yhjbsNo_Ke!6x2~@FuGaDG<^Vf$p8Ti|?|99C>%|CfufMr4KQhHeZ z*R;~X>)iG z1fh$T$X}EFDjB!Q;z0Q5MyEui@blu)rHAe%6-3i4vm96KYFF{YSJ9pOa%NT4Ebe8^ zzz7AoVb|_C1m=!*tfw(-fb;rH5sqXO9$SS0APFD^y|&N$OrkvF?1l7x1>KCza~0K0 z283k!5~phCVI-k^Pi8F#dZcklXh~0PgPN=nA>w~AL3rIgzO;I# z;gq;YFSe8(J3u{|((@52az?iMQ2ib3g>?`yDLGOnfO(vBkLkUjNPsjymf!+C8+o>N zdWaS5e^&NP0+{wFp0xrWrPj|Bi{3l|%Hq%0OwaNruhMfOjAnzO*VafE^vU+&B^rKF zj1J-UDc8L0v)P`MdJ7JS;Y;rl6;`!I=;m-MO%G)rsX2G!ND)(n2bUaV74RqAV=(eT%!hx;)p)-GuAcOz14Qp|7ryQi$-1) zFW}^r`BLFF)FdW2Y58wbnYBkdVy0T7rdsij9`Q*X*3gL8+(z4n(*rnS<`oWu=DG6B zF)y&88k)`ad_f6g?ks6J`I}{d>hYMLlw+RIe4qkUqT70+gPb}1e~90cpr!G22YdJK zdlu|_Ce7L7@+3ISUOL$Gy}APcjJk(9_DehKo1D*l%E`lA_OV>aC0zFQmY|A$&se@9 zzjCh&GxA05@A%5&ZZ(#k*4KN}95toWy?dLfs~VMc`cUqe-%7C*!3p+1TbV|5!b;1U zO>z0~;zo9BaaG$MYAYktY%e2vdf(fp-}RjuwDlL$kme_)&`G5<()BI^0ozwYA--wO0}qN5*Kp<9y#3Td?hmAQAh<(xrXcN)V$Sy9$UF-DH$+BHYM2sdl|g&cRZP zNnKUCzUKCv7AZ4oy?mHk(yd^ADb;$uuS)3`Z*trLn^tUkI^x%NR2x7d=0v(lBLRc~ zeO;C1P+=Z!fDW(R%F6?eB1*v2u@cAoZAmZ2Ajc##^Y}DU3kL8Dt!A_KL*bI9DPyt52}Pz7F`8LQ{oSh(c5OEODCq&p>F2m-3r92kzwNBDE$5mN9qb{ErJh z^)S9HA!8n<&2;&NW}7Lh$|ZcKR>cfjXN~z|8>c*-(7`FM&ky6TJ2`&nvb`(?MbEy8){@*&ccbh1 z$sX=DBH1B;y(i3 zZZ}t^QB4L@yjFp zE9QUHIM&A(s|SN+Xa5ZPy6MM&zCivs2SL);iss4>i(O`$%K|uV>hkK8h1vM496hMW zj9Kqxy^oO7nVgO@oN|fHo4#OMItG-oqD{ZNDFgh(Noe&i62GV;_=mTaOMjkp8mx1q zkK{-x`3kUa`;{b$JDJiMM#N7TIVma)_=H;xwekNpAszfZrP;tPrrT{$$HnPt%}3;SgA>~ z@D4a`*-gX8XW>S#xn30H!9!h4=hxNG@qwXv)8r?>{84|z>^I4Xrk2^(`EqDZknS&) zRY)D+!TMl@EGw1SS^G`;qK#$$K1e*&n27hiF0qvnwcKx#7X4DX>wML!AzGy~;V^eW zQq~~~!-I|OALtw7zdQeLi$MRB|EKUL2HG?KmjvXWgoIV1 tgcV<+3K;jlWx*g6Vw*%JFgMMA4*tKb!}%YPf4z^1K45C}FuVUu{x7a6R-pg@ diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 33db783..7424b15 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -5,4 +5,4 @@ bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.1 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/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index c9f00cf..d8e2cc2 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. @@ -43,12 +43,12 @@ public class CheckstyleOperationBuild extends Project { repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(1, 7, 5))); + .include(dependency("com.uwyn.rife2", "bld", version(1, 8, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 12, 7))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 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, 0))); + .include(dependency("org.assertj", "assertj-core", version(3, 25, 2))); javadocOperation() .javadocOptions() .author() diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index b1013ca..681e992 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 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. @@ -377,4 +377,4 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Tue, 30 Jan 2024 23:08:02 -0800 Subject: [PATCH 020/113] Version 0.9.1 --- examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.properties | 4 ++-- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 8b1ce0a..d219adc 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-checkstyle:0.9.1-SNAPSHOT +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.1 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 7424b15..3cb1d83 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.4 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.1 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.5 +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.2 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index d8e2cc2..74c233e 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 1, "SNAPSHOT"); + version = version(0, 9, 1); javaRelease = 17; downloadSources = true; From 4419ccb2f5389fd085d3991c60a666f18518e076 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 5 Feb 2024 10:24:41 -0800 Subject: [PATCH 021/113] Bumped JUnit and AssertJ test dependencies --- examples/lib/bld/bld-wrapper.jar | Bin 27293 -> 27293 bytes .../bld/java/com/example/ExamplesBuild.java | 2 ++ lib/bld/bld-wrapper.jar | Bin 27293 -> 27293 bytes .../extension/CheckstyleOperationBuild.java | 8 ++++---- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 48bd8ab6f75fb0b0b6942745a8a3fe0bb59a0a91..072fda73364f25975a5508b129583f515a261b38 100644 GIT binary patch delta 131 zcmbPxm2vJ>M&1B#W)=|!4h{|m>3)}qymib#YGa?MF^Jy0%($Bg%rG(gr3+>lrkrO4 wGnms1!BUgWGweYElPfcv!SwzNPcY4$83Lx0GF`#+s?0cuc$Pnyj?Hoa02R?FasU7T delta 131 zcmbPxm2vJ>M&1B#W)=|!4h{|mzKwPhdFz;g)W$whV-UT0nQ=E0m|C<07e2SL;wH) diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index a76d307..c4bddee 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -16,7 +16,9 @@ public class ExamplesBuild extends BaseProject { mainClass = "com.example.ExamplesMain"; version = version(0, 1, 0); + autoDownloadPurge = true; downloadSources = true; + repositories = List.of(MAVEN_CENTRAL); scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))); diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 48bd8ab6f75fb0b0b6942745a8a3fe0bb59a0a91..072fda73364f25975a5508b129583f515a261b38 100644 GIT binary patch delta 131 zcmbPxm2vJ>M&1B#W)=|!4h{|m>3)}qymib#YGa?MF^Jy0%($Bg%rG(gr3+>lrkrO4 wGnms1!BUgWGweYElPfcv!SwzNPcY4$83Lx0GF`#+s?0cuc$Pnyj?Hoa02R?FasU7T delta 131 zcmbPxm2vJ>M&1B#W)=|!4h{|mzKwPhdFz;g)W$whV-UT0nQ=E0m|C<07e2SL;wH) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 74c233e..65fd48f 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 1); + version = version(0, 9, 2, "SNAPSHOT"); javaRelease = 17; downloadSources = true; @@ -46,9 +46,9 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.uwyn.rife2", "bld", version(1, 8, 0))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 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() .author() From 1c653b818a120cb3ec74a0c697d6c25b09421e98 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 25 Feb 2024 18:46:45 -0800 Subject: [PATCH 022/113] Improved Visual Studio Code support --- .vscode/launch.json | 9 ++++++++- .vscode/settings.json | 8 ++++---- examples/.vscode/settings.json | 8 ++++---- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 3d4eb53..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.CheckstyleOperationTest" + "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 5633e79..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/dist/bld-1.8.0.jar", - "lib/compile/*.jar", - "lib/runtime/*.jar", - "lib/test/*.jar" + "lib/**/*.jar" ] } diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index 5633e79..74ba820 100644 --- a/examples/.vscode/settings.json +++ b/examples/.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/dist/bld-1.8.0.jar", - "lib/compile/*.jar", - "lib/runtime/*.jar", - "lib/test/*.jar" + "lib/**/*.jar" ] } From fb132d7dc9a830a435825417a35fb80245e339d7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 26 Feb 2024 02:24:19 -0800 Subject: [PATCH 023/113] 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 | 8 ++++---- .../extension/CheckstyleOperationBuild.java | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index bff4f62..0b615c1 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 93dbe49..3cbe0e9 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.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-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index bff4f62..0b615c1 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 74ba820..9e8368e 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-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 072fda73364f25975a5508b129583f515a261b38..15c39db9094e2acb2b57fd87a89fd60100611c56 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 d219adc..75eeadf 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-checkstyle:0.9.1 +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.2 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 072fda73364f25975a5508b129583f515a261b38..15c39db9094e2acb2b57fd87a89fd60100611c56 100644 GIT binary patch delta 25244 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

^*a+>tbBpHE+pL~3DbtKbopH&MqggYR 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 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 3cb1d83..bce2521 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.5 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.2 -bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.7 +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.3 +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/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 65fd48f..c7251e9 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 2, "SNAPSHOT"); + version = version(0, 9, 2); javaRelease = 17; downloadSources = true; @@ -43,7 +43,7 @@ public class CheckstyleOperationBuild extends Project { repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(1, 8, 0))); + .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2))) From 56f095e9315da77d40caa84f9c62ff2c8e11d676 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 28 Feb 2024 10:41:11 -0800 Subject: [PATCH 024/113] Bumped checkstyle 10.14.0 --- README.md | 2 +- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3cbe0e9..79d0eb2 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))); ``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 75eeadf..218245c 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-checkstyle:0.9.2 +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.3 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index c7251e9..179cd17 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 2); + version = version(0, 9, 3); javaRelease = 17; downloadSources = true; @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))) .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))); From a8bfe12cc4cbc9c5dbd553c3fd8e1aa6524a4ba3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 28 Feb 2024 10:57:12 -0800 Subject: [PATCH 025/113] Bumped examples to Checkstyle 10.14.0 --- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index c4bddee..8f4989b 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -21,7 +21,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 13, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))); testOperation().mainClass("com.example.ExamplesTest"); } From 0ac06e7a3db35ba7b9d9e07f0e960c7dff73163f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 11 Mar 2024 11:58:12 -0700 Subject: [PATCH 026/113] Bumped checkstyle version to 10.14.1 --- README.md | 2 +- examples/lib/bld/bld-wrapper.properties | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 79d0eb2..abcb452 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 1))); ``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 218245c..9bb8136 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-checkstyle:0.9.3 +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.4 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 8f4989b..139b60d 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -21,7 +21,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 1))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 179cd17..2afd101 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 3); + version = version(0, 9, 4); javaRelease = 17; downloadSources = true; @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 1))) .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))); From 5b59813b8aa220e39ac63e19ea9d5d772f4a1303 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 17 Mar 2024 10:54:27 -0700 Subject: [PATCH 027/113] Bumped checkstyle version to 10.14.2 --- README.md | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 27319 -> 27319 bytes examples/lib/bld/bld-wrapper.properties | 2 +- .../bld/java/com/example/ExamplesBuild.java | 2 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 27319 bytes .../extension/CheckstyleOperationBuild.java | 4 ++-- 6 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index abcb452..820b0d9 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 1))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 2))); ``` diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 15c39db9094e2acb2b57fd87a89fd60100611c56..82762f1dd24fca63ea5add2e5d08292f16e8a107 100644 GIT binary patch delta 131 zcmdmfm2vx3M&1B#W)=|!4h{~6i6yxcdFz;g)W$v~V-UT0vvD^QnBi!~t_Nm#r<`X5 wGi1{Y!BUe0GweYElP705gXx69e;#vM+x;)DP07ox2eE69e;#vM+x;)DP07ox2eE Date: Thu, 21 Mar 2024 00:17:58 -0700 Subject: [PATCH 028/113] Added JDK 22 to CI --- .github/workflows/bld.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 2b0ba38..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 From 818e40dcb96f4b6ce401510a03f7017dfdf7c54d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2024 22:56:59 -0700 Subject: [PATCH 029/113] Bumped workflow 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 2e3798dd723bc497bcd758f4fbbed07ddcda8316 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2024 22:58:49 -0700 Subject: [PATCH 030/113] Bumped Checkstyle version to 10.15.0 --- .vscode/settings.json | 3 ++- README.md | 2 +- config/pmd.xml | 10 +++++----- examples/lib/bld/bld-wrapper.properties | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- lib/bld/bld-wrapper.properties | 2 +- .../rife/bld/extension/CheckstyleOperationBuild.java | 6 +++--- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9e8368e..a7d4f90 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,5 +11,6 @@ "java.project.referencedLibraries": [ "${HOME}/.bld/dist/bld-1.9.0.jar", "lib/**/*.jar" - ] + ], + "java.compile.nullAnalysis.mode": "automatic" } diff --git a/README.md b/README.md index 820b0d9..c223a6e 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 2))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))); ``` diff --git a/config/pmd.xml b/config/pmd.xml index c60ff7e..3d3203c 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -19,12 +19,13 @@ + - + @@ -34,8 +35,9 @@ - + + @@ -51,8 +53,6 @@ - - @@ -106,4 +106,4 @@ - \ No newline at end of file + diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 44fb503..b3d6546 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-checkstyle:0.9.5 +bld.extensions=com.uwyn.rife2:bld-checkstyle:0.9.6 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 75c12b0..8900bce 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -21,7 +21,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 2))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index bce2521..294731d 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.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.3 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index a473c61..75dc620 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 5); + version = version(0, 9, 6); javaRelease = 17; downloadSources = true; @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 14, 2))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))) .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))); @@ -73,7 +73,7 @@ public class CheckstyleOperationBuild 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() From da0c2e17d73be3092b2bcba05b531c554fbb7d29 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:36:23 -0700 Subject: [PATCH 031/113] Bumped PMD extension to version 0.9.8 --- lib/bld/bld-wrapper.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 294731d..13d377b 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.8 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.3 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.9 +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= From 42dd8704081db6d509fddb76b765334856038daa Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:39:44 -0700 Subject: [PATCH 032/113] Fixed copyright template --- .idea/copyright/Apache_License.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.idea/copyright/Apache_License.xml b/.idea/copyright/Apache_License.xml index ade80da..4446c15 100644 --- a/.idea/copyright/Apache_License.xml +++ b/.idea/copyright/Apache_License.xml @@ -1,6 +1,6 @@ - - + \ No newline at end of file From 5d24b4060a24ea288a42246b570e86ba56c25c49 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:46:25 -0700 Subject: [PATCH 033/113] Fixed exclude options to support multiple values --- .../bld/extension/CheckstyleOperation.java | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 681e992..ff04d8b 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -32,6 +32,8 @@ import java.util.logging.Logger; */ public class CheckstyleOperation extends AbstractProcessOperation { private static final Logger LOGGER = Logger.getLogger(CheckstyleOperation.class.getName()); + protected final List exclude = new ArrayList<>(); + protected final List excludeRegex = new ArrayList<>(); /** * The command line options. */ @@ -97,7 +99,7 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { for (var p : paths) { if (isNotBlank(p)) { - options.put("-e", p); + exclude.add(p); } } return this; } /** - * Directory/file pattern to exclude from CheckStyle. Multiple excludes are allowed. + * Directory/file pattern to exclude from CheckStyle. Multiple exclude are allowed. * - * @param pattern the pattern + * @param regex the pattern to exclude * @return the checkstyle operation + * @see #excludeRegex(Collection) */ - public CheckstyleOperation excludedPathPattern(String pattern) { - if (isNotBlank(pattern)) { - options.put("-x", pattern); + public CheckstyleOperation excludeRegex(String... regex) { + for (var r : regex) { + if (isNotBlank(r)) { + excludeRegex.add(r); } + return this; + /** + * Directory/file pattern to exclude from CheckStyle. Multiple exclude are allowed. + * + * @param regex the patterns to exclude + * @return the checkstyle operation + * @see #excludeRegex(String...) + */ + public CheckstyleOperation excludeRegex(Collection regex) { + for (var r : regex) { + if (isNotBlank(r)) { + excludeRegex.add(r); + } + } + return this; } @@ -162,6 +181,20 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Mon, 29 Apr 2024 03:47:10 -0700 Subject: [PATCH 034/113] Added visual diff argument --- checkcliargs.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/checkcliargs.sh b/checkcliargs.sh index 1e271db..867c768 100755 --- a/checkcliargs.sh +++ b/checkcliargs.sh @@ -7,6 +7,10 @@ TMPOLD=/tmp/checkcliargs-old java -cp "lib/test/*" $MAIN --help >$TMPNEW java -cp "examples/lib/test/*" $MAIN --help >$TMPOLD -diff $TMPOLD $TMPNEW +if [ "$1" == "-v" ]; then + code --wait --diff $TMPOLD $TMPNEW +else + diff $TMPOLD $TMPNEW +fi rm -rf $TMPNEW $TMPOLD From 3f0c0ee51bd5e58a5281fe97ee97fd5459d2883a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:48:37 -0700 Subject: [PATCH 035/113] Added output format options enum --- .../bld/extension/CheckstyleFormatOption.java | 32 +++++++++++++++++++ .../bld/extension/CheckstyleOperation.java | 15 +++++---- 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 src/main/java/rife/bld/extension/CheckstyleFormatOption.java diff --git a/src/main/java/rife/bld/extension/CheckstyleFormatOption.java b/src/main/java/rife/bld/extension/CheckstyleFormatOption.java new file mode 100644 index 0000000..09ad8ac --- /dev/null +++ b/src/main/java/rife/bld/extension/CheckstyleFormatOption.java @@ -0,0 +1,32 @@ +/* + * Copyright 2023-2004 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package rife.bld.extension; + +/** + * The Checkstyle output format for XML, sarif and default (plaib) logger. + */ +public enum CheckstyleFormatOption { + XML("xml"), + SARIF("sarif"), + PLAIN("plain"); + + public final String label; + + CheckstyleFormatOption(String label) { + this.label = label; + } +} \ No newline at end of file diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index ff04d8b..4434ec1 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -225,16 +225,17 @@ public class CheckstyleOperation extends AbstractProcessOperation + * Defaults to {@link CheckstyleFormatOption#PLAIN}. * - * @param format the format + * @param format the output format * @return the checkstyle operation */ - public CheckstyleOperation format(String format) { - if (isNotBlank(format)) { - options.put("-f", format); - } + public CheckstyleOperation format(CheckstyleFormatOption format) { + options.put("-f", format.label.toLowerCase()); return this; } From a7674039df6514c20b2c3527e5239010077da52a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:51:23 -0700 Subject: [PATCH 036/113] Updated methods name/description to better match Checkstyle's help --- .../bld/extension/CheckstyleOperation.java | 77 ++++++++++--------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 4434ec1..7e07690 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -38,7 +38,6 @@ public class CheckstyleOperation extends AbstractProcessOperation options = new ConcurrentHashMap<>(); - /** * The source files(s) or folder(s). */ @@ -133,8 +132,12 @@ public class CheckstyleOperation extends AbstractProcessOperationonly Javadoc comment content - * without including '/**' and '*/' at the beginning and at the end respectively. The option cannot - * be used other options and requires exactly one file to run on to be specified. + * This option is used to print the Parse Tree of the Javadoc comment. The file has to contain only Javadoc comment + * content excluding '/**' and '*/' at the beginning and at the end respectively. It can only be used on a + * single file and cannot be combined with other options. * * @param isTree {@code true} or {@code false} * @return the checkstyle operation @@ -282,31 +287,14 @@ public class CheckstyleOperation extends AbstractProcessOperation - * ATTENTION: generated result will have few queries, joined by pipe(|). Together they will match all AST nodes - * on specified line and column. You need to choose only one and recheck that it works. Usage of all of them is also - * ok, but might result in undesirable matching and suppress other issues. + * Defaults to stdout. * - * @param lineColumn the line column + * @param file the output file * @return the checkstyle operation */ - public CheckstyleOperation lineColumn(String lineColumn) { - if (isNotBlank(lineColumn)) { - options.put("-s", lineColumn); - } - return this; - } - - /** - * Sets the output file. Defaults to stdout. - * - * @param file the file - * @return the checkstyle operation - */ - public CheckstyleOperation output(String file) { + public CheckstyleOperation outputPath(String file) { if (isNotBlank(file)) { options.put("-o", file); } @@ -351,7 +339,28 @@ public class CheckstyleOperation extends AbstractProcessOperation + * Note that the generated result will have few queries, joined by pipe({@code |}). Together they will match all + * AST nodes on specified line and column. You need to choose only one and recheck that it works. Usage of all of + * them is also ok, but might result in undesirable matching and suppress other issues. + * + * @param lineColumnNumber the line column number + * @return the checkstyle operation + */ + public CheckstyleOperation suppressionLineColumnNumber(String lineColumnNumber) { + if (isNotBlank(lineColumnNumber)) { + options.put("-s", lineColumnNumber); + } + return this; + } + + /** + * Sets the length of the tab character. Used only with the + * {@link #suppressionLineColumnNumber(String) suppressionLineColumnNumber} option. + *

* Default value is {@code 8}. * * @param length the length @@ -363,8 +372,8 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Mon, 29 Apr 2024 03:54:10 -0700 Subject: [PATCH 037/113] Added/Updated tests --- .../extension/CheckstyleOperationTest.java | 43 +++++++++++-------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 6bd2233..9273bcd 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -58,18 +58,23 @@ class CheckstyleOperationTest { @Test void exclude() { - var op = new CheckstyleOperation().fromProject(new Project()).exclude(FOO); - assertThat(op.options.get("-e")).isEqualTo(FOO); - op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(FOO)); - assertThat(op.options.get("-e")).as("as list").isEqualTo(FOO); + var op = new CheckstyleOperation().fromProject(new Project()).exclude(FOO, BAR); + assertThat(op.executeConstructProcessCommandList()).contains("-e " + FOO, "-e " + BAR); + + op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(FOO, BAR)); + assertThat(op.executeConstructProcessCommandList()).as("as list").contains("-e " + FOO, "-e " + BAR); } @Test - void excludedPathPattern() { - var op = new CheckstyleOperation().fromProject(new Project()).excludedPathPattern(FOO); - assertThat(op.options.get("-x")).isEqualTo(FOO); + void excludeRegex() { + var op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(FOO, BAR); + assertThat(op.executeConstructProcessCommandList()).contains("-x " + FOO, "-x " + BAR); + + op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(List.of(FOO, BAR)); + assertThat(op.executeConstructProcessCommandList()).as("as list").contains("-x " + FOO, "-x " + BAR); } + @Test void execute() throws IOException, ExitStatusException, InterruptedException { var tmpFile = File.createTempFile("checkstyle-google", ".txt"); @@ -78,7 +83,7 @@ class CheckstyleOperationTest { .fromProject(new WebProject()) .sourceDir("src/main/java", "src/test/java") .configurationFile("src/test/resources/google_checks.xml") - .output(tmpFile.getAbsolutePath()); + .outputPath(tmpFile.getAbsolutePath()); op.execute(); assertThat(tmpFile).exists(); } @@ -119,15 +124,15 @@ class CheckstyleOperationTest { .fromProject(new WebProject()) .sourceDir(List.of("src/main/java", "src/test/java")) .configurationFile("src/test/resources/sun_checks.xml") - .output(tmpFile.getAbsolutePath()); + .outputPath(tmpFile.getAbsolutePath()); assertThatCode(op::execute).isInstanceOf(ExitStatusException.class); assertThat(tmpFile).exists(); } @Test void format() { - var op = new CheckstyleOperation().fromProject(new Project()).format(FOO); - assertThat(op.options.get("-f")).isEqualTo(FOO); + var op = new CheckstyleOperation().fromProject(new Project()).format(CheckstyleFormatOption.XML); + assertThat(op.options.get("-f")).isEqualTo("xml"); } @Test @@ -147,14 +152,8 @@ class CheckstyleOperationTest { } @Test - void lineColumn() { - var op = new CheckstyleOperation().fromProject(new Project()).lineColumn(FOO); - assertThat(op.options.get("-s")).isEqualTo(FOO); - } - - @Test - void output() { - var op = new CheckstyleOperation().fromProject(new Project()).output(FOO); + void outputPath() { + var op = new CheckstyleOperation().fromProject(new Project()).outputPath(FOO); assertThat(op.options.get("-o")).isEqualTo(FOO); } @@ -172,6 +171,12 @@ class CheckstyleOperationTest { assertThat(op.sourceDirs).as("foo, bar").hasSize(2).contains(FOO).contains(BAR); } + @Test + void suppressionLineColumnNumber() { + var op = new CheckstyleOperation().fromProject(new Project()).suppressionLineColumnNumber(FOO + ':' + BAR); + assertThat(op.options.get("-s")).isEqualTo(FOO + ':' + BAR); + } + @Test void tabWith() { var op = new CheckstyleOperation().fromProject(new Project()).tabWith(9); From a19e4e8ff3ce34cb21b146e1d932d9d157e21c9c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:55:59 -0700 Subject: [PATCH 038/113] Bumped Checkstyle version to 10.16.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 4 +++- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c223a6e..49b1a8b 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 8900bce..52a2409 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -16,12 +16,14 @@ public class ExamplesBuild extends BaseProject { mainClass = "com.example.ExamplesMain"; version = version(0, 1, 0); + javaRelease = 17; + autoDownloadPurge = true; downloadSources = true; repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 75dc620..8f45d3e 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 15, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))) .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))); From b7fb8d9728aef41150a805196cb161b54598b8ac Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 03:56:49 -0700 Subject: [PATCH 039/113] Version 1.0.0 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index b3d6546..eede168 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-checkstyle:0.9.6 +bld.extensions=com.uwyn.rife2:bld-checkstyle:1.0.0 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 8f45d3e..9b7c7d6 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(0, 9, 6); + version = version(1, 0, 0); javaRelease = 17; downloadSources = true; From d7d9cdf98cbb0b55e232bfb3f863f95725fbb43f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Apr 2024 04:05:22 -0700 Subject: [PATCH 040/113] Avoid duplicate literals (PMD) --- .../rife/bld/extension/CheckstyleOperationTest.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 9273bcd..039744a 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -59,19 +59,21 @@ class CheckstyleOperationTest { @Test void exclude() { var op = new CheckstyleOperation().fromProject(new Project()).exclude(FOO, BAR); - assertThat(op.executeConstructProcessCommandList()).contains("-e " + FOO, "-e " + BAR); + var e = "-e "; + assertThat(op.executeConstructProcessCommandList()).contains(e + FOO, e + BAR); op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(FOO, BAR)); - assertThat(op.executeConstructProcessCommandList()).as("as list").contains("-e " + FOO, "-e " + BAR); + assertThat(op.executeConstructProcessCommandList()).as("as list").contains(e + FOO, e + BAR); } @Test void excludeRegex() { var op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(FOO, BAR); - assertThat(op.executeConstructProcessCommandList()).contains("-x " + FOO, "-x " + BAR); + var x = "-x "; + assertThat(op.executeConstructProcessCommandList()).contains(x + FOO, x + BAR); op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(List.of(FOO, BAR)); - assertThat(op.executeConstructProcessCommandList()).as("as list").contains("-x " + FOO, "-x " + BAR); + assertThat(op.executeConstructProcessCommandList()).as("as list").contains(x + FOO, x + BAR); } From e5738ec79d0601435b997daffa0f5fbb7ba875e5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 9 May 2024 21:05:40 -0700 Subject: [PATCH 041/113] Bumped bld to version 1.9.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 27319 -> 27319 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 27319 bytes lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 4 ++-- .../extension/CheckstyleOperationTest.java | 1 - 11 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 0b615c1..a2969be 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 a7d4f90..87dd394 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.0.jar", + "${HOME}/.bld/dist/bld-1.9.1.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index 49b1a8b..f8f17e3 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.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/1.9.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/releases/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 0b615c1..a2969be 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 9e8368e..d136e4d 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-1.9.0.jar", + "${HOME}/.bld/dist/bld-1.9.1.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 82762f1dd24fca63ea5add2e5d08292f16e8a107..f53e8c738ecd024fd7e37d6700c9974fe73a63c9 100644 GIT binary patch delta 166 zcmdmfm2vx3M&1B#W)=|!4h{~6#odc1^42i}sf~R~#vpq0X5(%qFvHP|T@TFgPC3sA zX2_-)f~6)0W+*DMFa&tBbLeNj&1Pp{U|U$&)jjLE0wY%VOdrXNgNSGOa{$#vfXtd)lVuG6x7#?< delta 166 zcmdmfm2vx3M&1B#W)=|!4h{~6i6yxcdFz;g)W$v~V-UT0vvD^QnBi!~t_Nm#r<`X5 zGi1{Y!BUe0GZYmW7y`W6Id(?Al3{0HU| Date: Sun, 26 May 2024 19:48:17 -0700 Subject: [PATCH 042/113] Bumped Checkstyle to version 10.17.0 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 022322b..f7306e9 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,10 +45,10 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(1, 9, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))) .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))); + .include(dependency("org.assertj", "assertj-core", version(3, 26, 0))); javadocOperation() .javadocOptions() .author() From cdd9fd345acb6b45ba65a6a0a758d3bd2531b432 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 19:53:07 -0700 Subject: [PATCH 043/113] Added test to check all parameters --- .../extension/CheckstyleOperationTest.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 17bda8e..f844153 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -42,6 +42,59 @@ class CheckstyleOperationTest { assertThat(op.options.get("-b")).isEqualTo(FOO); } + @Test + void checkAllParameters() { + var params = List.of( + "-b", + "-c", + "-d", + "-e", + "-E", + "-f", + "-g", + "-j", + "-J", + "-o", + "-p", + "-s", + "-t", + "-T", + "-w", + "-x" + ); + + var args = new CheckstyleOperation() + .fromProject(new Project()) + .branchMatchingXpath("xpath") + .configurationFile("config") + .debug(true) + .exclude("path") + .excludeRegex("regex") + .executeIgnoredModules(true) + .format(CheckstyleFormatOption.XML) + .generateXpathSuppression(true) + .javadocTree(true) + .outputPath("optionPath") + .propertiesFile("properties") + .suppressionLineColumnNumber("12") + .tabWith(1) + .tree(true) + .treeWithComments(true) + .treeWithJavadoc(true) + .executeConstructProcessCommandList(); + + for (var p : params) { + var found = false; + for (var a : args) { + if (a.startsWith(p)) { + found = true; + break; + } + } + assertThat(found).as(p + " not found.").isTrue(); + } + } + @Test void configurationFile() { var op = new CheckstyleOperation().fromProject(new Project()).configurationFile(FOO); From 1141c3bbb80d1525eb02da2d0e3ef79c0f650b4e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 20:10:50 -0700 Subject: [PATCH 044/113] Version 1.0.1 --- README.md | 2 +- examples/lib/bld/bld-wrapper.properties | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f8f17e3..4b7e28d 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); ``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 86b920c..d36e73a 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-checkstyle:1.0.0 +bld.extensions=com.uwyn.rife2:bld-checkstyle:1.0.1 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 52a2409..f271cb5 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 16, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index f7306e9..b2f7fd9 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -35,7 +35,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 1, "SNAPSHOT"); + version = version(1, 0, 1); javaRelease = 17; downloadSources = true; From 4de2b0b3f1892f9431e6b158e8b2844bc0576424 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 May 2024 16:09:52 -0700 Subject: [PATCH 045/113] Added script to list parameters --- cliargs.sh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 cliargs.sh diff --git a/cliargs.sh b/cliargs.sh new file mode 100755 index 0000000..cb32bde --- /dev/null +++ b/cliargs.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +java -cp "lib/test/*" com.puppycrawl.tools.checkstyle.Main --help |\ +grep "^ -.*" |\ +sed -e "s/ -/-/" -e "s/[,=].*//" -e "s/-/\"-/" -e "s/$/\",/" |\ +sed -e '$s/,//' -e '/-V/d' -e '/-h/d' |\ +sort From 7aa0319d4d9a8667a39075e2247db8c802dc23ca Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 May 2024 20:38:53 -0700 Subject: [PATCH 046/113] Read parameters from resource file --- cliargs.sh | 5 ++-- .../extension/CheckstyleOperationTest.java | 25 +++++-------------- src/test/resources/checkstyle-args.txt | 16 ++++++++++++ 3 files changed, 24 insertions(+), 22 deletions(-) create mode 100644 src/test/resources/checkstyle-args.txt diff --git a/cliargs.sh b/cliargs.sh index cb32bde..3c9bc28 100755 --- a/cliargs.sh +++ b/cliargs.sh @@ -2,6 +2,5 @@ java -cp "lib/test/*" com.puppycrawl.tools.checkstyle.Main --help |\ grep "^ -.*" |\ -sed -e "s/ -/-/" -e "s/[,=].*//" -e "s/-/\"-/" -e "s/$/\",/" |\ -sed -e '$s/,//' -e '/-V/d' -e '/-h/d' |\ -sort +sed -e "s/ -/-/" -e "s/[,=].*//" -e '/-V/d' -e '/-h/d' |\ +sort > "src/test/resources/checkstyle-args.txt" diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index f844153..f41077a 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -24,6 +24,8 @@ import rife.bld.operations.exceptions.ExitStatusException; import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; @@ -43,25 +45,10 @@ class CheckstyleOperationTest { } @Test - void checkAllParameters() { - var params = List.of( - "-b", - "-c", - "-d", - "-e", - "-E", - "-f", - "-g", - "-j", - "-J", - "-o", - "-p", - "-s", - "-t", - "-T", - "-w", - "-x" - ); + void checkAllParameters() throws IOException { + var params = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt")); + + assertThat(params).isNotEmpty(); var args = new CheckstyleOperation() .fromProject(new Project()) diff --git a/src/test/resources/checkstyle-args.txt b/src/test/resources/checkstyle-args.txt new file mode 100644 index 0000000..fa76eaf --- /dev/null +++ b/src/test/resources/checkstyle-args.txt @@ -0,0 +1,16 @@ +-b +-c +-d +-e +-E +-f +-g +-j +-J +-o +-p +-s +-t +-T +-w +-x From aa6d6a70b026733221f9efbd836b5d2ba2b805e8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 28 May 2024 14:01:45 -0700 Subject: [PATCH 047/113] Execute cliargs script before running tests --- checkcliargs.sh | 16 ---------------- lib/bld/bld-wrapper.properties | 1 + scripts/checkcliargs.sh | 16 ++++++++++++++++ cliargs.sh => scripts/cliargs.sh | 0 .../bld/extension/CheckstyleOperationBuild.java | 9 +++++++++ .../bld/extension/CheckstyleOperationTest.java | 10 +++++----- 6 files changed, 31 insertions(+), 21 deletions(-) delete mode 100755 checkcliargs.sh create mode 100755 scripts/checkcliargs.sh rename cliargs.sh => scripts/cliargs.sh (100%) diff --git a/checkcliargs.sh b/checkcliargs.sh deleted file mode 100755 index 867c768..0000000 --- a/checkcliargs.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -MAIN="com.puppycrawl.tools.checkstyle.Main" -TMPNEW=/tmp/checkcliargs-new -TMPOLD=/tmp/checkcliargs-old - -java -cp "lib/test/*" $MAIN --help >$TMPNEW -java -cp "examples/lib/test/*" $MAIN --help >$TMPOLD - -if [ "$1" == "-v" ]; then - code --wait --diff $TMPOLD $TMPNEW -else - diff $TMPOLD $TMPNEW -fi - -rm -rf $TMPNEW $TMPOLD diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index cab667f..d8197e2 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -2,6 +2,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.9 bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.0 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/scripts/checkcliargs.sh b/scripts/checkcliargs.sh new file mode 100755 index 0000000..1ed3db1 --- /dev/null +++ b/scripts/checkcliargs.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +main="com.puppycrawl.tools.checkstyle.Main" +new=/tmp/checkcliargs-new +old=/tmp/checkcliargs-old + +java -cp "lib/test/*" $main --help >$new +java -cp "examples/lib/test/*" $main --help >$old + +if [ "$1" == "-v" ]; then + code --wait --diff $old $new +else + diff $old $new +fi + +rm -rf $new $old diff --git a/cliargs.sh b/scripts/cliargs.sh similarity index 100% rename from cliargs.sh rename to scripts/cliargs.sh diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index b2f7fd9..2ef6a10 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -104,4 +104,13 @@ public class CheckstyleOperationBuild extends Project { .ruleSets("config/pmd.xml") .execute(); } + + @Override + public void test() throws Exception { + new ExecOperation() + .fromProject(this) + .command("scripts/cliargs.sh") + .execute(); + super.test(); + } } diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index f41077a..db4ec48 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -46,11 +46,11 @@ class CheckstyleOperationTest { @Test void checkAllParameters() throws IOException { - var params = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt")); + var args = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt")); - assertThat(params).isNotEmpty(); + assertThat(args).isNotEmpty(); - var args = new CheckstyleOperation() + var params = new CheckstyleOperation() .fromProject(new Project()) .branchMatchingXpath("xpath") .configurationFile("config") @@ -70,9 +70,9 @@ class CheckstyleOperationTest { .treeWithJavadoc(true) .executeConstructProcessCommandList(); - for (var p : params) { + for (var p : args) { var found = false; - for (var a : args) { + for (var a : params) { if (a.startsWith(p)) { found = true; break; From 00f40e887f5cb41ffc5eaa94ae2dbee70f71fb45 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 14 Jun 2024 23:50:48 -0700 Subject: [PATCH 048/113] Fixed bld URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b7e28d..d6ba605 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# [Checkstyle](https://checkstyle.sourceforge.io/) Extension for [bld](https://rife2.com/bldb) +# [Checkstyle](https://checkstyle.sourceforge.io/) Extension for [bld](https://rife2.com/bld) [![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) From 826a967815238c56034f144d414d36028ca1879f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 22 Jul 2024 09:41:55 -0700 Subject: [PATCH 049/113] Switched from Lists to Collections --- .github/workflows/bld.yml | 7 +- .idea/libraries/bld.xml | 4 +- .vscode/settings.json | 2 +- examples/.idea/libraries/bld.xml | 4 +- examples/.idea/misc.xml | 4 + examples/.vscode/settings.json | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 27319 -> 29769 bytes examples/lib/bld/bld-wrapper.properties | 6 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 29519 bytes lib/bld/bld-wrapper.properties | 10 +- .../extension/CheckstyleOperationBuild.java | 19 +- .../bld/extension/CheckstyleOperation.java | 258 +++++++++++------- .../OutputFormat.java} | 8 +- .../extension/CheckstyleOperationTest.java | 119 +++++--- 14 files changed, 280 insertions(+), 163 deletions(-) rename src/main/java/rife/bld/extension/{CheckstyleFormatOption.java => checkstyle/OutputFormat.java} (82%) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index c0ba763..bf65051 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -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 a2969be..2fb5ff0 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 87dd394..fc389ce 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" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index a2969be..2fb5ff0 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/.idea/misc.xml b/examples/.idea/misc.xml index 97c1009..a01a1f3 100644 --- a/examples/.idea/misc.xml +++ b/examples/.idea/misc.xml @@ -1,4 +1,8 @@ + + + +

@@ -296,11 +327,23 @@ public class CheckstyleOperation extends AbstractProcessOperation + * Defaults to stdout. + * + * @param file the output file + * @return the checkstyle operation + */ + public CheckstyleOperation outputPath(File file) { + return outputPath(file.getAbsolutePath()); + } + /** * Sets the property files to load. * @@ -309,11 +352,21 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { - sourceDirs.addAll(dirs.stream().filter(this::isNotBlank).toList()); + public CheckstyleOperation sourceDir(Collection dirs) { + sourceDir_.addAll(dirs); return this; } + /** + * Returns the file(s) or folders(s) containing the sources files to check + * + * @return the files or directories + */ + public Set sourceDir() { + return sourceDir_; + } + /** * Prints xpath suppressions at the file's line and column position. Argument is the line and column number * (separated by a {@code :} ) in the file that the suppression should be generated for. The option cannot be @@ -352,7 +426,7 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Mon, 29 Jul 2024 00:18:44 -0700 Subject: [PATCH 050/113] Bumped 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 29769 -> 29577 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 29519 -> 29577 bytes lib/bld/bld-wrapper.properties | 7 +++---- .../extension/CheckstyleOperationBuild.java | 10 +--------- 10 files changed, 12 insertions(+), 21 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 2fb5ff0..4dd96bf 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 fc389ce..5422c5f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.0.0-SNAPSHOT.jar", + "${HOME}/.bld/dist/bld-2.0.1.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index d6ba605..0bb407c 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-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 2fb5ff0..4dd96bf 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 33a9922..5b2667b 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.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 830aee81f0ecc97f55bd245ff8f2d341091d5e59..45791299375b2834084b10a1b07a8d2afadb804c 100644 GIT binary patch delta 27511 zcmV)OK(@ch=mCl60S!<~0|XQR2nYxOoRIvH4SoZhko=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

    h->Gv;XW~f3V%3!oBwJdV5f1F09Ap7G1$=d~~;OgTFcyZ1+W12BPcn1%3@i zp`Wgzt4+GbqHA@xL11ax^mO^!{Z(CEyzJ{Ox`CHHnwQ<&xV)*lrrEvxT=cn|JKk*3 zce&&6rrJd{v)o;{b-P8kaBIHZntuim@7!$`-A;Ev?`#SOqW<^>O-aLE{khwuy9AZG zcH6(X-QU9k?ArL6a5xmMi8q*ZcU;W?PHkhNA&YjZHdldV+R=MVx&Rv~W-sISlLcXX&RbdYU)oDBjzpO^r)ynp#@hR@5{#*ETjJH(1&m z+-K1q?mfZY!om7`X`i6KyI0d+{m<+4bw&JHX}dUfWL`Afo7y8zl6kr|X_xFWFR#(w z?qo%KN{!p>&8x3kQPa>?U4PTi(o|JfVlSwvrmm){xu#k7j%YmKmB0$vLv-~T zH+8G?bzYX2o`KM~DxjM7Tl5?~4_yHVs%mW{)YTjHGZ#YR#`Rj9b-DWwEczk+2%0P! zvbE}{!a;TAix$1aeKXlN^Req>(obOTQoBR1gad0atDdAPUdp1E>37_rxPR%SkCX3#q_f7hXMSrEg zLCp*{4841L;XRyKIMAIL)WLCA@tXc&(FeSstoo{2aD81>b2G;h|Fq~|^dZbH=v3Y1 zi$vI$af8s6*r<=`-zNRXqW`jy9@eiNnhE21btZi}fM{?=8h?AESOV0J-`8!@=kdil z0^n}-(wBhmR-gcpMW4}Etc}~V=o31KFF4{fGikKl5Gw1^^M>s(326x>4CrlNM~6nf zC8WKjV+-pJiFV}xqQK&aj6;MZx>p_amOpF?1Zxvqrl~dpNJew4Clbn)7jM5S>hD27*Y?@5#FMkhNmb+4gwk0 z5=)#a>d+CcSlEZmI9sd`t(I8D05YI?K!1K#W@mfF=~#4%bHG$;v&5Og2i*rZ zI2?_zPdrFoViiMfw?qd+W}Udg*VXIy3IsSu9m-eniuEj0+NS}1&$4K^*w9a7r+BT0 zOQ48u5i~`}5Ha#FYo zl8mvJTjC0FCFaCpYJ&+i$xcR6ceonBdVg0Ba5A7{HTPwStFShx&g(33y|{t5qBqKX zty=|+b1Ua_0zKuc0zJA(Ta25~AwJ^*o%Zl|xMt20H;V7Ff!mf0Jo@3rOS)0qVu@SD zZCE46v0%Q!)eAW1@QJv?5_bwjLLMDJLF&*_TWhQTyDf1KEBh?1?48xzDDtwzPJfYS ziu>KcP;y4EKu}|qyG;{z_F+pr!Zgj|eT*Z&Q#@vg$Hf!q&v+q#T(Bi-Z^ew&3o^x% z;we)+ZHbuJEof50ziVI5%p3(r`GOt3a7VRW#yHRNmPKtRf;s92bapyv&A5k2wigx$ ziyge@j1}49d*T^WJZp*ltfq#hW`Aw8BCYA}iEiP3&s*aA;s?+$VSjgMqn}kqZ5k~F z?_K=J5-+f`pTlmHFBl32+I?MYcuesUa8HhD>J3H%-Tq{pDPE*|8NyH5r-vSS1vr$J zuI&wUbubP;v&3tRgIdRFyiV~8OT5mSJp*AKv`r?B6K`7Lmz=!xEQk+!+kXbcs7xnKq@Rjp83I@h7%HS*#tC z2Kzlrysy)}oP8dU&*C0`wZz|;MtM&9Y$0H357&Y44@-O?{ttkiBrNPISR`#4%$;U4 z#lKQKmIP^;5=#)YijOVvZ+{M2M=V)UpA1ee@s)OpU4b5lDqe9A!}U&jrNA~oJtKOP%8~}t0g;|g$V>Q;DiUt@ zN(iRGQ+Opj!OXCubR%B4tfb(BcqKeRSytwiIlP(84OL5<7dN(mFMnjNCG*%)z@m3( z1Lu|4jCqIgzuH6H<-MD>1j}_&Li@1EAQs-4kfSX*Mw`w+q&ev8iL4Jry>hIeRdL9X zV`i3xA`t}3L0@!Bk6(jlw+OC9x!WNuk2vEaM=&7>IJ!wLm;)TIoQV~s)|WclZ?_){jk;#)8dr*;Qyy>8wPFKU zT%KUb6Zv#t_`=%emZsVT%UhtNo7)!FHf7RKSz*aaITt+S4}Zf=7@3f$rNA$4RB|Z; zR$HDVPc~(hB^R(P=cVZgDe2)-m)?wpmaJjkAD-L{XREyO6hTFceBkhof@r89><2ac z8~p`NkW}C-q#)Say%td(<5_FTB^u9AFSraY!kk81T@`ePI{Xy{!B7GGw?HS9Rit23 zpsTB3t-k;Q+kd_Ra|A=-g1GbJ@4!k#j#oAcBClKqnrn_P?e<4~9lofKQ`?Mxvn5-Y z&$8nqmxsGx+t|DdxzeKZk;+&*7+9(*7@0DW^0#<6U^)%&Kz7O(gT1B-72G&?3Ej}&hvFR4nuDLl>F)ijMrvM zZjt9eTz`9eKvKWs_^jZjb1iuudmb4b8Zs~W0!v;fzX3hs54MAa7W+5Xg*N$h6oXL% zQ8gvVdvq$g4WZ`V_Vra=>!8M>>$_bk;!JsoB`?+I4|ej3r~I}hFXN+~5pkAEv2((s zPvYbimb_A41(|N=9DwFoKK>f~$kLTeV5=jqv47;X@;WR(8d}~|>q;uxJXs5UbA!Cm zls8%OX8GMz=eyP!RySZ+9XxH1+>Y>3-jX~(O0fBgT=Lpl;&w~k!79R|l|h!gOYSh` z-IlyZ-W&IK90v@}c~^uzF#Q2b67+9!N`mGO;^Ec}guszGCnA_Vobe#UXL6?{@0SnQ z{(ndU?xezWAefKhLrwWm-2KxGP!|fW^IUMy{x3^DCLcHD6PDa1pN!|T1_K4!!hZ@z z;K?rvhoB%!3Xc%|B}-;3@ye$m;T<9N$v%T44%+sy`t_P}Z+vD)1R6roMWNncM>1n1 zzXzEKhN14FFfu(;teGxFDSu(f*X0{_n5R#@!oBS}^Kfj+QLvM~bJc|Xojg~$Ykv?l z_%9(Jwwg&SHNw-pZOLEBU)%ZjdVh3%2wuaEt8W1Mgw!u<#NM^paEl7E)(#o1)Al|V;B=8`&k`XSE6Qvw_L7x`CH{>_qqm;Z>T zY}23)^%n?k3~d1DIcb>f$R;x-Tz~)Kfm751vhCHi_`;xfQvJ#g@3fA|`)^DBha-$3$q1vmE5I$ESn^YD8J29(ej8s7@Zcf%R)YM}k_Y5hVA4Ra zy{osw-!EdCG9Y3a7(sa@f&x|A-s4pW35-&m+!jh%%1|CKF2rm}@*In;V1K#`3(B;V zS7ox(+QBjQA#N_LGF5iU-T`A6{z%*#R#|EY$IkEa*Dy=vsNrDjKybYu)~>eEby|{U zbR`eUv(yO1ra))cI8sV806j;mF{aA5)L0HphY#ohowdmqfQHiqIm%MwIZ-h@Z0i=c z017qHQUx4B4cF0?J3kC>LVr!R)D*rFG0Zl~uC`1y%~D5egWbKMBM{cW3N1B*Y0oKa zEu}pO-j?{n5e^`E-&KjFN_o05h|(}wJR25CnYG+f$0&I5qY&M!h0od&atDK&Jys9k zhk<*$RUK=oaCz@)Gr7BdVv*(+g^M8gGJVEG@3*zw0E4N>joAnwXv*js!y% z)T!k0D#)QM<=l>1W>HWzApk$3!@&RHz|hTvLbX_GIa6$yqmbg~=*$EwEp?h|wa@%o zd=Z3CPbb~Dm7H{R_R-B9?kzboCP<~$k=6~)z*FrH$CgAkfPbM^t2L%N-BM>L_}+y_ zIuLproY~c1(Utz|W1t+gxlF#`5dby&);IT5r=t~_F@bxyi@AX&0iC!L)| zL)BT9+Q7l~5Dtl({XIT?tddLFs@tL~#0Ic497t&79!s6Az^a)Y$z!vk{^8W%NhRKWggHo$w%-RmvARA7Hf0)PHwOb-AUkP*C&@ zcMl&#BvRqEoO0c&Zn4y@`Xbnpsufjji)!m?Tvxo*?Y!G}ByW_YN$#d@;*sxeE)7wa zc-0Q)M1T4$m+Hz=_o#bKb)ThnGJ!^>^Oqo9nSRdyGcab}2Q2lVzVX+%)J~}-)5hvy zOFhC|WWq=3?TSWnA)}8mqdd;%5Qk<7ui9lRSNF9guX+k`?DB{|Tw1lxAB^VGFhtwp z61Ce>eQFQ9!3dwlo!#q?xb9@9J3vl%{LjnTXMd^hsb@f(#Wkn3Ev!AIwxzkPu5o2e z6W_e8<`kueIp#S_J+HnGjZhEswD?qMd2>w@Co8?`6%K|$d$0N#qWHNwVOAaL*)o4k zq<@I-gW)x|JXxDXm#Cjx>KE#DY(u-PuLYH*p-AnFL7B*_-h_Uf8_!QW3C#IrMJLVG zQS|)6)o08-y?Dmla=YkNZ$VQ{UVX;o(~BpcyQaCAvG^5Z@#{k-h0{*`Taci1VPRSE zNi*gZmKDwLs^3Fw&L}I2r+?RQ{&y;q?0;QL{egLL9N(C9RA}NBW&Gxy`ja!9r|bx| zCx^dhsrLsAXZc*%Se?A4xmEquQh(!qIo!`Jx?Y7Su%vuVnVq)hZL%}?r65K5q|=KF zPntW)!FqR%A;3J1ix$<@Hq^Mr4PDt(wR9=uVQEv% zqT18EhO{%e@%vDKoa~{`vTAE!gnx&mTxUe5=EjC9&Xpum#LZsA6g2n$%fSsFFf^`g zsB5fRsB_gV`oi1T0d6}8-+yz}dxMZ+ zAi!iNXDx^6mSbytAl&lpigC5*rjGxW`(=L7Y=aQsWhVN0}(!#A1q_d5WDpu?x?~v z_nBs_0FJ)!y54Ru9G^F*>3@T%Q-0Rq1X&|GU;qO_?U1`}hMA5G!-giZMCd)Tw`X10 z*Ws`2@cZEY)ahS8Y|-{YGrJ&x<&@X`PZ!54^|1`oVF)6{_6_yE9)~XR=~hJe#G%=_ z94^S~Ovm^q?}WFlg&xp3ba;Pf@zuWm*GK!`>;t53=SCxf@P3^WcYhuEibvvCRRG-) zaIW>+V!eg^oOntF5PK5d#7Gy!#CSCgeA?T_$Gse>v#ccB#vk$|ly|{7Gi>YbIG%qzrxTcM?!D3b7~v(wyC$?= zb|BIgx7B=QGoqK<1)&%KfML7q9Jk16%kFfaZcRMQNg8nJ?01Pfaa}9T1#jNP-Z0?i zg$EvqVQ-J{?0+nQ*IlkBh2q{y zj(eJ@&Ndbuc}f#1gk=#L$H`VtJE9ypUz%p(!W-#m)2;$vqP9iB)}WcLZ*O}d(?53b z;{rawK!3T--uM#+A;R3^w3*_BV<70*G&DZ^sFMyy^tp$FP>`Orc_Y~wn zAg-*^>lT3om!#g8M?{;ZdJrBx^@t4Kks3u4JKW}58__!yjvJK815O$TtQg#B8;Ukp zVtHJ@Dt2mBY&o%;vKGd*E04PdxvEjf6O-iWc=AQ-m}E# ze2g+Kt()1T9l#vpFUh-X>AR%8^k@8yo$s!W0)grOk!5^f{GVz3)1oVkf5B5u_P6g# zIK%8;YA^CR0`*;Y2GQwgGsa?QZ|2*&P-sJMPa0kwY#>KzX}TZgW`+Zz+Sk?99Dj)V zE3u@HvW$<7f1AdCEaSh%Cr}y#de>>;z_h;3_=2*#-KCfR|6ksbH`-GkdhDS{0?AJP zl8<#+miy0;82T5H#+NBS#H!~b9*^@=kzxG|xM>`W`>cnfkLeL9{#v@OP=$79nnXZ{ zh>oLtbwGVZLVb;r6fdKE&{h5o<$oKLEE`aFhDw&{0UBc%uKq`%>~ZzaK-rrt%MmDN zy2|+|XSw=kqddgbUWW2eSNRwkBV7GOCfbL&@c9De99R29l!v?8A3{0TRel8JJXim* zD35TJ*PuMoRraGi%2hra<J&=@}F!1oxwp{?Ji(|u#Fy zG!-R3%ZkL)G!y0HP@erXosj&jTwcpufa7WL7oyJ=aBTKed;Bm!BWD^Umb%VB&8QT3#1~t zl#Zfrq2)4~0hn{?a_r$1w3e=R~=|Z{&t=DU!%zp=oW>Aw+1Ogan$uf$K z60Q0!PY~+z1feds358igMk(r)QO4Ut@*n^kCJB==P3pvxKkv*=p=f!6q9*9c6g|_X z=uQYg=RjgEJOnWZP;O8%O#llwC&*L;4kNmQMx$l|u$oGD(+PABEunkS?|$^W4=lbD zm_C>w&r~XL$bYlkMV>Pgg_o3WJV)Pi3;>kEEVhQT(?q3zB&Js6ua`)zbuS5d@@MmN6{XGO<7<=*KKKkiO z)P28?e!enESdSj+u?Z`o_!=REchbe!gDVpRZlF9oAAg0=J%%1o=d=s__$0K)Q&bC; z*GPRB1+m9QpFw-6oqj~?=|wu1UIL__0M;vj_ET`_%e0MtrZ=Gp0yu_FFpkli(304M ztDP?oAj~vo>Q+!Ku`$~d8?)Wnm~6V*wK2z&aS*`MY|KF_VWtT_{Gv4qZx@;cai&d>V%5>%jgE8h=S|(sX(YJ>RCq^eb%Euc7FFgN^zv z`RRAmO}~dCc?WRbg{pW9I_eL4gNi_pDrzxi8OLfJdsAWyZgRH3OII1k8OMWG3Bq5P zB>bBueS%Lh@*t~PcP;94gZJ}(>UlN@Z(Eo7SQ;CRjG|)L#{Q<{@8FJqXe3A3y%MNp z7=I^d)CB(!)80gRDd1;fGfyviipuiD*gSDmOiWm5mnIhL@7xDsViNBzMEN$VO%#sJ6UW8G?1s{3XB%p^XQXGOv4e_A zM|x&eWaMYWM1}pDx1EMz%nA7!d&J3-R)1dX5jzjQ$xvdVW)B~}G?eZU^#T&qjgKZl z&xsYR1@?&31jWSaJh3Jw&e%qET(#Dz;+erSo@ZxgsM+R7b7aO2D$e(eG-p+K^SwN| zemRp@=6jvVO-%mA&V$z!*~{?fiFGj%=o4M+XxMdUyXvZViwwO*K{yyhpTb&y27iC( zOL*M}sF1#bKlU}91i4)Vm%Uy{Y7&Zk!b?H;v)79(+Agwbhp^~Tl%EpA=}nPKe-(Km zM~o1o#Yizxj1t8t&lF?DapEYkSd15I#Ds)Kzn;b!Cqf})h#Y*)!Iu}Dzs9IADp`ey z)8kBnFIF6aCW*PmT-M~qJjW}s`+v{JN|>YTDeC~81h$>@HBB{*lZ2T58F>znWr~J_ z@EEJAPdq0sq7DA<{^Pp8w(woa|0>s52SJ+5DcrK=hF ztC&&R?fWRFET=psB74O~SUQp2Px{3Y8Yxb7Ie()P(mzToE1|y@$=6b7F8OcBI2z$b z)UjvP$Ev$zuh_)%Y;Guhk%qH5M9sNGyTy6?h1R?0vjC}>xR@31cVKPBRV?w>RAdyh z;9k2=+{o5f++1Pin^^zCn19&bI@>Gnpy9<_R3jl_x9>do9(2u)d}#Q4cTzs&&i=A0 zGV{IpnXJ;i`}2(#Xetc7xNj#NRpHr5qbstwZirLosmRXHg5uABw;rLbP^9NU^7YLmZdU$wsZQ1R>E3T5p_c)M4LGre#LG(V)$2Ut%Zw5^;!dRxf2!kUclqaGzQS{Puyl04TLdNp2gUyKe7)CjEuu1RC zJV%%CF3ck1Ynsl)GFq^tgXkc6fmoMK)@)LCIZi}Rip#YEE{W}OUF9tIp5i@XpP=ou zRXbB^k9bbfbAQx{XgMZ+Sih5oH0%>EwwCS|Ki;on>5`cEi5*JEM^4TYFY~}xCB*yZ z+bFkamv{p)wgYS>`n@H{a~F-t6Tc}ok{!K821nr_;qQuyV&V@m@n^jLQeRYps=q&6 z&l8vM#K1fgA;%=F;Ty2a+r>W}Bd9%Qv4t|BNhXL3V1H`PqsiiYDi#+~g}8_oi*Hi1 zxR_RnOK7dQg3cCK(z#gsH^lXHskniz0zY0aZUV%cA#2~&JFysYGXcA{oJ|%@Ml@b* ztibLR(+a2VdNPfb`s)_mdYbl*?ny}1JqWp5p|IoT&aPR78s5VZ&! zJw-+N1`40%8&IR4vfH)u;7dur!DhtUXsoy$D(Mc8>Q49zJ7|HpJK>K`L6G`wV-3E> z(lq0AC87ljul&iW$~y2U^^-%zVzs< zK%V%zxz)&%q>}?u3hHm*?sFNqg1CX>3+E2pr4HPq9k>}bTmUxKoj{HC>8w0Cq8=(uj@m|M zp3JXjRC6DJ)(kY1!oh% z8}SOn^k)h2#4HJ1W;wVRRA!v1E%-PZZTMJZwJ;82Va$Q8I6!0YWTac*K-fs%2c%iS zlrzE;8urOaQ1o&Nys;VGI<@rz#G8!O@Anr zUqb)B4UB)Ku|3WPpTM@{%c!sAJNB`om#BjZaYW6epva2}YU)N*&i9)O#*Z z+6~I@&?D2yvPk~JMK-%5{P%LoO@BPQOU{nb_v6_mc&l~0)1_E&W$B1)^SA!8`JJcbi-4-iTGA58W?X`1*q6^T!&RQ!j^#DD1o@d?clpHrpyf`6*Sm$XnEpi?0} zE#hlB9SYYcC3Q-J&Xw78f%MQf;4|JVvuL~Y(ycO+?vNHeAcxT7awt75htYnSLodqV z^r{?9@5nLqp&Uz}g4vavAWS(?Sh7IOkdwtsIYm^;sp3>QO*F_ttYErmmc`;USt8Dm zrJ_@oi7t7(h|1aGVt;v}xI$KlTje})hpZHL$pzwJSuOTSJ8F$VDsw4M`&t52QjU<7 zQMRs=bSvsQ@nwQ)6Leh$?T3C}2S;+sadmcuG>o)JVp1!|sSgn#g5&^z>w(F4EFLm$$s z#@YDF(7Nh;%2@`FF7FiW)*&Y8{FM_uEb1cQ^ge)?ZG_ymWts*9L?zodfVP zct%YKW?HC~*5FOFp3atg^!o}dnct5QpI1Gh-?r$irGGIX!Kq})I?9#xG)^|qRM|*n zaw#1zmr<2$rX{k4nozf1woy=?38>2{ELYH0xstvkPopbjD_tp9(M@tS-7DA7Bl2{5 z41IT_?_TLk1m4HfNF!`SG_Dm!)aV6+jH7yEqYk5|(n4dCu^Af_rm_J8U0Ivaz1vPGY%F>|dZFDKeFk{NZxvBo(jeU^x%&4FzxF|b87}a;Qsuyxz($mIT^d;D|ngwipihX!+(^#34``=Oup4n!Z3_h#l9n;z>xh0 za5$0yB=(;Gi_>-h#)&tEhWGqF`8$S)&no_m$#>znaR zz+X@3gY9SNIr)KpzmkY2bwXcu&}g}i#>fpcMRw6@*-h(YkZzY}g9U=LONQwgxe22q z^nbjJ(krqTnsOt(B{wJH$0@YkI9I*~%C4rh#(Bp1m~kEA#|w-LvFW>@)4pL`1j;{8 z78v21==Z7iek^~}fgX`O=H=YsSYgPG1bDt{f zQ?n{OeQGxAdm+RgHP;}WU5%*)dsL023hzF3YU^%QUy;dMm8Tl?Y~o975nL>_bT=)l z$jWC_nt3MxCf|hjl_m1Md(;Y(Dzfvl_o!8ZV(QH8v z6L?P2dND*4i;-fMm?P#w8-Lrfb~{bS21AF+TPPDYIY-_GWpf8jly}iIxdVK7H&w`c zz=QYFO1YEP$opZR9-van|7^n9VDigb{f|kH-KNyr`wGijhkR_w$V3@o5AZ@aN9bK?;6_>uC1qc zjqS!Q+Oc{taR&5YTu$(1%SooV%ea+~k>SQ(V%&y0gI0=W<96-5tq~2z9mbt--j-3T zaTn$=#g#N(%ad2!On{D>{;(ckZsR!4VhYV zT}GJ)Xf({^LHZ#LaV)0zUi{fQs|zO|{xNaVk9k2c6BVcd$W34cb!Y zI4)f}xc$#+`zwSj{&P@H8sv4faTZ`sQEFbWctBoI=LClrmw(!lU$RF70(ow#`A=b9R3SQ&O$H4tPE!+y96fNQb^r>^} zS%|Tq3k4PLReu)~?NQ&BcwEJ|V3s8_6t;1D8%qCIlqY}dGHx>+CiT(`;}OlId59|> zO)+kE&8kEi^Dz?q*L|EE`h7spWOvO`D0Rh97uWKA5a*&iM}F>TSdbcaLJQ< zw>-gG7dffK6YQ8EGvz^=Ef2U-ktetgak}MaUr`bh=Qot{F)h5ZCn0-J!zim*seNQiovnNl@u+=R#9UAwcM$A|YsG0nyWgVDLI)A=%Wzmb|5s!1ycDH)AuBg7`SiAP}N&?p=FE&?AqzpBQhN{UlSxuoLHIoAxO8L_C4Y-` zTT$_DiuOyE%8y;d$kJMa^j9fwBw+3PA7K491=b^}u*hqCFA?@m)Qm&)BE!m4Kj@<& zdFn^I)r(K6AL|sQ`f;9m8B;tdXXmL`b0+tx*PfKC^VA#8r!Pv{eBfqwo-KVQ_(AM58&_45_|{F#3KTt8pe&o}k+E#pHl=C6!j z8^3eDexLaIgYmxZ^H<|j?T~PiMHru*JeGb(?-`%Nv0Pz%VI0WFRIAlIIy`@EPt#BsJ$LQsRttqwdF0o(SDOuy27_)Pi4F#B z$#WS-%WcSJr7nMEAuV;uXOZhQWaNqk3!Mx`p}JUpy^mK^I| z(-#am+bQqxeO~gozg1eV?TC6v+#IeM=(W&?eul1d!m=OjQu2N7MPhxEVcNc+Uh;UW zHG3gY2?N*Pn!T7o8Yus~h3gn(=$LbTH=JkawJ$4IoN9jxNt61{r;wI7WMLR1vVT=W zi@~;?_9j5Neroh33NUn+U0YJy8W~CVg zb@AMlm05o=X+pYDf;G_!Uo=~xfoX>Re_4`l#rH*^-nAU1d7fiol3q}b{vO)GfZTV0 zFfB2Yms?9WNjeuWLcCEr4HL?bc?k0(x=zvkfljp2^z2Y~1>*PN4ibt#MJS_YmK9HM z^%P9<6Tk6odRk{JI4Ba1%e)kLFR8S1(3IJILXCgWD2@*vW8mOFP6qDEE|gO`LG3{O z?kUMc#*`}=x8y)qE%hY7fNf}p&?+1HA&ko9&Qd60B9<-2vZ2qU%HGh9aq|e8I^5FL z!8pO~BbW!jY`RqSqcqkrzSm^BtF1Hg;RK>hQa7Ng_(u?4^T@72*L>Lwr~Of z0K^ak002-+0|XQR2nYxOoRIvJDmp2X?s5^cEIm;I1DufjlYl=lf4%qrf9_1~WOB2R zkdR?BEJ9W`*-QijA%S257}fxalVpH_WG2o`0CA~ST`wRmsVeG z>(lnVzHYYlwXd~yv%4#NzjN-LJ9m}@{J!?H_0B!#p7THF{QmnnC%$s(*a;$7mY@JSdOd|$qpF;&SOs7JFifA}fUUFY1e?1mn5Q+G&U@9-S26e2t zt|CL7P9;nu2cMx%rA$SMuZq4L%}XOl^U^39t-$AFwazh=#lSVgXEREBI4hk=`X6 zT`CN!q$;NDe`uiBAMs;gro!~5g%FY&gQn0_VBO>29%u-MI{mS=!Pr*3MPvR@4D4Q7 zp5F6pYBJ1CE@!%w#TjzJ8M>^Itet7lESk;a2?Ba^@+IX?32CvCu=ov%}^L3I-M z!t^E(hOPeSvcRsGY&*}O`E(&L51}FzKU)$OBq@qHe>JHY4F)ZuMySl@U^mD!HD_4D z|Bd*Y0=ki$eS~$&KlWpy==H4g;czSTFWH{T`D<} z6^u$9fACT+U1pGgzr3O_lB+h$jZRweSuJCpspefs#dcTR@FrToi-b^ zMbb~R5Up|I)-X|>f=uHR<1}}72e$aT7eu!7^#nq(#$BC(-dHdk^3ZlHC>rjIbOy>g z{h`URvW`GmsIR+wikG(1bPt8_J?4)9^0e=xf2h}>%hiGdyP(b(6^c{iFrR_=I1WqN z7>R@<_5=!vsZT274yH+&c$7(m4Sj;i z+ZE^z!~&+J8djd#v=9!YPcHD223@Zf*t5MW7>Q`BNH@VOPV`5kfrwh&qF~hD zf6*O){P236Zec1-%z8n*m0Gx$ZkC4AL$?`pyPSM(Pk2YbHk9(qod(?{zj)*qIiW(* z%GF_}DG9l70FjU@Wqox}9>KRI?w;W8?yfx@ArX+Sn3+kxA%-0ki{vQ{-|vDV z%xnyO((_XjERh=1`@|=UamyV1^Q|QUopr07^-XZzR zS2)Udzvb~^kxvuWQ<1$5XsyL`4Q|VZS5e=Guf722V;w#gl&27sxjZoZ(%1^SqNG zF@BRxQux6c{~{&+Ne%q$0T21h53`pjB}cqF^%vb_Rv7{!xpsVymEEYws#-spXtfrh zyJA4;;|JG@NpFrsk!WcVp~dWqI%}_NKi6-dZ0sTUxDEsKkset4-YVv};Aq^YvicYI^0VYAyC!!~vL7FspM&R=@0`ya>KQ+a~qy56sNgK4LRV z%;J&%_Py&1d$uBj8-0>6c$d)*(GB0~)NZiZ;KFU|rmkyTu2f=q z=4!&S5G6#;flB$VnAP=d(RAhK*dYaUm0WeRAd6%?3G(0IZL2@#xLer1e0r7#(&&JT zlF;=)hkbPJ4Fc*F!r7jF$St1{lCPs9*%Gz?O?ddx(H)}h!JlsxCOX854^Eii+=M9= zS4rc;O?{?`vw3eAB3Zxi8uDMgy}x9b=9lqKQRH3X$0-R7)1+_c@}voc!pBC{GcmsF zZ-+l|vc_tPDvCpvvHw)pFRY`9a?}B2@e{z_J%gXTDE7vuXV_r)S_BBJuBO-&Cm&v- zxk>V2Fu&TDS`6aU&Q2Zb7rB-VYN{NPl6NC zjYE0x)uqfBDRjiB!hc%btgnA?C(omV%5Ro_#r=h@-46Yr20xOuRI@N(;bzfnD)ti%ct3-VL?4Av!y}S z7NdzbvFcY&B~sVen8F*XM@=20oLv5`|i)xJ~MWwr@PK>M)(Uc46sAO_| zVgozhzbB%c-d>Gh$jbw2+k8MnsFSCdX)t+zDws<;AW@rgX`fr`l{SRf(9)?J$%Du9 zQL-I}V)F#-Z6-wC%BIIiDY}+~%E3`}tO#dBquyP6A!;RW$9UQ)fpw9(n1&XHLSUZb zo;<)w60U$POPiY?<23)%ox}kcwwfKoCkNg$GE4l)B;*Y`>F*KF0@tR!^}`B)Q6>tV?^CNRwmEMrg3a* z?ElGio%k%TOJuFaqp_i}DwP$-GCnF-cpU0F!d%S9! zI&NrNK|QZAv{`kVtS!i~VkAsM)PLQ0(GsOE;Zl0u)^S0m0`_u+EX=H7@b6QzP5{;X z=J_Rxj3^-ihc!ZEJWHtw$0)N#76GvHlXdtJ^V=GY@T%L1ArCMy77)@;B@tz}Hj1Nu zGk>faLYlJXO{OTPgj^+~CMW|&w(fX-2oq;W|B*UAhA={dZ* zm)*9bzN7VLQ)!|8x^Mu;h_N(73->lMPRET6-L%9_69vQ>tv+|d0m@SEVJ9ZsDF}`% zRHPpngS*Ec;n-r+^ZsEdS~;9>1Bxp#D1pxra37HX3IKa{{YaCXBPM`?U6^pdi}FrS zndmVXIeKt~FKvX0=msljBC&MkNYE0A$y`w2{PXMPpme%Mfc4eKO@pygF@v~Rw4sO> zJbFJY_qETn{d?VPKj+gUiZ@Bx%GRD59~8~W=Fnhba>2S~>q)Ad_{0sJ}aCcU2;B4L>5`!9FeANe)gJ3-O9d$A zFrL+#n+xx3Xm=^Y@rzZ+UT0$l8zqx?9(25&$G-eZHM3ey?RF{F8PXnVIW1t*CkVuV zQH@qmd&;EA<D(gl-0JuIaU;s zV>BO(^V8I|+RxMwn7ANV3T2_}vR!`9M9`!dC<35*!?UX$g`(rna5jezlH5uKKw7hhw@K_eVh zUw<9kGW`8a>#Zl-HEv?)+-L zxGgwD-kVBnxmL7sNTjs|b{1tMUMc9=Yt2%WU1Le;Gf=|fg6_PA%`t*ddZ!??YfjZ0PZfiBod(qWY4Hm+AWU3s*bjX2z_;Ti+_q&3%8*r zM14oM`-B5V&Y9yC1*iT}NJ!YDVct_Bz(>(H>2?ZM+;r3y?JBKj3sVAw&SA!9_ z&!FLIg;#Lz5vVA3P&-{*BE?iM^&VC-Tqw`e<#qB41eVb?f(Aqnr=+@y|$r(5<{078o^tM z=;F?^;aWPl$xgG&R4-&67)(xA;DtKH`dgiq+i)X{pwb;Y-`R8EG2mkEgv@c?Cqw3+ zLY_7Wdy<=NL^~HHk+lb7{ZNs-f9r5O9r2@l zW)jLvldy9ku(XEmM-=kGuH8v==#NG|@;^J_W+D$|7s%n@bdhV5Fpwh=GX~! zsfCR%x(i*UcaLU(Ma~#h(1p_z@B0P{5(BXxw;W)g*3Klsw*%E@Rl7si9c{?{2bRe@8DXHK4G6Vxj6Xn1yf50 zt9hM-VoVhp)j5^NeMEAlX=Vif%VZ7AFOg0wbhzf_VUM z_GN6@^6Q^b-~@xztZqug!U`Bo6Mp}oCilhvo%a3!v@z-jh zT&AN!)4Vlof|iyMdhx2uXNkA{jNG86B&Zb`h?GJG+t#h;9$Mrt^}t&H0Q?A8IBjxL z@J~5+;LWmmm$2)be}55jbx&%Yq8?PT%Rdp^dt?{F>~3n=+yyTj7G#?G(&lG4xWeaY znwA*nDl#{Nv-sBXZtlm4i!B#`uAZ`mTG6jHLU6x=@nirQspkv5}Q$$4!wATv39~5oCzx^4uY(lBaThw z`r?c+Vdqgn50VOC&ikh0_@hE&spxCK*N&tPTS!Qq*Ebc){+Y~kZS}y?8rOHCq!oYT z8Dt;S#^6j(nPyLdnk&c(E}ZBvJ}5<+_8YXJ-z+)yI1BdY?_f;bSpaywa(aE@Hf0+H{v8n+J|STe74V) z9TpsxTb1#-B)gdd3RLeA!#zUV;cM%UNLjd_>r(e2X`O3|tZ_0#xe|eFMLWcZ_Q!j) zH%|pw;zKmM@T08v9;UpnA^qLH)OQLjCuj{G6&@M&+xAwERs~8go1bgkV_cZVQ4eBR*6v^2;gl6P)zqoAfO9%P8^VoqXh*ERcFO zlz!%<+dZb+O}K%Mzu5^^d$#2EDu{aSqDMA*D00geV4-l)CLs@y<9@5{DXPHXPSWR+ z^;2S2=Eg#gj*!{mn!rRaDWhV8wm;xirf#+kyp!OGW77OGv#<+Lim>(t&Lvdxe3bwG zrt79v)Ein?x_HlY*k-HAIJ0}2mQ^{ctuZxCLZf;AASpU`YX4;?lzTB_Nd~?)$-`{) z^q{6m?gxf6z0tg@hW0L+g66=S(a*! zf38$($>H!1jf*J}spYTIR-n4oyCk)%*m{-f1RXgLPXm+;7e<9J8OFZ zOF-m}d7Ph-e_+$&!EF%ui%MSft%x$eNXF}8-^0L(^2PN}a4|F&v4q{0e40xsh?hp? z)U^ijtPH^7@~kB7VStGRl!v(gwXu=vllYA|N7J-D_c*A}hcIEcTu=@nR{H|#UF)Yu!BRDUXD3YGW?Ts^D|I>jFw15 zc!rN{7v~{?y(IjNc>TH0!mPdl?B$%fg=dm``YXMOET6|5!7&}>mwi8dvzITN?LuWJ z@`$$Nm-)!4X8s|}SmOY~f%cLo57xuO{PKw#T)T%#&Yb4o33Yc#4RWWYf=)Ds~a#+*2bOz#NugnjzwZ{YjA&{U|AU5@WRB_>T)>2Kspy`gF+=^22Q z-Gz4+nKtX0i-_ZbMhW0H!x^RUf$l}Fk7Xk6cKn8u-x3s?J}Re28axZsYy9ZyVF zLvCpDi)ss-?{jF)JW_G}1U5D){PCx92`^NQVt zl<%@{l^+CeureRZ=>>$pei%Vy3xHmRW4vw)FHNuA$CcAVXQke}Ke@+#Cw%zDMwb4h zTx|EV;Fdg1)Kxi2`s9+{Cd&4s(vu!pEp@oimwbjMWHeYT`9r&$jV_MTQx6J;rA4Fn z>x^dIGVPIVv%yF`dxDCAdm~^gRks<{wHc24t~8jlKSfaJiG{E#H#%3w1; z0+3Vi5qKiUpi>aJ(rFjI<}0LhKy_#=xYd_;>PsMd30!5##R`HDb)H?#9{7Y zu!?!pF3?>!CB|1^76A+WF^&vjeL6i9ePv(&m|ojo6C-C)kfl6g`bB%C?UwvPcHbyS zi4A!|m-mq>Q4;TQRv}9DA*~2G*OdOvSeJ%?hGuf2Oj@{Se&ncBS0e?756w-Bt`ap= zEQh$YI>7!33jr$AlcdFxhDet-Y$~iS6Cz~%-8$CN=U#I`oWblxC~CTDKy>b z6ZfrYq;fMeLyC2+mtqeZUUt4wX$0d3pu9 z8Fj#pl1&eNng@VvmJeJn8#rsCn(m{0=R|Gp@Zb22K|yOFdVDJ&{AYN&S^(Ojjj;2R z`y$Q`TMJ<$dkpec(qUqj?U`U?6Hn|EF2l?A~Ov^!39%Kin$a5bKD&$ceuLL!(G3r$_SWhkc zT+IAO87}HZYYjM_G`@AJ_bH1MhceJ6mfedKM~-2e-_)>H7WxYMJn!}GDMYW9fqQJ9 zvRi5Z)o%bovrP2E71>7`#elv z+U&9Ng5M6juQw_4!QY@~=%ra-`tgF+#(W6*XMZm=$k|a$hYF~kxAq~QoTs3$d!B0v z!aw>h$H(pv+1vuXx`|XHKn0*({vtoyiK`? zq!iP5x(eQ{Rt8K&!*?OsfNK7w;@8oF8Y(nAM$+K5R0@{_(`RL}cp(|erzx)Zg3#Z> zu)<$ZgaLx$)dW5li28jz?rUezv{ADOUHQqRJKNrS)ucNDf%I`SX%uP5NDMPAMac#a z7_eZ#lS*RzNS&rI3}fmMe&tF}$nd{u+(nFj)zd>xjhWa|!^?s~q6q0HDfj$)qG4Jh zYM*n}{=M>&uT5A=fCd8eJOLe5pacE3BHk~FmP!lHV2T;ByX}%|a4yYPgDu)D0>pY{ zhHGmNYBx8o)CxGgJTAZK8xI){hdFN{0|!7J-AMg=Cel*{f=K|}g6}7mzd&U$0O|QA zUwvo<4tvFM`iP5jN7RJ)!<+htls14NAlzIDCLNbP!azAZ&OPR-(~C36eUP4EapdFo z+1?)5WkMjh7)57Q7h~(&iKRDOZR6;#2!%)ASb1iDbyMzOxz1rw{%e94Mscto@Q%?+ znv|ftzDX-GIrbGOYAN0FC_UWEn5R*fcf)#?cVm&wGE6ZSc>rm>ceUuG`hUlL^HXxi zED#(>Ng%%{3aE$tQqGz(YVI`yF&BIu5asrJtiZ2cf?E^XFF-Ah;q!!eG%}n041|#r z%5_NV1ygmZ7 z;DA##<_MQW>byQX)`U7@trtD>h%aG)_P(!7Z1HzI`xqEgf$M%zl@NFX)&S}NRE-~K z6~4qw?|MkPe~6yyL%_n4U^fyX*(UO> zJe)UH3A1;0xP=;1GlO>^ZmC^u6hlP3MHUG|*flE7{;>|ZsxQ*MJ;36ftBp#+_{G4r z66CV#qwKjI6*xXIuSS4w^|y+sUhI8Vd=v;W{Y_=gJB4X8wVUO|LmjbOjDwOVU1ll* zb&71=V^t{o#Egq;!?8gq@>+Km>H9>_aO(lX0DTlyOt?pqJv2uloF;L;(P zh$&t77Q;?kX8(X`09nXNyM}CCgWQUbPW4G0MtDrRrbKs58f$6;5VkDWP8>X+T)JL9 z=poi_K{v{(0@?UE5cK;dV5zmrNcxqGLPwpH%Nw4{n-;GRIol5wuP?{u+81)teoqcW zU*D8v2u(}Rtu5+$%s68XvTigg#`;c{QOOl_Qc=06CURYU&_J_1TUEkeendlGnGB=z zH|fN5o*}@t@zQ?^_{EJ{tjVlW90S7C7Si^Yc_S*cgP9hs-w;=-n!kZ@DMO&4HAebW z#H5MT=`6$kP;w!3Z%e^z=l~V14B07I$l)n&ei5wKokCOSm)}8H?UHcLDTiqIz}_Wv>Q~E+*6oHkBTK zs3hnkEKjso?S-%KA#cl=1_r^=Cj98q`v%tt89Jn^D47C zBKi{mq&gaJOzj?ncvmf)>tSvBXtgAu>~HlXpbBhJWg%T1GurEQraB?CVPz zryhy+l|!8Bsfc!0(w1S>(QkX-UIV?a$~^r2yE?%!a|N67@}D#f3$*RsR(rN zWIrO8gw`T8az!ZQ{K%fC_E+?co4->96!X9%nFp1UN?cfyA50~`w6*)U1s#+RWbC_I zk4Sw1o(E3alLh=nE)q*(^Y+0hh@i<;n%g~<*FQn(DTBuqr6?VrIGpebw#zO4IN>h? zT-e!u*ym!PrUKHvF*fj1xC+g|G1(b?Wry>R+#vzghl>p@LO$AraLNYb zVIaf|YswBS#zX4t1Z^uy?>wI9c55^K;=CWeEzW*9Jo%)HG`D6TYSN|2XGRcg!II6B z;Kt|oB%YAn`SR#u!0(g#+p#iBX1(Jcb1wFYDiEy#dmYnzG! zm|(;k6p~rSj3wVfQ`XZ!ww9?RIhk(qfS_}r$D+eO?ejP5?IGY5l|E`Yo`<67UC_w| zOcNj(#;WU-%nIGgaK$iSgnL=#8ddk&<3;*x&0~N3X%E_+gJ5relKgP~P>4+A>#R+r z?u!1_qTTSmK@WX5l0#ZdLLkrsF-LQKKVVdX{hGhw$TlbBShnb=v+d`L9^J6=EOodM z0m$$(Xk^>x`G82v1ot;*dZab84bZDAje%?UmYqk)y8CBPnKwyQ?A_keJ{R`prirs@ zDbLUYx-wFIU-Z%#SL+nBykWM(M3r@5ff8bTE4D^qEB~37bvALv2S7~{^E6YL?EOLo ze;pv%Q`TfG_XT~L@J;td%ckV-vn{h`RFTx=oo@GM2?MDx5d3qC5uC;f60*@~^sg|nPi~a6nxDg(4Q^bk;K_ z(IVP1UNO?*(|?85`~fg0YlzOfY730cjx!b^JJ6tw&>(EkpbjTDGfdwcGl#+o8Bup4W1XH_-rgmdJY)6U)Gr@LYww{WAl zy@ID%qdmbn7IowwU65mGq8YV`nQ~B6|vWj}D5)CcBAdo@PU|ehWsDY?FJQ`m-@cQMA-^g#R*IWIQV%!_c5`WNBJK9K~Xwp;YQ zI?m`F-FDw|i5+-XE-rb67W*f&b#s0Um0-k%ecb^6#4G)ra5JgmPvN2pzp|kXF`c4O zPFyT^PM=*(T+Y7%Zc*`FbT-~DJY)p#7YWpfZm&c$-UcYRW@=d}-eNJDuq4JZ@AVT2 zOal@dPY%K43}j%XKyq643uLq^micH1UV5uf+|pPs7eJ#5K|FcPxvzn??(vhRvu^M= zU`@>(?-M>oeTjI41<5BvG_>z%7>B3WYI=-{z&YB^zbGKSc9=0>|gBX-v60yS#6b-#VT@t&-o`+LfT@ z$St0`!nd}^yAs(B-y(wLxMPjIo5R<`I%92Vb@*&AV@IvNS+|a3rbA&CFDS`6v*#(j z4nYbw;}Q(D#4Xpql`d#Io2o2NGY ztRA!3*PvSv{n2vmbxQ`38~?L*l0(e7bY(rmd}X9T;g>A~>8fre5jXd(1U};QTVVE1 zgbPqc!3}A{t17rUX%e9acT&G!T>KVUX@egndXe3m3O!SEfy=oPPb9SpI=t2BEZkw3 z<%u!Zy7p_Jqqctf8SO#9oOGdeoZZdib(U~|C0U#4a}`0%5=D%L z*rBR3=8sI~2l;g6Edv=vad&oN4)k|-G1zHuri!-rQ=!0} z6C?-vZWBSLqYiiuTt=xJRB~nE|BUG8vk~BRaBsVawk@Yjy1T8C(+5C>W4c$b|(w;$1B(9 zGNk=UDUvpBOIZkuhka1F9UN=O(gm;~mC@x>3C1pFuAd^dOjOsvVDa3V)%J~C6oIK@ zG!JgG0&A?9&Qou=U8iHW>3?0fSS!CB2hVG?M~D7VfBbYy$9Ndhd;Yw>trv5X{ z^PTy9rd=pRdp({ZGye0e^{%VaY)x+5D?EEtE{)a9l7(&y4hXl{b&%sjWDzic(3jU= zQ=K(lm2r1u<;v{CoKDJICpW$#0}~$cyc1mY_9}X+fX;6Lst$%y zb5z@)I=pQK$&WTINaRbwR%5HWQvMk+=eF6gcj<<#ukJIb(d8H2t##M@tAAlBsom|N zV`sR2A;8q7jTU*e0nMemu?6sMict@_Tz(#1^HJAEDy6?re+-}zYdTHwRDI@|+~2Iq zycA_|!kyVyrljf3!MPD$8YyUONM!yxZdtCEV%7IVnNIPhEShJQ;-gNxe0omRhlDT) zszWnUBos(b3|ZEL3i+@C-e)x!MDCh#5&ROcy+7?#5yq{uOz~k+ zohv(CFW!#dnQFn_kkd4*%eP%_HW22mJf=SFloftEU9ZZAyx%I$7rWo8&lf($*P5GJ z=B&>5x9Q2-U^$n&_uy{zi1WzPe3U(hJ2%8e{QiJ{9uRug_W}JMF8Npi_skG81jM}c z|3f8j_P3vd{11h^S=o{Oe{;!0oXN>y{#8N1BRJ9JQo=((K*0VRD)Nv}pCSJH$f%TA zX9=`_ZaV*6I^mH*>LNn+pIiS;T>r;gr~l{re;SBC1yYzGCBudIzkrex=vln~818oe zACO$=ACNKS!v*EPfd6;;1pg=8zgdGwO2QW+rvE299jch|9A`)fh>(BLIsb=4r(H^{ zJ$K5B>;I1IOz0!F_Yas04FN&*KY%d~DTahT=7OQC0R#AokDsEM~XjiMXwc6V4+t$|F z))nRVdC$Fb=T0&K`uv|id6;|8_MZ2==iSel`N5a_pCO`!o-8j(L1V*R9f7h9-R))P zhW)+0fpFOx>wlR+26?=cW|EhDg0eRGxA@Dt{lU(%h7FqnZBapK3%Y_`(M5vPtb)~E z$`EAgPFUIoLFqJ#QOp&Tn`+4FbP_biq<^uLhbh|n!r?$Lx}+=IDrk7E z8{LX@8c)Z0X@W@;X_BC+LlI_Lt-mkWwy`eM9>CJ8y1N8TuRVs&6^zMblcq5A%x&&rz;T2pqb?1aYZH-Qwi3xX-iL{ z8KXznrhgizaVRtCcpj5&0t zgHE*YI@zT8R4!;(IM5r4bVWm93#}0@w9sGUv%sW<+&43@H5v#;xbbqgEla|tHg1j60IywTp`*Pjl3^ahn zmkY{CU{x6o`?uA0MX;7ys`FC4Ne#3j&asIu5eR@k!X2^yv)0uPl#e*K+C+*(!K*dY z$h_JFY-hPzt3ut~7y*>QuZ+|xlUCCj%-I!;ME%{}mBDt4kAUf{fnW=2ShiYBT1)E$ z8GnJTUBJkgRbzoV)1&SaU_fPK`(JJQ`=y0xb}lQvVgmwHSJQV7hcI|l)=0}#tr z_@h|740Q;qNFnCyhEx_w5Gr_*b4&^o)_?7bhODlTu~|c?mOkFDR(?Czq^$(Klm_}n zq7kk1)@IQ8bb*&HH0dI`7+|y(h=xMl5lx3x*dz4J0KMAdQ%xC2s=*U8zg}w6Wpp{@ zWpVA2*5#Frtt%>5}5HC@q- zcmux%qtH*+(+ys_(WIMnw;^C@+Vpn&+X9u{-Ms8uO!_)6dkinTsbN)PRdthl`Pt}m zEqDBeNw;&yk&QJ=tLM18aO)0}?tkFcJgYSYAl|vVOuC!yf!;Yc+!YPPH)v`K_8Q3D zUizk>64!1AwzdU&S%6&|UmXsI!qxExFWnbcGk{am;51~=PP(7j>;V{K_uS1J!=ZEi z8*FiU5V|xHh(>`Rw2ymFw6<`l{ysV&=&$b83{?LMJN(^|Kt{?gwjEg*4fiGYh?8WYu1(k_ ztIW%5u(mr<(Uw%>HhT-}Dt}j3*SA(x*Ecs-))rd}YOJoUu57Aq(!C=Z4|pZ80@e^+ zy(JLlSr<+_-+sF=!$(g;Xj~OgO$SYSmY##IfCE*zArk8Diw2krp>gASEzY{!{RNX= zr0+qKMMIWW9X)GEUHP&}uW;XV_Rak4I(g{_uy@Jbp;y9P8!)S$q<=DA%Ag<7t6qA| zq#x5y;>_<1;;vARBQ0yuIsF2@QhT5~5DnCHRNJb2 zOv?ER;D7xR)Jf>BP5v-6R}f;w-ofkS;g4UL^cMXZ3jvAh{9Qo@5dc1JmRpVT@I)(Q z;%)k^m)oFBRdJlGLcIojM^hf%W zm;P+hU+Dj!W`-Ju-o1VB9!{P$*qs^D!Esmdn*L_e-+4h9b(J;X`r68-CXOZkVbVY8 z1DIXVsjAx_iLfu@2B9mlQ6JL3z4RZG{>w&s#DI2aCXDCRd4K8SK}3Ty($E*h5}FeGd3;1qu)u^a*{z+PE!)KBB{TgCkC}6Gqz&p`tc5Z&(hKkfu<= zfZq1Ew`=5^L)u$9VOH%C(XJRo6j&UQc7%{b_o{{73WU7^!P-QZX{reZ?GBE~@d?Cg znXHCwR$^>TQ-2H-!x6&)TPBr_?1}#avMzV=Bavl_ksLUBI=cHJ8@VRO6r*%aTX!fD z@QTrKosewqGDNNzYl=KJh)lYszTVz&AQB0*`^0$2!9exu6B8f`8>7+QNO@Tqx6Cf> z@oxzPOGDw#GW|BEj02`W`9wa}?b58g?kT32DyD%G;D4+x?rx7OqHPIRErnMZ*QZ`F zBkro&RgD4Og$yyBzQCNKz!Zg|2>v)*m4x?>&Q?d8RZ2`z%1D?%!oh&YA8(4;Vh%^H zpjU#*l;h89gEf@1lak7{XdPjP@IVPByYCS1DXC7N&iUllx z2C90vVt!3%lag6^`Q=BH2LF!>T!rOGy z$Rwr6K_J6gZi>@IEjq##3;VHrmtE2wYwUXTt``knvBDH98KLaKU4Z3Af21B}oBKAI zqFJoMQi7-$=dj;ey%g4@Uxa(I>(~VQ4#COou4kNYTez zSbtTOV$y6~1jl@QZ_pO@daCEoj`VWJrlN(Bn#Rl~-JCim!-k;?{pqH%tL%d{rb+ z*_6A+tsU^w8gj$9pW=C)@hGGyKCkQajUqU4czub;4uI< zUec}N4pZDI?!p>5js^40TDO>U4j+koOmVM3B;?Tn6r>Io)S-c#eXxVILK;hcyiW8E7Izo-sm>&_nax77cW4=gabXH zEdf>;H7T?dym#?EQ@q5^eipk?{$MEB)#mSJ!{ZgN0Qbb0#=c;*t0$0%GsVkvKSTH- z`}EKwuL6gXk_~-b-R+FSk4^Ct#zA#*8m~kA%oIOo&7Ov^4%#N2#*5cY@qbHBUV0YC z2fb;EUx~Ls^GMfu0i6@6@rmCcUMMNC6PZ5oTQqMBboX-qcTMp-@q1o;usyJ~p<@VB z1|WaH%q1lp=<>{eGR2>HW@9-jyaGP#)WoP74XZEO(6Knw7i^EXLTe%ZW{SUy_o4P7 zHDP~Sbh$fEnlhcH4e~!t@qYo^zYNyQ31{I$Q~X<}nmO}5D3``P{%eYlcz<&2)ZG%m z)ZVoX;S*DQDn0{XI{^%v4)#o$f^(<%yy8%jx8$smsk$5ivp8%@;(&S7^3`>TaM?+B zTrZ_5mA2qk_J?yc(qqar2^ZJX84mUJ4&u8+CQPQAGDAD$t{{`cB!3^gT=Hlx@=3Ul z3Z?;(qs%hpNTvg#Onn$2bI=wExA`Q%af(0J~@FI zsj0qlMbol|X7Hq(WXgQDQt&3)wQ=>yDS{Rr#rJCq^_2CUyDeCz6C&DwP6W{K427I# z%IVr{cSV|l{@%#OP=C}XX9`*yha5S6c4;UQL7*P=N4NC`G_ z(-xSrkd60nJK2(8G+AuQ63(2B1G#NJTQVRw;gx0a%$jSnv}nQsm8CSwCn3M04Da$p zQ=TN}a>^Q@g6$ldrZCL*;0hjbGLL}wSaM7UF|Lttj^qOPWq%x5B^J!Vl}|3hijwO~ z?CrPOPlYyLKW)7$z0n~Tn{<=d3>KG5Oj*q*6C;<@G&MKYEMCQhRf4T zxlGo8hXP@^D7lVAtpI*;gO*Kc@EByRtnx897Erfg*1ADP$; zd#il1Sy16pKYuv9JwF=C4+lVvz?MM19iZjg3&{`m^=v?d$#||d?*q!LVvcKbdd}s0=>Z=WZd0Kp&5L# z6V5~OtR>xG&~Bca_pHm5o3vW0t8T7rT~djU+J>si+SaOu6)miSx=q=`YRTw;P2dqB zQ}*(RafuOe9pH*rW!RJvmJp8TSi^8mfb08AxrOVQ|7@Q*-kgoN{#u{JWU6k-Ng48d zd4X46Xn)F!fZ9;7({u4*>tBX^ zNES`0Y=r3Phu-qq~hlIC>f?%Fc5Cnj> z-(&Ub^U9awGut9iABrwzH!hK_lHZ5S1VhpM4zAAzTl|oZpDy-ExUil8AG2grhWw#V z{zOm#vsNj`r}3F${}X=7S7Rl)oQ3<^boSzeq~l~e1?Z{?2ReAJ zGS?tz;&;L4mb!438sTYvZ_4-NAFLdHT_CzK1nYn5QO;0@p3{O*!8!m=`BZu?1Izu3 zDgRIY6-ILlCo$NqAB}j}HQG)dK!05SF5macf0**0@`L!s549#}T}V+v>&`sFDSJ|w zBtMk@_R9a5^1t$&H{oeTH(MFOt$z<{$qCiIu4Jj^k}utdyI)!l^_B}^r`WkjMydw*hl)xd)f z!FL=~nyI`BvG}O2U|V-zdtg8eG<8r6G&m;msSH@nlD1x-g1>K+=v28-!%a0pWr2ku zaLW^?Vr^#xUiPxPPm1)mV@PD9*rkbSkIX%j`I*xr(3_#B*YN}UFGu3nsbVm;A0j@vS z-vyne2{O}EvpDTBGHhuXwq$(?P6f1pZCRmvAEMp$On)t0V~H`Q!y zf_pZ%cZD^u6HIj?)1DLJT3&k*jxG0xBODUyeV=EllX<$ah`TUZJb$+qNt(6XR22&T z`e?)}8{maDhuqJ$YBK7CWDD`=0MHaNUa5nigrs>-XDn5tSW zwfB6heR|Q1PY`-bS3CPNxsVs@x)?KCRj8*I1|yu<>-Z>lYelA7rfR%uxv5T9wFAH> zgBi`>?Yt11qB?&N9)BDfBD0dfFX{4k21Ai(R~s)W5X2xK%YL%S|ISM%Vw^&@f($ZZKHstm(Y@u5L>OA^} z0hd#pO0QZYXi{o=*b)p`P^-z~Q)>~)mvE*?tv4yC&O}IkOn*m<|HJX4n+b(#HPzWn zu@SaHil53e6KpV5n`*aC5S#rG1Vnohj@cScVcPrX<_`Ck92*lPQ|nmkhGyVt){AXR zBAda`9jeo-HkztSZ4xx=SO-FHgEPAaYC6X@iyqZ&DjkfO8>~uwD1p6HAyf5gP6X`| zE01_p*iK##CVxu?4OdZ9^>O4pjN{v;K(Ak)&ty}kIu|aS*bGjFHwa~Xo~h1P7eINm zC(hpr2gXK2>+?)euP!ph^W;O=p)N7irRp-+RDJloqOy5eYfXJs?W!f!`Yu%ye0R4> zOTI-1&pWy<)>h5Y&eMMbkMTU%?mDOz?fPeGQ^9T56n z5j#OKKFPvbwPjA4!&Enz>PB@F%p1Jl?rn)Y&H!ra(H(Fem`lo*+ArX-Th!OR>Q+ zH6=x+HhB||eRs2In7YBI9hi?xv5+wNLPA*4-yy{Gw&0o zdQx8PEi8TgCZC4|B{9O!Y(cBXEqB;9M5ix}>YKD{3b~CJdf1t~zSi zxqp2PMASFcH->rwK7}~a;24rUub;uoR4*_lzcAJ7oPIRjx73$r#XnmxRFP7o4pe#|FL076@o9Z{}ZEQoErK$y$rl3eo!H`VkQ|~}O zE{G?a?QGp7V_jY;-bQ~iy3aXeqWv{k5c z9W#D~PrYvs=PBDmZHeLkG}Q-#hO>MwX{buv_dH*HXsUm6zbx+O7G0nEub|?x^?#*S z4xYEkO2?Og6lIgoESh!7g2^`41$the`WPnl2qTgf=~JJA#Y+oykM;3uC8dQv^|=Lw zb6gq*XT67>^9#7jL-Zan-(jq>v=Hs?*$jc&<7dw~;lz{X&O3R&e?wb)pd*7i3}qUI z;lb8NL+pL(i|f`2X%%ew;#D=^(^l10*EeG!gZTiaJASEG`vNF0Z)&J_4a#a* zy0o^YzS>n~E~~Cx(OT6|S65lT1oNzEtX#1I;(1QOjhctYc(6FYywxM!~&PzAzi*@4$)qgp2LQ$~z zS5;OmtM(aVQDlwS#@7IB&A|LuUs+d;c-wu8IZ>S%UoE)R?lkavtDyV=_g+(AIWcKu ziVnF>V`KG-hNhb4hDJ@prdC8w3-B0VX=xYdK0UTR&xn@ zI2NOwRvu8*YMU!J+S(L5^?&J2U7gt3zAz{~HTeqBg29}-2)t`l=`ZPwsD<}guTNl_ z+1X}JXMMcdAMWC^U1>x&c18I7f2iy8aVpHoqauEI6hlW(Fao} zeSN|XzecsgK6VAQtM0mi=Cwr}Cf3Oxp?7XyZ)e!w9;j&#_~9MZ>VI!pY}4jMGrJ&x z<&@R_PZ!iH^brixVHje_w#{|^UYjoQ=~hShbfL+$m~AzTSn^ru^0x!hp?IcH7ey>eC!j1OJIxd4l86rnn=dsqVV$?OX|m%N52AHBGbZIiL^Y~b@UFMoy0w13&4)#6syhz2(^XYieq zR(;O|W7=KEQ_h&=n-mz6HPAPQSsqX|#Fot*nCME`ub?K?_jlr7tl?Xe;m%`*1#M&W z>I?i?u=akq^R3->${93vy>{5gpZb0gyZsIlDcoUJgZiGN49tP%v=vaR^Npc&KIU!Z zb6$?>S#T0<6Mv3)1j@T$9~QRuw4cP^*wcB=R`=fMO^xu9;$0mTnAsI+jT>&hCmPYq z?S_O50>H4{b+!v-w`F#?kF_Qp

    S9bPTvT?%WYeajTqnu`dj`IpM))Vc6SaJT!Cg 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 delta 27444 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 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 9d4088a..79b2f59 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,9 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.1 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.6 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.2 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.2 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.4 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.0.0-SNAPSHOT +bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 79ed47e..3928885 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -22,7 +22,6 @@ import rife.bld.publish.PublishDeveloper; import rife.bld.publish.PublishLicense; import rife.bld.publish.PublishScm; -import java.io.IOException; import java.util.List; import static rife.bld.dependencies.Repository.*; @@ -42,7 +41,7 @@ public class CheckstyleOperationBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(2, 0, 0, "SNAPSHOT"))); + .include(dependency("com.uwyn.rife2", "bld", version(2, 0, 1))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3))) @@ -88,13 +87,6 @@ public class CheckstyleOperationBuild extends Project { new CheckstyleOperationBuild().start(args); } - @BuildCommand(summary = "Generates JaCoCo Reports") - public void jacoco() throws Exception { - new JacocoReportOperation() - .fromProject(this) - .execute(); - } - @BuildCommand(summary = "Runs PMD analysis") public void pmd() throws Exception { new PmdOperation() From 143bb31a78c327573172be2b7859b4bdba3285a4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 29 Jul 2024 00:21:51 -0700 Subject: [PATCH 051/113] Version 1.0.2 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index daa4275..66ee51a 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.1 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.2 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 3928885..b75b15d 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 2, "SNAPSHOT"); + version = version(1, 0, 2); javaRelease = 17; downloadSources = true; From becd6384cd32f915f8d2ae1fe865c57d03f363c1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 25 Aug 2024 11:08:12 -0700 Subject: [PATCH 052/113] Bumped CheckStyle to version 10.18.0 --- .idea/bld.xml | 6 ++++++ README.md | 2 +- .../src/bld/java/com/example/ExamplesBuild.java | 2 +- .../bld/extension/CheckstyleOperationBuild.java | 6 +++--- .../rife/bld/extension/CheckstyleOperation.java | 14 +++++++------- .../bld/extension/CheckstyleOperationTest.java | 12 ++++++------ 6 files changed, 24 insertions(+), 18 deletions(-) create mode 100644 .idea/bld.xml diff --git a/.idea/bld.xml b/.idea/bld.xml new file mode 100644 index 0000000..6600cee --- /dev/null +++ b/.idea/bld.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 0bb407c..452ceee 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index f271cb5..7a99782 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index b75b15d..a3994b6 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -43,9 +43,9 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 0, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 17, 0))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 3))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); javadocOperation() .javadocOptions() diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 7959d0b..41b72f9 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -284,13 +284,6 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Sun, 25 Aug 2024 11:08:25 -0700 Subject: [PATCH 053/113] Version 1.0.3 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 66ee51a..14de935 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.2 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.3 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index a3994b6..73d0ad3 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 2); + version = version(1, 0, 3); javaRelease = 17; downloadSources = true; From f623921ff36d31ae840aae68cbeef0e02a15f6ad Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 27 Aug 2024 01:39:34 -0700 Subject: [PATCH 054/113] Cleaned up API to match bld operations and options APIs --- .idea/codeStyles/codeStyleConfig.xml | 5 + examples/lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- .../bld/extension/CheckstyleOperation.java | 136 +++++++++++++++--- .../extension/CheckstyleOperationTest.java | 22 ++- 5 files changed, 146 insertions(+), 21 deletions(-) create mode 100644 .idea/codeStyles/codeStyleConfig.xml diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..d91f848 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 14de935..960c1dd 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.3 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.4-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 73d0ad3..9506bc8 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 3); + version = version(1, 0, 4, "SNAPSHOT"); javaRelease = 17; downloadSources = true; diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 41b72f9..0322640 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -23,6 +23,7 @@ import rife.bld.operations.exceptions.ExitStatusException; import java.io.File; import java.io.IOException; +import java.nio.file.Path; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; @@ -83,6 +84,18 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { + return exclude(paths.stream().map(Path::toFile).toList()); + } + /** * Directory/file pattern to exclude from CheckStyle. Multiple exclude are allowed. * @@ -161,6 +196,19 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { + exclude_.addAll(paths.stream().map(File::new).toList()); + return this; + } + @Override public void execute() throws IOException, InterruptedException, ExitStatusException { if (project_ == null) { @@ -284,6 +332,13 @@ public class CheckstyleOperation extends AbstractProcessOperation + * Defaults to stdout. + * + * @param file the output file + * @return the checkstyle operation + */ + public CheckstyleOperation outputPath(Path file) { + return outputPath(file.toFile()); + } + /** * Sets the property files to load. * @@ -360,16 +427,25 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { sourceDir_.addAll(dirs); @@ -405,6 +491,29 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { + return sourceDir(dirs.stream().map(Path::toFile).toList()); + } + + /** + * Specified the file(s) or folder(s) containing the source files to check. + * + * @param dirs the directories + * @return the checkstyle operation + * @see #sourceDir(String...) + */ + public CheckstyleOperation sourceDirStrings(Collection dirs) { + sourceDir_.addAll(dirs.stream().map(File::new).toList()); + return this; + } + /** * Prints xpath suppressions at the file's line and column position. Argument is the line and column number * (separated by a {@code :} ) in the file that the suppression should be generated for. The option cannot be @@ -485,11 +594,4 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Thu, 29 Aug 2024 21:55:30 -0700 Subject: [PATCH 055/113] Bumped bld to version 2.1.0 --- .idea/libraries/bld.xml | 4 ++-- .idea/libraries/compile.xml | 4 ++-- .idea/libraries/runtime.xml | 4 ++-- .idea/libraries/test.xml | 4 ++-- .vscode/settings.json | 2 +- README.md | 2 +- examples/.idea/libraries/bld.xml | 4 ++-- examples/.idea/libraries/compile.xml | 4 ++-- examples/.idea/libraries/runtime.xml | 4 ++-- examples/.idea/libraries/test.xml | 4 ++-- examples/.vscode/settings.json | 2 +- examples/lib/bld/bld-wrapper.jar | Bin 29577 -> 30440 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 29577 -> 30440 bytes lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- 16 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 4dd96bf..5c4010c 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.idea/libraries/compile.xml b/.idea/libraries/compile.xml index 9bd86aa..99cc0c0 100644 --- a/.idea/libraries/compile.xml +++ b/.idea/libraries/compile.xml @@ -7,7 +7,7 @@ - - + + \ No newline at end of file diff --git a/.idea/libraries/runtime.xml b/.idea/libraries/runtime.xml index 2ae5c4b..d4069f2 100644 --- a/.idea/libraries/runtime.xml +++ b/.idea/libraries/runtime.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/.idea/libraries/test.xml b/.idea/libraries/test.xml index b80486a..57ed5ef 100644 --- a/.idea/libraries/test.xml +++ b/.idea/libraries/test.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 5422c5f..8f4e3d2 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.1.jar", + "${HOME}/.bld/dist/bld-2.1.0.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index 452ceee..0c0da1d 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/2.0.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/2.1.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-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 4dd96bf..5c4010c 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/.idea/libraries/compile.xml b/examples/.idea/libraries/compile.xml index 9bd86aa..99cc0c0 100644 --- a/examples/.idea/libraries/compile.xml +++ b/examples/.idea/libraries/compile.xml @@ -7,7 +7,7 @@ - - + + \ No newline at end of file diff --git a/examples/.idea/libraries/runtime.xml b/examples/.idea/libraries/runtime.xml index 2ae5c4b..d4069f2 100644 --- a/examples/.idea/libraries/runtime.xml +++ b/examples/.idea/libraries/runtime.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/examples/.idea/libraries/test.xml b/examples/.idea/libraries/test.xml index b80486a..57ed5ef 100644 --- a/examples/.idea/libraries/test.xml +++ b/examples/.idea/libraries/test.xml @@ -8,7 +8,7 @@ - - + + \ No newline at end of file diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index 5b2667b..4c33beb 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.0.1.jar", + "${HOME}/.bld/dist/bld-2.1.0.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index 45791299375b2834084b10a1b07a8d2afadb804c..d776887acc07552f8d2c03c0ced60a1511f4c269 100644 GIT binary patch delta 15855 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 Ad;kCd delta 15009 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

      s$*rls@!sHBO;ZCZI;P{yKGwD zr+ydZ11ibk3|<{!W2?KyUimE|>R~zud`_X2=pLhxyGB~{k5atW(ZVz?)CzCfV5-V7 zzmt@jsuNskPkC<40M}q+Wt+5{A<>-N570PeqlgJYT4$RCUz^SF-p9;>cTbBF z%~cGoK99|`o%)VxLB%p$p{7!eW~m;>1kGfcTX&Aa!t-?z z@4?gX!aR=1p7d3H(k_wQs~M<`LWE_BgO02Yix~K?{esz z0$PF6#H`M$Zq+qL4h`nd(iJTt@GBas!;lAU2fZh^J8YoKz^*l75KFb70i?c ze$C=3AqQiwU7ED?SFRy@D%t1$4UR5t8;C{8(csV9ZaS_kVkYh_Gacm_OL}0F=a^Al z{bA-zO~9CUjHjyv01-KNiiF?bex(_V@AC-zKc|$fYy{&k6L3^&Y69ac6o;M z*3}!q&!gZ<|3n62Yk2+#sjV1WHHO5(F=S9wfwxHkVnNBAh)F^n4jy`Oo#8rtDbOBI z!7B{eL}`TZcyiB!7vxtjo>Ru`QboZ?xyBlg<2Fz?#7*Is99B3PU`Nf|Al*RP#(Y3{ znBHhP;p~F=^$lV@HGFdlWqv&{X|;2PH`A^yrQR0Ln6G!y>sFHa#aPcN<_YJuMeV@6 zZ+zVc*F`Bd7pV$E#^ynnpwW!#~6s11cMVj05 z`vc06D;|{WF$W}a-W_BpoHHck>0RK3HzaJD<}+&4W2a>w?W1BK(D3yWj!mjM6n_%KR05d-%b%hs5ok#B6`?z7gba%ZN$?Ncm*Ac4RJnUE8l zR@eg4`;MqN+Ip;XXVOk`PRiY3>V{1&jV`FM>f**Buc4PzCxYE!_$c_gllI*CE+but zF+l}P?469`r*br@+sE#U=gK?$BT-RS26>_O0i$T6eH^)*Ie8U-#ZYV(w5fh*CKPEO zG9CO_Q-ouc+Q^};&y{6ffzgqh#ssy4d#Gh$XOfxc zF`;_JAu8s>Ht}x`(z5Qs;1S}Uj%x`Th(6TjeGZrNcf2ZFjP(~TpXT>UP(;ei;AxHI z#K%!a#piT*$JoJ?S5gHfYjGvn(bO?bE$zN(KN|R$ih5V<%8>e$a=^KfMx}sI{ushf zh>?+^rX$#SzlcrQ9}jAmg-2T-vC|PUi?}8~;b5`hhrW!=fm?%!KGL0+==ZyCu4wm` z3Nr=@sO4S05PbV%Kpn$1VYmZxrX!#vcVGQ-I z12WFyJ1h%MRf|Dn?C^IIp9ODWKbl$%H!HlRyT2JjwzS*60sLe95rBv>|HR<;l9mKG zu8TLYXld0#Q-Gj&@7K^O!#2dWlM*Xo^542`CxLNJw5VhUmJ+YKPM!s|yrdWXNf-UY zR#|<|uiP+{Xy}*@6&eS(GztT@FTcNvfKr@?f|dNf{ihM{BAEN65^@0ph4I#2W!?mBXH zRf$LR#Sr~koi~#c)V-mu{I%J*RB_9AOHypy&XB(GMhH)kdW89&`$b0;%C{kcp)AL( zWTgrxEZ~r7Fo{inJV9e)Z$zaynNq!hBbyi1b1SRoE*m0y`Iz`rSn~2*>q`8$-L&Jk zG;J3>i8N?Swuyb=SCVf|bj8p5@2ghjUd7s`xKC-PstML|jceRaH2fgYS(B9>wZdZG z)|8L981#5rKBleTXoKlKT@>YU_uU$tFb(CEtO5O6Pa%E9BZyF}l(l$+dP#9&1ZW^` z0!kjL^GBC#u`guDGfi}oV8IEK?!oQRb%K5g+5uj8L%$|&$_V7tY`fI!ng0}|F{3#S z5;hV~avt%ljavS4xmZmozD*p)GO)23mBUGBGbMl9>*t4sBZFyz40Qz2cQ`eHYss*;VtBWV#3dpusikcz?+%hPX zy6QAGPl{1!|71ZM(0K9n!ov4tlWjxheF~B8=UB!2BI#ZWWYK(qF}~C^NPk9iCeo`7yD-?n4ISG&!J8K*A<$;%n zR_B3H@Se2rQIt32XvuT-J~XqBiT$jsqb|QGXX91J!AyyuQ?8wA8*IY6zDMea_hUJZ zCipb-^=e~rmkpquSGB^wHDpZ)xIOK)FMQnabn4MboaS|&Dsg_il3(mwu!;F2UY&sC zN7a;y`OC2$2&dB{wJ66?wjeq;06C_64{X;gQ2l4&Y@Ym1`<~R|qKU%&D4?=x`ZP*u zY$|56wq}H|`te^BRsCmZ`1%G)sAxx=iMP!39rctXJ_`L*6`Ey!rvGl1_@dsF`e_a| zTj~?n2&hgz@!4ZZa#>VjO2$nb72NUr_OTM~sE{xG1>^aZOg1&y5U70Z3aBBPmF=); zAIy0sNt#(hWQBPYjmeqf4vS7+m*MekH)3H;c{)Fw z^(ss6Z)ur>tsl>)ie}k%c@tr)TG40a+aadLwBn7E_P4Xx;w$0 z9W#S%D#;q3CIy=S_bE?e0?2fifjoe3xb(wQ-{8PSotA+bO zj~2ho8~hu!Lj1j})HAP-_W=LTAA$x8(?n-S3J-S}AMa`YpSpqu%hQ|>cl3LrOoug5 z26){rUH&=GuR%9mmvn`SvQJWcO^4 zyvPo|1QliQp3_5dbgqPCGprE*$e>{ysWM5SK|nwt|5Zg9P%w0m|4qY8uy++f{7)X{ z|9(M2m#e^k>EhjR!L+#(W?XR-uJ};s{{N=pqey9-U?3p25FjAb|ET}BknsK2DB6wS zzdQ-m|A=Y?62{!9i2pMbS>#BD6DSBs&_83=|F!xjwb~}IIkG3Dxg-1+=!EAjy!#KB z2@V26_J4qp_6bnV6#oH={)h4ZJ45*Y1MGGL0TGcEGf)>-R*_PWSCoN-`i~yw-{bmk L_^*Fz5Rm@|#K$H2 diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 960c1dd..b0275fa 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -4,4 +4,4 @@ bld.downloadLocation= bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.4-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.0.1 +bld.version=2.1.0 diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 1934a36af329f83e1e58d33bb1d539127532ac19..1b0253d160000d2f1a6f3c7aa1e88d423bd30cdc 100644 GIT binary patch delta 15855 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 A8~^|S delta 15009 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

      s$*rls@!sHBO;ZCZI;P{yKGwD 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 L_^*Fz5Rm@|D1#+R diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 79b2f59..afd920b 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -5,4 +5,4 @@ bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.2 bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.4 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.0.1 +bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 9506bc8..e24d285 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -41,7 +41,7 @@ public class CheckstyleOperationBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(2, 0, 1))); + .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0))) From c93c9ea2d022a771e3445332e708fa439c900d2d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 30 Aug 2024 11:13:09 -0700 Subject: [PATCH 056/113] Bumped Checkstyle to version 10.18.1 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index e24d285..1846050 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -43,7 +43,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From 0a2a2f4b035c68b3771c049435180d5e37bd6451 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 30 Aug 2024 12:12:39 -0700 Subject: [PATCH 057/113] Minor cleanups --- .../bld/extension/CheckstyleOperation.java | 25 +++++------- .../extension/CheckstyleOperationTest.java | 40 +++++++++++++------ 2 files changed, 38 insertions(+), 27 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 0322640..7788883 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -93,7 +93,7 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { exclude_.addAll(paths); @@ -166,7 +166,7 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { return exclude(paths.stream().map(Path::toFile).toList()); @@ -180,8 +180,7 @@ public class CheckstyleOperation extends AbstractProcessOperation paths) { - exclude_.addAll(paths.stream().map(File::new).toList()); - return this; + return exclude(paths.stream().map(File::new).toList()); } @Override @@ -401,7 +399,7 @@ public class CheckstyleOperation extends AbstractProcessOperation dirs) { - sourceDir_.addAll(dirs.stream().map(File::new).toList()); - return this; + return sourceDir(dirs.stream().map(File::new).toList()); } /** diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 72a7500..9308b2f 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -120,21 +120,30 @@ class CheckstyleOperationTest { void exclude() { var foo = new File(SRC_MAIN_JAVA); var bar = new File(SRC_TEST_JAVA); - var op = new CheckstyleOperation().fromProject(new Project()).exclude(SRC_MAIN_JAVA, SRC_TEST_JAVA); var e = "-e "; - assertThat(op.executeConstructProcessCommandList()).as("strings") + + var op = new CheckstyleOperation().fromProject(new Project()).exclude(SRC_MAIN_JAVA, SRC_TEST_JAVA); + assertThat(op.executeConstructProcessCommandList()).as("String...") + .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); + + op = new CheckstyleOperation().fromProject(new Project()).excludeStrings(List.of(SRC_MAIN_JAVA, SRC_TEST_JAVA)); + assertThat(op.executeConstructProcessCommandList()).as("List(String...)") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); op = new CheckstyleOperation().fromProject(new Project()).exclude(foo, bar); - assertThat(op.executeConstructProcessCommandList()).as("files") + assertThat(op.executeConstructProcessCommandList()).as("File...") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(foo, bar)); - assertThat(op.executeConstructProcessCommandList()).as("list") + assertThat(op.executeConstructProcessCommandList()).as("List(File...)") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); op = new CheckstyleOperation().fromProject(new Project()).exclude(foo.toPath(), bar.toPath()); - assertThat(op.executeConstructProcessCommandList()).as("list") + assertThat(op.executeConstructProcessCommandList()).as("Path...") + .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); + + op = new CheckstyleOperation().fromProject(new Project()).excludePaths(List.of(foo.toPath(), bar.toPath())); + assertThat(op.executeConstructProcessCommandList()).as("List(Path...)") .contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath()); } @@ -252,24 +261,29 @@ class CheckstyleOperationTest { var foo = new File(FOO); var bar = new File(BAR); - var op = new CheckstyleOperation().fromProject(new Project()).sourceDir(FOO); - assertThat(op.sourceDir()).contains(foo); + var op = new CheckstyleOperation().fromProject(new Project()).sourceDir(FOO, BAR); + assertThat(op.sourceDir()).as("String...").hasSize(2).contains(foo, bar); + op.sourceDir().clear(); + + op = op.sourceDirStrings(List.of(FOO, BAR)); + assertThat(op.sourceDir()).as("List(String...)").hasSize(2).contains(foo, bar); + op.sourceDir().clear(); op = op.sourceDir(foo, bar); - assertThat(op.sourceDir()).as("foo, bar").hasSize(2) - .contains(foo).contains(bar); + assertThat(op.sourceDir()).as("File...").hasSize(2).contains(foo, bar); op.sourceDir().clear(); op = op.sourceDir(List.of(foo, bar)); - assertThat(op.sourceDir()).as("List.of(foo, bar)").hasSize(2) - .contains(foo).contains(bar); + assertThat(op.sourceDir()).as("List(File...)").hasSize(2).contains(foo, bar); op.sourceDir().clear(); op = op.sourceDir(foo.toPath(), bar.toPath()); - assertThat(op.sourceDir()).as("foo.toPath(), bar.toPath()").hasSize(2) - .contains(foo).contains(bar); + assertThat(op.sourceDir()).as("Path...").hasSize(2).contains(foo, bar); op.sourceDir().clear(); + op = op.sourceDirPaths(List.of(foo.toPath(), bar.toPath())); + assertThat(op.sourceDir()).as("List(Path...)").hasSize(2).contains(foo, bar); + op.sourceDir().clear(); } From e1263fd3e69df0cb0ea24de242ec90221c930e2c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 30 Aug 2024 12:14:14 -0700 Subject: [PATCH 058/113] Updated extension dependencies Bumped exec extension to version 1.0.3 Bumped PMD extensions to version 1.1.5 --- lib/bld/bld-wrapper.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index afd920b..5d0bba4 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.2 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.4 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.3 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.5 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 From 1b419e2baa8f1b992cd5a689a8b3d6afd418d862 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 30 Aug 2024 12:17:37 -0700 Subject: [PATCH 059/113] Version 1.0.4 --- README.md | 2 +- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0c0da1d..48d29f2 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))); ``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index b0275fa..76ba902 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.4-SNAPSHOT +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.4 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 1846050..f6d2f76 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 4, "SNAPSHOT"); + version = version(1, 0, 4); javaRelease = 17; downloadSources = true; From 43cc65ba1face00d48bf6a013d80f937268c264b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 30 Aug 2024 12:46:32 -0700 Subject: [PATCH 060/113] Bumped Checkstyle to version 10.18.1 --- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 7a99782..7b75f15 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))); testOperation().mainClass("com.example.ExamplesTest"); } From 6b638fcabbc0e5c5f6fef59f6ca74ff933d99e22 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:27:41 -0700 Subject: [PATCH 061/113] Bumped PMD extension to version 1.1.6 --- lib/bld/bld-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 5d0bba4..a283f1b 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.3 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.5 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.6 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 From bf6cf48978075f74b4c99c89f8ffdb359bdb4b29 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:29:12 -0700 Subject: [PATCH 062/113] Bumped JUnit to version 5.11.1 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index f6d2f76..a9f52ef 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -44,8 +44,8 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 1))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); javadocOperation() .javadocOptions() From 0429bbec0a2b803af458364dec4290cf80d5cb2f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:35:32 -0700 Subject: [PATCH 063/113] Bumped Checkstyle to version 10.18.2 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- .../java/rife/bld/extension/CheckstyleOperationBuild.java | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 48d29f2..cac59a4 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 7b75f15..df0f79a 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index a9f52ef..7ff2727 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -36,17 +36,20 @@ public class CheckstyleOperationBuild extends Project { version = version(1, 0, 4); javaRelease = 17; + downloadSources = true; autoDownloadPurge = true; + repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 1))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); + javadocOperation() .javadocOptions() .author() From 41169b88d92f8b0545d945a9c5c597b14427469d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:36:13 -0700 Subject: [PATCH 064/113] Added soft assertions --- .../bld/extension/CheckstyleOperationTest.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 9308b2f..53ff576 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -16,6 +16,7 @@ package rife.bld.extension; +import org.assertj.core.api.AutoCloseableSoftAssertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import rife.bld.BaseProject; @@ -90,15 +91,17 @@ class CheckstyleOperationTest { .treeWithJavadoc(true) .executeConstructProcessCommandList(); - for (var p : args) { - var found = false; - for (var a : params) { - if (a.startsWith(p)) { - found = true; - break; + try (var softly = new AutoCloseableSoftAssertions()) { + for (var p : args) { + var found = false; + for (var a : params) { + if (a.startsWith(p)) { + found = true; + break; + } } + softly.assertThat(found).as(p + " not found.").isTrue(); } - assertThat(found).as(p + " not found.").isTrue(); } } From b3dce4fa0a3f8f3c8c4b5a781996e3dfa2c3e62c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:36:57 -0700 Subject: [PATCH 065/113] Added GitHub repository --- .../extension/CheckstyleOperationBuild.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 7ff2727..9dd2267 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -59,28 +59,26 @@ public class CheckstyleOperationBuild extends Project { publishOperation() .repository(version.isSnapshot() ? repository("rife2-snapshot") : repository("rife2")) + .repository(repository("github")) .info() .groupId("com.uwyn.rife2") .artifactId("bld-checkstyle") .description("bld Checkstyle Extension") .url("https://github.com/rife2/bld-checkstyle") - .developer( - new PublishDeveloper() - .id("ethauvin") - .name("Erik C. Thauvin") - .email("erik@thauvin.net") - .url("https://erik.thauvin.net/") + .developer(new PublishDeveloper() + .id("ethauvin") + .name("Erik C. Thauvin") + .email("erik@thauvin.net") + .url("https://erik.thauvin.net/") ) - .license( - new PublishLicense() - .name("The Apache License, Version 2.0") - .url("https://www.apache.org/licenses/LICENSE-2.0.txt") + .license(new PublishLicense() + .name("The Apache License, Version 2.0") + .url("https://www.apache.org/licenses/LICENSE-2.0.txt") ) - .scm( - new PublishScm() - .connection("scm:git:https://github.com/rife2/bld-checkstyle.git") - .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") - .url("https://github.com/rife2/bld-checkstyle") + .scm(new PublishScm() + .connection("scm:git:https://github.com/rife2/bld-checkstyle.git") + .developerConnection("scm:git:git@github.com:rife2/bld-checkstyle.git") + .url("https://github.com/rife2/bld-checkstyle") ) .signKey(property("sign.key")) .signPassphrase(property("sign.passphrase")); From fc84ae9d60fb06361fc44ced29bbf076f5f7f60e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 29 Sep 2024 17:40:53 -0700 Subject: [PATCH 066/113] Version 1.0.5 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 76ba902..d673d49 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.4 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.5 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 9dd2267..e3a9e06 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 4); + version = version(1, 0, 5); javaRelease = 17; From 660a4ea8407a986747dcab6821afc823e12df46c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 26 Oct 2024 05:30:06 -0700 Subject: [PATCH 067/113] Updated dependencies Bumped JUnit 5 to version 5.11.3 Bumped PMD extension to version 1.1.7 Bumped JDK to version 23 (GitHub CI Workflow) --- .github/workflows/bld.yml | 2 +- config/pmd.xml | 4 ++-- lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index bf65051..f7e10f8 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: - java-version: [17, 21, 22] + java-version: [17, 21, 23] steps: - name: Checkout source repository diff --git a/config/pmd.xml b/config/pmd.xml index 3d3203c..2641880 100644 --- a/config/pmd.xml +++ b/config/pmd.xml @@ -7,9 +7,9 @@ - - + + diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index a283f1b..196e2c9 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.3 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.6 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.7 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index e3a9e06..b458d6b 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -48,6 +48,8 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 1))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); javadocOperation() From 2fd73691c26113811d76175d719c4f6d6965b7e3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 26 Oct 2024 05:31:38 -0700 Subject: [PATCH 068/113] Bumped CheckStyle to version 10.19.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cac59a4..645b2c1 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index df0f79a..f8fee6b 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index b458d6b..035d61a 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,9 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 18, 2))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 1))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 1))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From 11476127f0cb333b2677a7b60e70a71fb3b89a1e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 26 Oct 2024 05:32:17 -0700 Subject: [PATCH 069/113] Minor cleanups --- src/main/java/rife/bld/extension/checkstyle/OutputFormat.java | 3 +++ src/test/java/rife/bld/extension/CheckstyleOperationTest.java | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java index c37a585..6ff411b 100644 --- a/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java +++ b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java @@ -26,6 +26,9 @@ public enum OutputFormat { public final String label; + /** + * Sets the label of this output format. + */ OutputFormat(String label) { this.label = label; } diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 53ff576..e532cdf 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -38,7 +38,6 @@ import java.util.logging.Logger; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; - class CheckstyleOperationTest { public static final String SRC_MAIN_JAVA = "src/main/java"; public static final String SRC_TEST_JAVA = "src/test/java"; From 51fa6fbab24ba76ee0e7b362745f89d95a31f8dd Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 26 Oct 2024 05:32:46 -0700 Subject: [PATCH 070/113] Version 1.0.6 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index d673d49..1a304ce 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.5 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.6 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 035d61a..2b0c0c5 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 5); + version = version(1, 0, 6); javaRelease = 17; From 2c8c219b8191f8c2b6ae181a160a3c909b0503a1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 26 Oct 2024 05:52:39 -0700 Subject: [PATCH 071/113] Globally changed CheckStyle to Checkstyle --- .../bld/extension/CheckstyleOperation.java | 18 +++++++++--------- .../bld/extension/checkstyle/OutputFormat.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 7788883..8937532 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -97,7 +97,7 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Thu, 31 Oct 2024 11:51:40 -0700 Subject: [PATCH 072/113] Bumped Checkstyle to version 10.20.0 --- README.md | 2 +- examples/lib/bld/bld-wrapper.properties | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 645b2c1..39e7cec 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))); ``` diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 1a304ce..10e2367 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.6 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.7 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index f8fee6b..b57d2c8 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 2b0c0c5..7b5ae94 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 6); + version = version(1, 0, 7); javaRelease = 17; @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 19, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From c2779f74629e4be4837bb38b59c9cf2d1eb833c8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 7 Nov 2024 10:30:06 -0800 Subject: [PATCH 073/113] Bumped Checkstyle to version 10.20.1 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 39e7cec..eaf2770 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index b57d2c8..3fb3c1e 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 7b5ae94..e4d0148 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From 6994600afeb3a6837ea30366fc6272ce8774a4bc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 7 Nov 2024 10:32:06 -0800 Subject: [PATCH 074/113] Version 1.0.8 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 10e2367..379b084 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.7 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.8 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index e4d0148..ee36ee7 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 7); + version = version(1, 0, 8); javaRelease = 17; From dca356b140a9c023a9aa32e318d4b1026a6de0ee Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 7 Nov 2024 12:24:32 -0800 Subject: [PATCH 075/113] JavaDoc cleanups --- .../java/rife/bld/extension/CheckstyleOperation.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 8937532..89768c4 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -436,7 +436,7 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Sat, 30 Nov 2024 09:54:46 -0800 Subject: [PATCH 076/113] Bumped Checkstyle to version 10.20.2 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index eaf2770..3a37414 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 3fb3c1e..9ca23f7 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index ee36ee7..6cff8c6 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 1))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From 02a626a756564cd9111317f94216a157d3e16489 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 30 Nov 2024 09:57:14 -0800 Subject: [PATCH 077/113] Version 1.0.9 --- examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.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 379b084..0eca787 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.8 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.9 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 196e2c9..76a15a0 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.3 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.7 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.8 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 6cff8c6..d23373b 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 8); + version = version(1, 0, 9); javaRelease = 17; From 9aaad3381e15ad83158a6fe22ffbcbe8dc350681 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 12 Dec 2024 15:13:38 -0800 Subject: [PATCH 078/113] Bumped Checkstyle to version 10.21.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 4 ++-- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3a37414..c3509b5 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 9ca23f7..805efab 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -20,10 +20,10 @@ public class ExamplesBuild extends BaseProject { autoDownloadPurge = true; downloadSources = true; - + repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index d23373b..f61e063 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 20, 2))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); From c5e11dd1cbeb9389751799f78d3cade6c59bda5f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 12 Dec 2024 15:13:57 -0800 Subject: [PATCH 079/113] Version 1.0.10 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 0eca787..4c42e51 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.9 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.10 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index f61e063..66077eb 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 9); + version = version(1, 0, 10); javaRelease = 17; From 71141e0b3e48c94e854852757cc8fc14102dbbc5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 28 Dec 2024 07:01:02 -0800 Subject: [PATCH 080/113] Updated dependencies Bumped Checkstyle to version 10.21.1 Bumped PMD extensions to version 1.1.8 Bumped JUnit to version 5.11.4 Bumped AssertJ to version 3.27.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- lib/bld/bld-wrapper.properties | 2 +- .../java/rife/bld/extension/CheckstyleOperationBuild.java | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c3509b5..5a210f8 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 805efab..b249c1c 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 76a15a0..f1493b7 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.3 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.8 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.9 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 66077eb..21d8452 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,10 +45,10 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 0))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3))) - .include(dependency("org.assertj", "assertj-core", version(3, 26, 3))); + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) + .include(dependency("org.assertj", "assertj-core", version(3, 27, 0))); javadocOperation() .javadocOptions() From b357caf34156f965a39d7ef6d29640758614c33c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 28 Dec 2024 07:04:26 -0800 Subject: [PATCH 081/113] Version 1.0.11 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 4c42e51..4f4ed64 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.10 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.11 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 21d8452..a191fcb 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 10); + version = version(1, 0, 11); javaRelease = 17; From dc2656200b584124c78e47b618c37534cebae3c2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 2 Jan 2025 09:12:29 -0800 Subject: [PATCH 082/113] Bumped AssertJ to 3.27.1 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index a191fcb..8c0accc 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -48,7 +48,7 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) - .include(dependency("org.assertj", "assertj-core", version(3, 27, 0))); + .include(dependency("org.assertj", "assertj-core", version(3, 27, 1))); javadocOperation() .javadocOptions() From 440cd91c8a339d51cc3e24148302ed7474025fd8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 2 Jan 2025 09:19:04 -0800 Subject: [PATCH 083/113] Updated copyright notices for 2025 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- src/main/java/rife/bld/extension/CheckstyleOperation.java | 2 +- src/main/java/rife/bld/extension/checkstyle/OutputFormat.java | 2 +- src/test/java/rife/bld/extension/CheckstyleOperationTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 8c0accc..49a855a 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 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/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index 89768c4..d9b7b52 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 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/main/java/rife/bld/extension/checkstyle/OutputFormat.java b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java index 73a7642..0ba8021 100644 --- a/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java +++ b/src/main/java/rife/bld/extension/checkstyle/OutputFormat.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 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/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index e532cdf..b6f05c3 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 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. From b332c6e885f78ce5a070d826b921fec1f1ad8321 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 13 Jan 2025 23:50:24 -0800 Subject: [PATCH 084/113] Bumped Exec extension to version 1.0.4 --- lib/bld/bld-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index f1493b7..10d3985 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.3 bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.9 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 From 5d0147154b6bbe8b332c3f2e6bddda6d5cf17bf9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 13 Jan 2025 23:51:25 -0800 Subject: [PATCH 085/113] Bumped PMD extension to version 1.1.10 --- lib/bld/bld-wrapper.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 10d3985..0f0addd 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -3,6 +3,7 @@ bld.downloadExtensionSources=true bld.downloadLocation= bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.9 bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.10 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.1.0 From 69c0b6692d3d6d9cbc57132a8f5618bfc54aa873 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 13 Jan 2025 23:52:49 -0800 Subject: [PATCH 086/113] Bumped AssertJ to version 3.27.2 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 49a855a..940f880 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -48,7 +48,7 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) - .include(dependency("org.assertj", "assertj-core", version(3, 27, 1))); + .include(dependency("org.assertj", "assertj-core", version(3, 27, 2))); javadocOperation() .javadocOptions() From c4672d88aebac0ed16eba99f85659da316720e87 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 13 Jan 2025 23:55:03 -0800 Subject: [PATCH 087/113] Bumped Exec extension to version 1.0.4 --- lib/bld/bld-wrapper.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 0f0addd..c87320d 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,7 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.9 bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.10 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES From 638d12c5c287d5647fed6f9cd40309be7e2ee539 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 13 Jan 2025 23:55:48 -0800 Subject: [PATCH 088/113] Bumped bld to version 2.2.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 30440 -> 30440 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 30440 -> 30440 bytes lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 5c4010c..553c281 100644 --- a/.idea/libraries/bld.xml +++ b/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/.vscode/settings.json b/.vscode/settings.json index 8f4e3d2..6520d90 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.1.0.jar", + "${HOME}/.bld/dist/bld-2.2.0.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index 5a210f8..7290ee7 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/2.1.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/2.2.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/releases/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 5c4010c..553c281 100644 --- a/examples/.idea/libraries/bld.xml +++ b/examples/.idea/libraries/bld.xml @@ -2,12 +2,12 @@ - + - + diff --git a/examples/.vscode/settings.json b/examples/.vscode/settings.json index 4c33beb..a3f4fd0 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.1.0.jar", + "${HOME}/.bld/dist/bld-2.2.0.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index d776887acc07552f8d2c03c0ced60a1511f4c269..cd5c0b8ef530c58fe3f3d7da0d16a7d70a073671 100644 GIT binary patch delta 203 zcmaFymhr_~M!o=VW)=|!4h{~6D-*S&Ci2y?fas0=CN^NkqnshM0T=HiJZzMV+Mu*Z+4E3GxFi=3=9mcKpf!B$Rxsmuy1l+ qi4(-0EhQdc#-!3SC-T*@fas0=CN^NkqnshM0T=HiJZz6V+Mu*Z+4E0MUkQG3=9mcKpf!B$Rxsmuy1l+ qi4(-0EhQdc#-!3qnshM0T=HiJZzMV+Mu*Z+4E3GxFi=3=9mcKpf!B$Rxsmuy1l+ qi4(-0EhQdc#-!3qnshM0T=HiJZz6V+Mu*Z+4E0MUkQG3=9mcKpf!B$Rxsmuy1l+ qi4(-0EhQdc#-!3 Date: Tue, 14 Jan 2025 11:19:49 -0800 Subject: [PATCH 089/113] Version 1.0.12 --- .idea/icon.svg | 13 +++++++++++++ examples/lib/bld/bld-wrapper.properties | 2 +- .../bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 .idea/icon.svg diff --git a/.idea/icon.svg b/.idea/icon.svg new file mode 100644 index 0000000..81220b4 --- /dev/null +++ b/.idea/icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index aa0d993..b07d6e5 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.11 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.12 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index afba6ef..08eb11f 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 11); + version = version(1, 0, 12); javaRelease = 17; From b26c0ff129e936aa9eca12e70ba0dd226da261ae Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Jan 2025 12:10:01 -0800 Subject: [PATCH 090/113] Bumped artifacts actions to the latest versions --- .github/workflows/pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index bf43624..508f6a5 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -47,11 +47,11 @@ jobs: uses: actions/configure-pages@v3 - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: # Upload generated Javadocs repository path: "build/javadoc/" - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v4 From 1b986c7f2188c8d0d540c21659a3262af6524497 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Jan 2025 12:17:10 -0800 Subject: [PATCH 091/113] Bumped AssertJ to version 3.27.3 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 08eb11f..ce8395f 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -48,7 +48,7 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) - .include(dependency("org.assertj", "assertj-core", version(3, 27, 2))); + .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); javadocOperation() .javadocOptions() From 41b6af3a4516ea817db924d63fb70d884f5ba9a1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Jan 2025 12:18:36 -0800 Subject: [PATCH 092/113] Bumped Checkstyle to version 10.21.2 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7290ee7..4a31a31 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index b249c1c..b516277 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index ce8395f..050c275 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 1))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); From a490b80f42cbc6b535d256433d20b1568fe81472 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 Jan 2025 12:25:10 -0800 Subject: [PATCH 093/113] Version 1.0.13 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index b07d6e5..1bb5852 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.12 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.13 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.0 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 050c275..84f1c5f 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 12); + version = version(1, 0, 13); javaRelease = 17; From 534be59ae87a43f54b961ed7dc966558dd96d3d8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 23 Feb 2025 15:33:04 -0800 Subject: [PATCH 094/113] Bump PMD extension to veresion 1.2.0 --- lib/bld/bld-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 9e371e3..4f5f791 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -2,7 +2,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.10 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.0 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.0 From c6c80b6f3fabd1c0c84e9a516d0a9ade5764bbcb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 23 Feb 2025 15:34:03 -0800 Subject: [PATCH 095/113] Bump JUnit to version 5.12.0 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 84f1c5f..e4fa6f3 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -46,8 +46,8 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 0))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 4))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); javadocOperation() From 34042de676b47ae4226d2382a6d0414abdaf5c09 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 23 Feb 2025 15:34:35 -0800 Subject: [PATCH 096/113] Bump Checkstyle to version 10.21.3 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4a31a31..44ae720 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index b516277..70bda22 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index e4fa6f3..3879e5e 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 0))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 2))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); From f040cfd9f94f0e8d972207e7738700a32048903e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 23 Feb 2025 15:36:13 -0800 Subject: [PATCH 097/113] 1.0.14-SNAPSHOT --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 3879e5e..cdb8f19 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -33,7 +33,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 13); + version = version(1, 0, 14, "SNAPSHOT"); javaRelease = 17; From bddb869fe843f8ff8644cbdc6e06307d5be5fce3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Feb 2025 09:45:04 -0800 Subject: [PATCH 098/113] Bump bld to version 2.2.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 30440 -> 30440 bytes examples/lib/bld/bld-wrapper.properties | 2 +- lib/bld/bld-wrapper.jar | Bin 30440 -> 30440 bytes lib/bld/bld-wrapper.properties | 2 +- .../extension/CheckstyleOperationBuild.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index 553c281..153a060 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 6520d90..ce89108 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.2.0.jar", + "${HOME}/.bld/dist/bld-2.2.1.jar", "lib/**/*.jar" ], "java.compile.nullAnalysis.mode": "automatic" diff --git a/README.md b/README.md index 44ae720..455b347 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/2.2.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) +[![bld](https://img.shields.io/badge/2.2.1-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/releases/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?color=blue)](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-checkstyle) [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) diff --git a/examples/.idea/libraries/bld.xml b/examples/.idea/libraries/bld.xml index 553c281..153a060 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 a3f4fd0..ba429d0 100644 --- a/examples/.vscode/settings.json +++ b/examples/.vscode/settings.json @@ -9,7 +9,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-2.2.0.jar", + "${HOME}/.bld/dist/bld-2.2.1.jar", "lib/**/*.jar" ] } diff --git a/examples/lib/bld/bld-wrapper.jar b/examples/lib/bld/bld-wrapper.jar index cd5c0b8ef530c58fe3f3d7da0d16a7d70a073671..862a228d642fa3d5fc17b4a5fdc2868bcfb086f6 100644 GIT binary patch delta 187 zcmaFymhr_~M&1B#W)=|!4h{~6&zmA9^42i}sf~T6HXwR(uf68x_cpVcK%C9J_T3PM zv=h4?SVXnpJR_L#z0eRWHCekvQIUlqz?+>z?vI25I|Bm)D-Z{GGct)Vz-^hFTjC5h peshT@nEqc90;a=CA@tf(S1|u;X&gkn%%213f+&!glh>A60|4kMNYMZQ delta 187 zcmaFymhr_~M&1B#W)=|!4h{~6D-*RR^42i}sf~T6HXwR(uf68x_cpVcK%C9J_T3PM zv=h4?SVXnpJR_L#z0eRWHCekvQIUZmz?+?;A60|2}VLhS$m diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 1bb5852..715835e 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -4,4 +4,4 @@ bld.downloadLocation= bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.13 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.0 +bld.version=2.2.1 diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index 1d226e2007f5ce04287996e19b74230fd01c4f79..ee9e2496253889b2305009972c8a2ede44a25507 100644 GIT binary patch delta 187 zcmaFymhr_~M&1B#W)=|!4h{~6cbg(6^42i}sf~T6HXwR(uf68x_cpVcK%C9J_T3PM zv=h4?SVXnpJR_L#z0eRWHCekvQIUlqz?+>z?vI25I|Bm)D-Z{GGct)Vz-^hFTjC5h peshT@nEqc90;a=CA@tf(S1|u;X&gkn%%213f+&!glh>A60|3lMNPz$V delta 187 zcmaFymhr_~M&1B#W)=|!4h{~6^Aoiv^42i}sf~T6HXwR(uf68x_cpVcK%C9J_T3PM zv=h4?SVXnpJR_L#z0eRWHCekvQIUZmz?+?;A60|1~VLY)8r diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 4f5f791..6d3e0c7 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -5,4 +5,4 @@ bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.0 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= -bld.version=2.2.0 +bld.version=2.2.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index cdb8f19..58c8366 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -43,7 +43,7 @@ public class CheckstyleOperationBuild extends Project { repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS); scope(compile) - .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 0))); + .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) From b326e9787c626ddf55f00b515e8e2a29e51e4aa3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 4 Mar 2025 09:34:08 -0800 Subject: [PATCH 099/113] Bump Checkstyle to version 10.21.4 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 455b347..31ba893 100644 --- a/README.md +++ b/README.md @@ -37,5 +37,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index 70bda22..ea28912 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -23,7 +23,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 6d3e0c7..c5da09f 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -2,7 +2,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.0 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.1 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 58c8366..ddf550c 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -45,7 +45,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 3))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); From 6cd5bc8e8fb764a37fe114faeddaee0cc7e54ef8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 18 Mar 2025 12:58:32 -0700 Subject: [PATCH 100/113] Bump JUnit to version 5.12.1 --- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index ddf550c..c7cf95c 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -46,8 +46,8 @@ public class CheckstyleOperationBuild extends Project { .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))); scope(test) .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))) - .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 0))) - .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 0))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 1))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); javadocOperation() From a8d595cce0b890eed8fd16e3807e22886f6274a6 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 18 Mar 2025 13:00:04 -0700 Subject: [PATCH 101/113] Add generic installation instructions --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 31ba893..8642311 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,15 @@ [![Snapshot](https://flat.badgen.net/maven/v/metadata-url/repo.rife2.com/snapshots/com/uwyn/rife2/bld-checkstyle/maven-metadata.xml?label=snapshot)](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-checkstyle) [![GitHub CI](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml/badge.svg)](https://github.com/rife2/bld-checkstyle/actions/workflows/bld.yml) -To install, please refer to the [extensions documentation](https://github.com/rife2/bld/wiki/Extensions). +To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file: + +```properties +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle +``` + +For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation. + +## Check Source Code with Checkstyle To check your code with Chesktyle, include the following in your build file: From 1c8fc1d6853b90e9949ddb829f91d312f5af67ce Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 18 Mar 2025 23:32:12 -0700 Subject: [PATCH 102/113] JDK 24 --- .github/workflows/bld.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index f7e10f8..138f5e5 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: - java-version: [17, 21, 23] + java-version: [17, 21, 24] steps: - name: Checkout source repository From 91a113ed5afaeebc6cda6b54d4af8ebf719d4d82 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 11:53:56 -0700 Subject: [PATCH 103/113] Fix non system specific path separator --- src/main/java/rife/bld/extension/CheckstyleOperation.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index d9b7b52..ed8a610 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -235,9 +235,9 @@ public class CheckstyleOperation extends AbstractProcessOperation { From 4e373bfd1019ea2d26a1556a1626d4770fd28ea6 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 11:55:53 -0700 Subject: [PATCH 104/113] Fix exclude and excludeRegex arguments --- .../rife/bld/extension/CheckstyleOperation.java | 6 ++++-- .../bld/extension/CheckstyleOperationTest.java | 16 ++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/rife/bld/extension/CheckstyleOperation.java b/src/main/java/rife/bld/extension/CheckstyleOperation.java index ed8a610..97eeb55 100644 --- a/src/main/java/rife/bld/extension/CheckstyleOperation.java +++ b/src/main/java/rife/bld/extension/CheckstyleOperation.java @@ -250,7 +250,8 @@ public class CheckstyleOperation extends AbstractProcessOperation Date: Tue, 25 Mar 2025 11:58:26 -0700 Subject: [PATCH 105/113] Only check checkstyle arguments on Linux --- .../rife/bld/extension/CheckstyleOperationBuild.java | 12 ++++++++---- .../rife/bld/extension/CheckstyleOperationTest.java | 3 +++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index c7cf95c..90f78c6 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -23,6 +23,7 @@ import rife.bld.publish.PublishLicense; import rife.bld.publish.PublishScm; import java.util.List; +import java.util.Locale; import static rife.bld.dependencies.Repository.*; import static rife.bld.dependencies.Scope.compile; @@ -99,10 +100,13 @@ public class CheckstyleOperationBuild extends Project { @Override public void test() throws Exception { - new ExecOperation() - .fromProject(this) - .command("scripts/cliargs.sh") - .execute(); + var os = System.getProperty("os.name"); + if (os != null && os.toLowerCase(Locale.US).contains("linux")) { + new ExecOperation() + .fromProject(this) + .command("scripts/cliargs.sh") + .execute(); + } super.test(); } } diff --git a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java index 5c3f299..0d0e1b2 100644 --- a/src/test/java/rife/bld/extension/CheckstyleOperationTest.java +++ b/src/test/java/rife/bld/extension/CheckstyleOperationTest.java @@ -19,6 +19,8 @@ package rife.bld.extension; import org.assertj.core.api.AutoCloseableSoftAssertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledOnOs; +import org.junit.jupiter.api.condition.OS; import rife.bld.BaseProject; import rife.bld.Project; import rife.bld.WebProject; @@ -65,6 +67,7 @@ class CheckstyleOperationTest { } @Test + @EnabledOnOs(OS.LINUX) void checkAllParameters() throws IOException { var args = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt")); From 610a042cedcf0a38b540b88ca60d3b720d0833f9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 12:02:45 -0700 Subject: [PATCH 106/113] Bump Checkstyle extension to version 1.0.14-SNAPSHOT --- examples/lib/bld/bld-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 715835e..84fb734 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.13 +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.14-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 From f55e0102861da70fd6f1c0bbaefa7c0866c35697 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 12:03:37 -0700 Subject: [PATCH 107/113] Enable extensions logging --- .../src/bld/java/com/example/ExamplesBuild.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index ea28912..ff88789 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -5,6 +5,9 @@ import rife.bld.BuildCommand; import rife.bld.extension.CheckstyleOperation; import java.util.List; +import java.util.logging.ConsoleHandler; +import java.util.logging.Level; +import java.util.logging.Logger; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; import static rife.bld.dependencies.Scope.*; @@ -29,6 +32,16 @@ public class ExamplesBuild extends BaseProject { } public static void main(String[] args) { + // Enable detailed logging for the extensions + var level = Level.ALL; + var logger = Logger.getLogger("rife.bld.extension"); + var consoleHandler = new ConsoleHandler(); + + consoleHandler.setLevel(level); + logger.addHandler(consoleHandler); + logger.setLevel(level); + logger.setUseParentHandlers(false); + new ExamplesBuild().start(args); } From e8c901c6c18db603da4fe2731916c219dc6bfd7b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 12:04:04 -0700 Subject: [PATCH 108/113] Add checkstyle-custom command --- examples/src/bld/java/com/example/ExamplesBuild.java | 9 ++++++++- examples/src/test/resources/checkstyle.xml | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 examples/src/test/resources/checkstyle.xml diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index ff88789..d49b966 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -45,7 +45,7 @@ public class ExamplesBuild extends BaseProject { new ExamplesBuild().start(args); } - @BuildCommand(summary = "Check code style") + @BuildCommand(summary = "Check code style using Sun coding conventions") public void checkstyle() throws Exception { new CheckstyleOperation() .fromProject(this) @@ -53,4 +53,11 @@ public class ExamplesBuild extends BaseProject { .execute(); } + @BuildCommand(value = "checkstyle-custom", summary = "Check code style using custom coding conventions") + public void checkstyleCustom() throws Exception { + new CheckstyleOperation() + .fromProject(this) + .configurationFile("src/test/resources/checkstyle.xml") + .execute(); + } } diff --git a/examples/src/test/resources/checkstyle.xml b/examples/src/test/resources/checkstyle.xml new file mode 100644 index 0000000..e601ecb --- /dev/null +++ b/examples/src/test/resources/checkstyle.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file From c9585f3a5ce10135c230b6e54f1e0fa663217817 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 12:04:32 -0700 Subject: [PATCH 109/113] Add OS matrix for Ubuntu, Windows and macOS --- .github/workflows/bld.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 138f5e5..6966bcb 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -1,14 +1,16 @@ name: bld-ci -on: [push, pull_request, workflow_dispatch] +on: [ push, pull_request, workflow_dispatch ] jobs: build-bld-project: - runs-on: ubuntu-latest - strategy: matrix: - java-version: [17, 21, 24] + java-version: [ 17, 21, 24 ] + kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ] + os: [ ubuntu-latest, windows-latest, macos-latest ] + + runs-on: ${{ matrix.os }} steps: - name: Checkout source repository @@ -22,8 +24,16 @@ jobs: distribution: "zulu" java-version: ${{ matrix.java-version }} + - name: Download dependencies [examples] + working-directory: examples + run: ./bld download + + - name: Compile and Run Checkstyle [examples] + working-directory: examples + run: ./bld compile checkstyle-custom + - name: Download dependencies run: ./bld download - name: Run tests - run: ./bld compile test + run: ./bld compile test \ No newline at end of file From ad7032d82fd66d93d256de9bfe44cb2be9d13a6a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 28 Mar 2025 12:18:53 -0700 Subject: [PATCH 110/113] Update extensions dependencies Bump Exec from 1.0.4 to 1.0.5 Bump PMD from 1.2.1 to 1.2.2 --- lib/bld/bld-wrapper.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index c5da09f..2b5c0ac 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.4 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.1 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.5 +bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.2 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 From 10f738bea88ef36c04213e2875ffc9e617bc261d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 28 Mar 2025 12:23:14 -0700 Subject: [PATCH 111/113] Version 1.0.14 --- examples/lib/bld/bld-wrapper.properties | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index 84fb734..ab1936c 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.14-SNAPSHOT +bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.14 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.sourceDirectories= bld.version=2.2.1 diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 90f78c6..3779da5 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -34,7 +34,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 14, "SNAPSHOT"); + version = version(1, 0, 14); javaRelease = 17; From ef3e35d76668cf5fa3ad6f16dd395fabf563e769 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 30 Mar 2025 10:41:18 -0700 Subject: [PATCH 112/113] Bump Checkstyle from 10.21.4 to 10.22.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8642311..2e96ddb 100644 --- a/README.md +++ b/README.md @@ -45,5 +45,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index d49b966..c9ec128 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -26,7 +26,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 3779da5..5d7f82c 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -34,7 +34,7 @@ public class CheckstyleOperationBuild extends Project { public CheckstyleOperationBuild() { pkg = "rife.bld.extension"; name = "CheckstyleOperation"; - version = version(1, 0, 14); + version = version(1, 0, 15, "SNAPSHOT"); javaRelease = 17; @@ -46,7 +46,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 21, 4))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3))); From e16a3eac76184718b3d8cc4d07ec6c652c574464 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 2 Apr 2025 10:57:02 -0700 Subject: [PATCH 113/113] Bump Checkstyle from 10.22.0 to 10.23.0 --- README.md | 2 +- examples/src/bld/java/com/example/ExamplesBuild.java | 2 +- src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2e96ddb..abf2d99 100644 --- a/README.md +++ b/README.md @@ -45,5 +45,5 @@ not provided by the extension. For example: ```java repositories = List.of(MAVEN_CENTRAL); -scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))); +scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))); ``` diff --git a/examples/src/bld/java/com/example/ExamplesBuild.java b/examples/src/bld/java/com/example/ExamplesBuild.java index c9ec128..af647ee 100644 --- a/examples/src/bld/java/com/example/ExamplesBuild.java +++ b/examples/src/bld/java/com/example/ExamplesBuild.java @@ -26,7 +26,7 @@ public class ExamplesBuild extends BaseProject { repositories = List.of(MAVEN_CENTRAL); - scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))); + scope(test).include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))); testOperation().mainClass("com.example.ExamplesTest"); } diff --git a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java index 5d7f82c..dc827f2 100644 --- a/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CheckstyleOperationBuild.java @@ -46,7 +46,7 @@ public class CheckstyleOperationBuild extends Project { scope(compile) .include(dependency("com.uwyn.rife2", "bld", version(2, 2, 1))); scope(test) - .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 22, 0))) + .include(dependency("com.puppycrawl.tools", "checkstyle", version(10, 23, 0))) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 1))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 1))) .include(dependency("org.assertj", "assertj-core", version(3, 27, 3)));