diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 6ef83234d..4016b9e1d 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -16,15 +16,14 @@ permissions:
jobs:
build:
-
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
- - name: Set up JDK 8
+ - name: Set up JDK 17
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
with:
- java-version: '8'
+ java-version: '17'
distribution: 'temurin'
cache: maven
server-id: ossrh
@@ -35,9 +34,9 @@ jobs:
uses: actions/cache@9fa7e61ec7e1f44ac75218e7aaea81da8856fd11
with:
path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ key: ${{ runner.os }}-17-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
- ${{ runner.os }}-maven-
+ ${{ runner.os }}-17-maven-
- name: Configure GPG Key
run: |
@@ -60,7 +59,7 @@ jobs:
# Add -SNAPSHOT before deploy
- name: Add SNAPSHOT
run: mvn versions:set -DnewVersion='${project.version}-SNAPSHOT'
-
+
- name: Deploy
run: |
mvn --batch-mode \
diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 70dbb28f6..3a22db334 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -7,7 +7,16 @@ permissions:
jobs:
build:
- runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ build:
+ - java: 17
+ profile: codequality
+ - java: 8
+ profile: java8
+ name: with Java ${{ matrix.build.java }}
+ runs-on: ${{ matrix.os}}
steps:
- name: Check out the code
uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
@@ -15,9 +24,9 @@ jobs:
- name: Set up JDK 8
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
with:
- java-version: '8'
- distribution: 'temurin'
- cache: maven
+ java-version: ${{ matrix.build.java }}
+ distribution: 'temurin'
+ cache: maven
- name: Initialize CodeQL
uses: github/codeql-action/init@1bb15d06a6fbb5d9d9ffd228746bf8ee208caec8
@@ -27,15 +36,16 @@ jobs:
- name: Cache local Maven repository
uses: actions/cache@9fa7e61ec7e1f44ac75218e7aaea81da8856fd11
with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
+ path: ~/.m2/repository
+ key: ${{ runner.os }}${{ matrix.build.java }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}${{ matrix.build.java }}-maven-
- name: Verify with Maven
- run: mvn --batch-mode --update-snapshots --activate-profiles e2e verify
+ run: mvn --batch-mode --update-snapshots --activate-profiles e2e,${{ matrix.build.profile }} verify
- - name: Upload coverage to Codecov
+ - if: matrix.build.java == '17'
+ name: Upload coverage to Codecov
uses: codecov/codecov-action@v5.3.1
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7342889db..3e4914478 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -23,17 +23,17 @@ jobs:
id: release
with:
token: ${{secrets.GITHUB_TOKEN}}
- default-branch: main
+ target-branch: main
# These steps are only run if this was a merged release-please PR
- name: checkout
if: ${{ steps.release.outputs.release_created }}
uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
- - name: Set up JDK 8
+ - name: Set up JDK 17
if: ${{ steps.release.outputs.release_created }}
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
with:
- java-version: '8'
+ java-version: '17'
distribution: 'temurin'
cache: maven
server-id: ossrh
@@ -54,4 +54,4 @@ jobs:
--settings release/m2-settings.xml clean deploy
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
- OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
\ No newline at end of file
+ OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
diff --git a/pom.xml b/pom.xml
index bbc1b8db7..de54a7ce3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,13 +8,19 @@
1.14.1
+ [17,)
UTF-8
1.8
${maven.compiler.source}
5.11.4
+ 7.21.1
+ 5.2.0
**/e2e/*.java
${project.groupId}.${project.artifactId}
+ false
+
+ 8
OpenFeature Java SDK
@@ -77,7 +83,7 @@
org.mockito
mockito-core
- 4.11.0
+ ${org.mockito.version}
test
@@ -126,12 +132,14 @@
io.cucumber
cucumber-java
+ ${io.cucumber.version}
test
io.cucumber
cucumber-junit-platform-engine
+ ${io.cucumber.version}
test
@@ -207,6 +215,18 @@
+
+ org.apache.maven.plugins
+ maven-toolchains-plugin
+ 3.2.0
+
+
+
+ select-jdk-toolchain
+
+
+
+
org.cyclonedx
cyclonedx-maven-plugin
@@ -233,37 +253,6 @@
-
- maven-dependency-plugin
- 3.8.1
-
-
- verify
-
- analyze
-
-
-
-
- true
-
- com.github.spotbugs:*
- org.junit*
- com.tngtech.archunit*
- org.simplify4u:slf4j2-mock*
-
-
- com.google.guava*
- io.cucumber*
- org.junit*
- com.tngtech.archunit*
- com.google.code.findbugs*
- com.github.spotbugs*
- org.simplify4u:slf4j-mock-common:*
-
-
-
-
maven-compiler-plugin
3.13.0
@@ -278,6 +267,8 @@
false
${surefireArgLine}
+ --add-opens java.base/java.util=ALL-UNNAMED
+ --add-opens java.base/java.lang=ALL-UNNAMED
@@ -297,65 +288,6 @@
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.12
-
-
-
- prepare-agent
-
- prepare-agent
-
-
-
- ${project.build.directory}/coverage-reports/jacoco-ut.exec
- surefireArgLine
-
-
-
-
- report
- verify
-
- report
-
-
-
- ${project.build.directory}/coverage-reports/jacoco-ut.exec
- ${project.reporting.outputDirectory}/jacoco-ut
-
-
-
-
- jacoco-check
-
- check
-
-
- ${project.build.directory}/coverage-reports/jacoco-ut.exec
-
- dev/openfeature/sdk/exceptions/**
-
-
-
-
- PACKAGE
-
-
- LINE
- COVEREDRATIO
- 0.80
-
-
-
-
-
-
-
-
-
org.apache.maven.plugins
@@ -370,134 +302,264 @@
-
- org.apache.maven.plugins
- maven-pmd-plugin
- 3.26.0
-
-
- run-pmd
- verify
-
- check
-
-
-
-
-
-
- com.github.spotbugs
- spotbugs-maven-plugin
- 4.8.6.6
-
- spotbugs-exclusions.xml
-
-
- com.h3xstream.findsecbugs
- findsecbugs-plugin
- 1.13.0
-
-
-
-
-
-
- com.github.spotbugs
- spotbugs
- 4.8.6
-
-
-
-
- run-spotbugs
- verify
-
- check
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 3.6.0
-
- checkstyle.xml
- UTF-8
- true
- true
- false
-
-
-
- com.puppycrawl.tools
- checkstyle
- 9.3
-
-
-
-
- validate
- validate
-
- check
-
-
-
-
-
- com.diffplug.spotless
- spotless-maven-plugin
- 2.30.0
-
-
-
-
-
-
-
-
- .gitattributes
- .gitignore
-
-
-
-
-
- true
- 4
-
-
-
-
-
-
-
-
- true
- 4
-
-
-
-
-
-
-
-
-
-
-
- check
-
-
-
-
-
+
+ codequality
+
+ true
+
+
+
+
+ maven-dependency-plugin
+ 3.8.1
+
+
+ verify
+
+ analyze
+
+
+
+
+ true
+
+ com.github.spotbugs:*
+ org.junit*
+ com.tngtech.archunit*
+ org.simplify4u:slf4j2-mock*
+
+
+ com.google.guava*
+ io.cucumber*
+ org.junit*
+ com.tngtech.archunit*
+ com.google.code.findbugs*
+ com.github.spotbugs*
+ org.simplify4u:slf4j-mock-common:*
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.12
+
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ ${project.build.directory}/coverage-reports/jacoco-ut.exec
+ surefireArgLine
+
+
+
+
+ report
+ verify
+
+ report
+
+
+
+ ${project.build.directory}/coverage-reports/jacoco-ut.exec
+ ${project.reporting.outputDirectory}/jacoco-ut
+
+
+
+
+ jacoco-check
+
+ check
+
+
+ ${project.build.directory}/coverage-reports/jacoco-ut.exec
+
+ dev/openfeature/sdk/exceptions/**
+
+
+
+
+ PACKAGE
+
+
+ LINE
+ COVEREDRATIO
+ 0.80
+
+
+
+
+
+
+
+
+
+
+ com.github.spotbugs
+ spotbugs-maven-plugin
+ 4.8.6.6
+
+ spotbugs-exclusions.xml
+
+
+ com.h3xstream.findsecbugs
+ findsecbugs-plugin
+ 1.13.0
+
+
+
+
+
+
+ com.github.spotbugs
+ spotbugs
+ 4.8.6
+
+
+
+
+ run-spotbugs
+ verify
+
+ check
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ 3.6.0
+
+ checkstyle.xml
+ true
+ true
+ false
+
+
+
+ com.puppycrawl.tools
+ checkstyle
+ 9.3
+
+
+
+
+ validate
+ validate
+
+ check
+
+
+
+
+
+ com.diffplug.spotless
+ spotless-maven-plugin
+ 2.30.0
+
+
+
+
+
+
+
+
+ .gitattributes
+ .gitignore
+
+
+
+
+
+ true
+ 4
+
+
+
+
+
+
+
+
+ true
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ check
+
+
+
+
+
+ com.diffplug.spotless
+ spotless-maven-plugin
+ 2.43.0
+
+
+
+
+
+
+
+
+ .gitattributes
+ .gitignore
+
+
+
+
+
+ true
+ 4
+
+
+
+
+
+
+
+
+ true
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ check
+
+
+
+
+
+
+
deploy
@@ -639,6 +701,77 @@
+
+
+
+ java8
+
+
+
+ (1.8,9)
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-toolchains-plugin
+ 3.2.0
+
+
+
+ select-jdk-toolchain
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.5.2
+
+
+ ${surefireArgLine}
+
+
+
+ ${testExclusions}
+
+
+ ${skip.tests}
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ 3.5.2
+
+
+ ${surefireArgLine}
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
+
+ default-testCompile
+ test-compile
+
+ testCompile
+
+
+ true
+
+
+
+
+
+
+