diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e358e70f3..e9ae28872 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,6 @@ name: CI on: + push: pull_request: types: - opened @@ -9,17 +10,27 @@ on: - main jobs: - main: + build: runs-on: ubuntu-latest + strategy: + matrix: + build: + - java: 17 + profile: codequality + - java: 11 + profile: java11 + - java: 8 + profile: java8 + name: with Java ${{ matrix.build.java }} steps: - name: Checkout Repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - name: Set up JDK 8 + - name: Set up JDK ${{ matrix.build.java }} uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 with: - java-version: '8' + java-version: ${{ matrix.build.java }} distribution: 'temurin' cache: maven @@ -27,9 +38,9 @@ jobs: uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4 with: path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + key: ${{ runner.os }}${{ matrix.build.java }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | - ${{ runner.os }}-maven- + ${{ runner.os }}${{ matrix.build.java }}-maven- - name: Maven Verify - run: mvn --batch-mode --activate-profiles e2e clean verify + run: mvn --batch-mode --activate-profiles e2e,${{ matrix.build.profile }} clean verify diff --git a/checkstyle.xml b/checkstyle.xml index 0fc751bb0..f8ca27ad6 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -28,19 +28,23 @@ - + + + + - + - + @@ -51,27 +55,11 @@ - + - - - - - - - - - - - - - - - - @@ -98,26 +86,26 @@ + value="LITERAL_CASE, LITERAL_DEFAULT"/> - + @@ -126,7 +114,7 @@ + COMPACT_CTOR_DEF, LITERAL_SWITCH, LITERAL_CASE, LITERAL_FINALLY"/> @@ -136,8 +124,10 @@ + value="COMMA, SEMI, TYPECAST, LITERAL_IF, LITERAL_ELSE, LITERAL_RETURN, + LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, LITERAL_FINALLY, DO_WHILE, ELLIPSIS, + LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_CATCH, LAMBDA, + LITERAL_YIELD, LITERAL_CASE, LITERAL_WHEN"/> @@ -145,17 +135,17 @@ - + + TYPE_EXTENSION_AND, LITERAL_WHEN"/> @@ -319,7 +309,7 @@ - + @@ -329,8 +319,8 @@ + value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, CTOR_CALL, + SUPER_CTOR_CALL, ENUM_CONSTANT_DEF, RECORD_DEF, RECORD_PATTERN_DEF"/> + value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF, + EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW, + LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL, + METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA, + RECORD_DEF, RECORD_PATTERN_DEF"/> @@ -371,6 +362,7 @@ value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/> + diff --git a/pom.xml b/pom.xml index 39c839811..c2531e62c 100644 --- a/pom.xml +++ b/pom.xml @@ -49,16 +49,19 @@ - 1.8 - ${maven.compiler.source} + [17,) 5.11.4 UTF-8 UTF-8 ${groupId}.${artifactId} + 7.21.0 true - + + --add-opens java.base/java.util=ALL-UNNAMED + --add-opens java.base/java.lang=ALL-UNNAMED + @@ -189,21 +192,21 @@ io.cucumber cucumber-java - 7.21.0 + ${io.cucumber.version} test io.cucumber cucumber-junit-platform-engine - 7.21.0 + ${io.cucumber.version} test io.cucumber cucumber-picocontainer - 7.21.1 + ${io.cucumber.version} test @@ -218,90 +221,26 @@ - - maven-compiler-plugin - 3.13.0 - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.6.0 - - checkstyle.xml - UTF-8 - true - true - false - true - - - - com.puppycrawl.tools - checkstyle - 9.3 - - + maven-toolchains-plugin + 3.2.0 - validate - verify - check + select-jdk-toolchain - - org.apache.maven.plugins - maven-pmd-plugin - 3.26.0 - - ${basedir}/target/generated-sources/ - - - - run-pmd - verify - - check - - - - + maven-compiler-plugin + 3.13.0 - - com.github.spotbugs - spotbugs-maven-plugin - 4.8.6.6 - spotbugs-exclusions.xml - - - com.h3xstream.findsecbugs - findsecbugs-plugin - 1.13.0 - - + 8 + 8 - - - - com.github.spotbugs - spotbugs - 4.8.6 - - - - - run-spotbugs - verify - - check - - - @@ -366,6 +305,8 @@ all,-missing + + 8 @@ -437,69 +378,189 @@ ${maven.deploy.skip} - - com.diffplug.spotless - spotless-maven-plugin - 2.30.0 + org.apache.maven.plugins + maven-surefire-plugin + 3.5.2 - - - - - - - - .gitattributes - .gitignore - - - - - - true - 4 - - - - - - - - - true - 4 - - - - - - - + + + ${testExclusions} + + + @{surefireArgLine} + - - - - check - - - + - - - - surefire-java8 + codequality - - 1.8 + true + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.6.0 + + checkstyle.xml + UTF-8 + true + true + false + true + + + + com.puppycrawl.tools + checkstyle + 10.21.2 + + + + + validate + verify + + check + + + + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.26.0 + + ${basedir}/target/generated-sources/ + + + + 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 + + + + + + + + com.diffplug.spotless + spotless-maven-plugin + 2.43.0 + + + + + + + + + .gitattributes + .gitignore + + + + + + true + 4 + + + + + + + + + true + 4 + + + + + + + + + + + + check + + + + + + + + + + + + java8 + + (1.8,9) + + + + + + org.apache.maven.plugins + maven-toolchains-plugin + 3.2.0 + + + + select-jdk-toolchain + + + + org.apache.maven.plugins maven-surefire-plugin @@ -509,7 +570,7 @@ ${testExclusions} - @{surefireArgLine} + "" @@ -519,11 +580,11 @@ - surefire-java9+ - - - [1.9,) - + java11 + + + (11,12) + @@ -535,8 +596,7 @@ ${testExclusions} - @{surefireArgLine} --add-opens java.base/java.util=ALL-UNNAMED --add-opens - java.base/java.lang=ALL-UNNAMED + @{surefireArgLine} diff --git a/providers/flagd/pom.xml b/providers/flagd/pom.xml index c7679ef3a..4b54a0bee 100644 --- a/providers/flagd/pom.xml +++ b/providers/flagd/pom.xml @@ -1,6 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 dev.openfeature.contrib @@ -156,7 +157,7 @@ test - + org.slf4j slf4j-simple 2.0.16 @@ -212,14 +213,6 @@ - - com.github.spotbugs - spotbugs-maven-plugin - 4.8.6.6 - - dev.openfeature.contrib.- - - maven-resources-plugin 3.3.1 @@ -269,6 +262,24 @@ + + codequality + + true + + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.8.6.6 + + dev.openfeature.contrib.- + + + + + e2e diff --git a/providers/flagd/spec b/providers/flagd/spec index 5b0706598..8d6eeb324 160000 --- a/providers/flagd/spec +++ b/providers/flagd/spec @@ -1 +1 @@ -Subproject commit 5b070659853062262e618c74da5b640555f9ae18 +Subproject commit 8d6eeb3247600f6f66ffc92afa50ebde75b4d3ce diff --git a/providers/go-feature-flag/src/main/java/dev/openfeature/contrib/providers/gofeatureflag/GoFeatureFlagProviderOptions.java b/providers/go-feature-flag/src/main/java/dev/openfeature/contrib/providers/gofeatureflag/GoFeatureFlagProviderOptions.java index 008c1943c..0eff72ff5 100644 --- a/providers/go-feature-flag/src/main/java/dev/openfeature/contrib/providers/gofeatureflag/GoFeatureFlagProviderOptions.java +++ b/providers/go-feature-flag/src/main/java/dev/openfeature/contrib/providers/gofeatureflag/GoFeatureFlagProviderOptions.java @@ -12,7 +12,7 @@ public class GoFeatureFlagProviderOptions { /** - * (mandatory) endpoint contains the DNS of your GO Feature Flag relay proxy example: + * (mandatory) endpoint contains the DNS of your GO Feature Flag relay proxy. example: * https://mydomain.com/gofeatureflagproxy/ */ private String endpoint;