From 1bb7167abaf5e978ba9b0e0f5f53a49377a38f5e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 21 Sep 2024 12:44:55 -0700 Subject: [PATCH] Bumped bld to version 2.1.0 --- .circleci/config.yml | 61 +++++++++--------- .github/workflows/bld.yml | 20 +++--- .idea/bld.xml | 6 ++ .idea/libraries/bld.xml | 4 +- .idea/libraries/compile.xml | 4 +- .idea/libraries/runtime.xml | 4 +- .idea/libraries/test.xml | 4 +- .idea/misc.xml | 1 - .vscode/settings.json | 2 +- README.md | 2 +- lib/bld/bld-wrapper.jar | Bin 27319 -> 30440 bytes lib/bld/bld-wrapper.properties | 8 +-- pom.xml | 8 +-- .../erik/httpstatus/HttpStatusBuild.java | 46 +++++++------ 14 files changed, 87 insertions(+), 83 deletions(-) create mode 100644 .idea/bld.xml diff --git a/.circleci/config.yml b/.circleci/config.yml index caf0a50..f0fb009 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,41 +1,42 @@ -version: 2 -defaults: &defaults - working_directory: ~/repo - environment: - JVM_OPTS: -Xmx3200m - TERM: dumb - CI_NAME: "CircleCI" - -defaults_bld: &defaults_bld - steps: - - checkout - - run: - name: Download the dependencies - command: ./bld download - - run: - name: Run tests with bld - command: ./bld compile test +version: 2.1 +commands: + build_and_test: + parameters: + reports-dir: + type: string + default: "build/reports/test_results" + steps: + - checkout + - run: + name: Download dependencies + command: ./bld download + - run: + name: Compile source + command: ./bld compile + - run: + name: Run tests + command: ./bld jacoco -reports-dir=<< parameters.reports-dir >> + - store_test_results: + path: << parameters.reports-dir >> + - store_artifacts: + path: build/reports/jacoco/test/html jobs: - bld_jdk20: - <<: *defaults - - docker: - - image: cimg/openjdk:20.0 - - <<: *defaults_bld - bld_jdk17: - <<: *defaults - docker: - image: cimg/openjdk:17.0 + steps: + - build_and_test - <<: *defaults_bld + bld_jdk21: + docker: + - image: cimg/openjdk:21.0 + steps: + - build_and_test workflows: - version: 2 bld: jobs: - bld_jdk17 - - bld_jdk20 + - bld_jdk21 + diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index 45b3b77..1e81746 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest env: - COVERAGE_SDK: "17" + COVERAGE_JDK: "17" strategy: matrix: @@ -25,28 +25,28 @@ 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 - run: ./bld compile jacoco + - name: Compile source + run: ./bld compile + + - name: Run tests + run: ./bld jacoco - name: Remove pom.xml - if: success() && matrix.java-version == env.COVERAGE_SDK + if: success() && matrix.java-version == env.COVERAGE_JDK run: rm -rf pom.xml - name: SonarCloud Scan uses: sonarsource/sonarcloud-github-action@master - if: success() && matrix.java-version == env.COVERAGE_SDK + if: success() && matrix.java-version == env.COVERAGE_JDK env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 - if: success() && matrix.java-version == env.COVERAGE_SDK + if: success() && matrix.java-version == env.COVERAGE_JDK env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} 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/.idea/libraries/bld.xml b/.idea/libraries/bld.xml index a2969be..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/.idea/misc.xml b/.idea/misc.xml index 417e8e4..71f1817 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/.vscode/settings.json b/.vscode/settings.json index 51d8e7f..56041cf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,7 @@ ], "java.configuration.updateBuildConfiguration": "automatic", "java.project.referencedLibraries": [ - "${HOME}/.bld/dist/bld-1.9.1.jar", + "${HOME}/.bld/dist/bld-2.1.0.jar", "lib/**/*.jar", ] } diff --git a/README.md b/README.md index 64870d5..cf0d7bb 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![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.1.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Release](https://img.shields.io/github/release/ethauvin/httpstatus.svg)](https://github.com/ethauvin/httpstatus/releases/latest) [![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/net.thauvin.erik.httpstatus/httpstatus?label=sanpshot&server=https%3A%2F%2Foss.sonatype.org)](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/httpstatus/httpstatus/) [![Maven Central](https://img.shields.io/maven-central/v/net.thauvin.erik.httpstatus/httpstatus.svg?color=blue)](https://central.sonatype.com/artifact/net.thauvin.erik.httpstatus/httpstatus) diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index bee10dcef42b9c7ba0fab60a7b70b199f6b6a61d..f297aa43fccc5acd4e374e400d41876883abd0b3 100644 GIT binary patch delta 16612 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 delta 13494 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.0.0 net.thauvin.erik.httpstatus httpstatus - 1.1.1 + 1.1.2-SNAPSHOT HttpStatus Tag library to display the code, reason, cause and/or message for HTTP status codes in JSP error pages https://github.com/ethauvin/HttpStatus @@ -18,19 +18,19 @@ jakarta.servlet jakarta.servlet-api - 6.0.0 + 6.1.0 compile jakarta.servlet.jsp jakarta.servlet.jsp-api - 3.1.1 + 4.0.0 compile jakarta.el jakarta.el-api - 6.0.0 + 6.0.1 compile diff --git a/src/bld/java/net/thauvin/erik/httpstatus/HttpStatusBuild.java b/src/bld/java/net/thauvin/erik/httpstatus/HttpStatusBuild.java index 23993e6..ef31c0c 100644 --- a/src/bld/java/net/thauvin/erik/httpstatus/HttpStatusBuild.java +++ b/src/bld/java/net/thauvin/erik/httpstatus/HttpStatusBuild.java @@ -39,8 +39,7 @@ import rife.bld.extension.PmdOperation; import rife.bld.publish.*; import rife.tools.exceptions.FileUtilsErrorException; -import java.io.IOException; -import java.nio.file.Path; +import java.io.File; import java.util.List; import java.util.jar.Attributes; @@ -58,7 +57,7 @@ public class HttpStatusBuild extends Project { public HttpStatusBuild() { pkg = "net.thauvin.erik.httpstatus"; name = "HttpStatus"; - version = version(1, 1, 1); + version = version(1, 1, 2, "SNAPSHOT"); var description = "Tag library to display the code, reason, cause and/or message for HTTP status codes in JSP error pages"; var url = "https://github.com/ethauvin/HttpStatus"; @@ -72,13 +71,13 @@ public class HttpStatusBuild extends Project { repositories = List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS); scope(compile) - .include(dependency("jakarta.servlet", "jakarta.servlet-api", version(6, 0, 0))) - .include(dependency("jakarta.servlet.jsp", "jakarta.servlet.jsp-api", version(3, 1, 1))) - .include(dependency("jakarta.el", "jakarta.el-api", version(6, 0, 0))); + .include(dependency("jakarta.servlet", "jakarta.servlet-api", version(6, 1, 0))) + .include(dependency("jakarta.servlet.jsp", "jakarta.servlet.jsp-api", version(4, 0, 0))) + .include(dependency("jakarta.el", "jakarta.el-api", version(6, 0, 1))); scope(test) - .include(dependency("org.assertj", "assertj-core", version(3, 26, 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, 26, 3))) + .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0))); jarOperation().manifestAttribute(Attributes.Name.MAIN_CLASS, pkg + '.' + "Reasons"); @@ -92,6 +91,7 @@ public class HttpStatusBuild extends Project { .withCredentials(property("sonatype.user"), property("sonatype.password")) : repository(SONATYPE_RELEASES_LEGACY.location()) .withCredentials(property("sonatype.user"), property("sonatype.password"))) + .repository(repository("github")) .info(new PublishInfo() .groupId(pkg) .artifactId(name.toLowerCase()) @@ -99,17 +99,15 @@ public class HttpStatusBuild extends Project { .version(version) .description(description) .url(url) - .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 BSD 3-Clause License") - .url("https://opensource.org/licenses/BSD-3-Clause") + .license(new PublishLicense() + .name("The BSD 3-Clause License") + .url("https://opensource.org/licenses/BSD-3-Clause") ) .scm(new PublishScm() .connection("scm:git:" + url + ".git") @@ -124,25 +122,25 @@ public class HttpStatusBuild extends Project { } @BuildCommand(summary = "Generates JaCoCo Reports") - public void jacoco() throws IOException { + public void jacoco() throws Exception { new JacocoReportOperation() .fromProject(this) .execute(); } @BuildCommand(summary = "Runs PMD analysis") - public void pmd() { + public void pmd() throws Exception { pmdOp.execute(); } @BuildCommand(value = "pmd-cli", summary = "Runs PMD analysis (CLI)") - public void pmdCli() { + public void pmdCli() throws Exception { pmdOp.includeLineNumber(false).execute(); } private void pomRoot() throws FileUtilsErrorException { - PomBuilder.generateInto(publishOperation().info(), dependencies(), - Path.of(workDirectory.getPath(), "pom.xml").toFile()); + PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(), + new File(workDirectory, "pom.xml")); } @Override