diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..ae162c64 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 15 + target-branch: master +- package-ecosystem: maven + directory: "/" + schedule: + interval: monthly + open-pull-requests-limit: 10 diff --git a/.github/project.yml b/.github/project.yml new file mode 100644 index 00000000..a0c680e2 --- /dev/null +++ b/.github/project.yml @@ -0,0 +1,4 @@ +name: Weld Parent +release: + current-version: 4.0.2.Final + next-version: 4.0.3-SNAPSHOT diff --git a/.github/release/maven-settings.xml.gpg b/.github/release/maven-settings.xml.gpg new file mode 100644 index 00000000..a0289e9a Binary files /dev/null and b/.github/release/maven-settings.xml.gpg differ diff --git a/.github/release/weld-sign.asc.gpg b/.github/release/weld-sign.asc.gpg new file mode 100644 index 00000000..4fa2d796 Binary files /dev/null and b/.github/release/weld-sign.asc.gpg differ diff --git a/.github/workflows/ci-actions.yml b/.github/workflows/ci-actions.yml index 3b205653..5acb2994 100644 --- a/.github/workflows/ci-actions.yml +++ b/.github/workflows/ci-actions.yml @@ -1,4 +1,4 @@ -name: Weld-JUnit CI +name: Weld Testing CI on: pull_request: @@ -6,7 +6,7 @@ on: jobs: build-weld-junit: - name: "Weld-JUnit build, JDK ${{matrix.java.name}}" + name: "Weld Testing build, JDK ${{matrix.java.name}}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -19,6 +19,10 @@ jobs: name: "17", java-version: 17, } + - { + name: "21", + java-version: 21, + } steps: - uses: actions/checkout@v4 - name: Set up JDK @{} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..ee871e66 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,56 @@ +name: Weld Testing Release + +on: + pull_request: + types: + - closed + paths: + - '.github/project.yml' + +jobs: + release: + name: Release + runs-on: ubuntu-latest + if: ${{github.event.pull_request.merged == true}} + env: + GITHUB_TOKEN: ${{secrets.RELEASE_TOKEN}} + steps: + - name: Retrieve project metadata + id: metadata + uses: radcortez/project-metadata-action@master + with: + github-token: ${{secrets.GITHUB_TOKEN}} + metadata-file-path: '.github/project.yml' + + - name: Checkout + uses: actions/checkout@v4 + with: + token: ${{secrets.RELEASE_TOKEN}} + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Set up Maven + uses: stCarolas/setup-maven@v4.5 + with: + maven-version: 3.8.8 + + - name: Maven release ${{steps.metadata.outputs.current-version}} + run: | + export MAVEN_OPTS="--add-opens=java.base/java.util=ALL-UNNAMED" + java -version + gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output weld-sign.asc .github/release/weld-sign.asc.gpg + gpg --quiet --batch --yes --decrypt --passphrase="${{secrets.SECRET_PASSPHRASE}}" --output maven-settings.xml .github/release/maven-settings.xml.gpg + gpg --fast-import --no-tty --batch --yes weld-sign.asc + git config --global user.name "Weld CI" + git config --global user.email "weld-dev@lists.jboss.org" + git checkout -b release + mvn release:prepare --batch-mode -Drelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -Dtag=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}} -s maven-settings.xml + git checkout ${{github.base_ref}} + git rebase release + mvn -B release:perform -Drelease -s maven-settings.xml + git push + git push --tags \ No newline at end of file diff --git a/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java b/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java index e20afc1c..8b01042a 100644 --- a/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java +++ b/junit-common/src/main/java/org/jboss/weld/junit/MockBeanWithPriority.java @@ -6,6 +6,8 @@ import jakarta.enterprise.inject.spi.Prioritized; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; + /** * A subclass of {@link MockBean} implementing {@link Prioritized} hence allowing for globally enabled alternatives. * Used instead of {@link MockBean} if user specified {@link MockBean.Builder#priority(int)}. @@ -16,6 +18,7 @@ class MockBeanWithPriority extends MockBean implements Prioritized { private final int priority; + @SuppressFBWarnings(value = "CT_CONSTRUCTOR_THROW", justification = "This is just a helper class for testing. Plus finalizer pattern is pretty much dead since deprecation in Java 9.") MockBeanWithPriority(Class beanClass, Set> stereotypes, boolean alternative, boolean selectForSyntheticBeanArchive, int priority, String name, Set qualifiers, Set types, Class scope, diff --git a/pom.xml b/pom.xml index d88823e9..e8781a72 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jboss.weld weld-parent - 47 + 50 http://weld.cdi-spec.org @@ -44,7 +44,7 @@ 5.10.0 2.1-groovy-3.0 1.8.2 - 3.0.10 + 3.0.21 5.1.2.Final 4.4.0 4.0.1 @@ -53,8 +53,8 @@ 3.1.0 2.17.2 - 4.6.0 - 4.6.0.0 + 4.8.3 + 4.8.3.1 false Low @@ -211,8 +211,6 @@ org.apache.maven.plugins maven-surefire-plugin - - 2.22.1 ${project.build.testOutputDirectory}/logging.properties @@ -222,7 +220,6 @@ org.codehaus.gmavenplus gmavenplus-plugin - 1.13.1