diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml new file mode 100644 index 0000000..efeedff --- /dev/null +++ b/.github/workflows/compatibility.yml @@ -0,0 +1,49 @@ +name: Eclipse Version Compatibility + +on: + pull_request: + branches: [ master ] + paths-ignore: + - '**/*.md' + - 'LICENSE' + - '.gitignore' + - '.gitattributes' + - '.github/**' + workflow_dispatch: + +permissions: + contents: read + +jobs: + compatibility: + strategy: + fail-fast: false + matrix: + target: + - 2024-06 + - 2024-09 + - 2024-12 + - 2025-03 + - 2025-06 + - 2025-09 + - 2025-12 + - 2026-03 + runs-on: windows-latest + name: Eclipse ${{ matrix.target }} + + steps: + - uses: actions/checkout@v6 + - name: Set up JDK 21 + uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '21' + cache: 'maven' + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: '3.9.9' + - name: Build with Maven against Eclipse ${{ matrix.target }} + # Plugin is currently JavaSE-17, so 2025-03+ targets (with JavaSE-21 IUs) disable EE constraints here. + # If the plugin baseline is upgraded to JavaSE-21, this split can be removed and EE constraints can stay enabled. + run: mvn -B clean verify -ntp "-Dtarget.platform.file=targets/${{ matrix.target }}.target" "-Dtarget.resolve.with.ee.constraints=${{ startsWith(matrix.target, '2024-') && 'true' || 'false' }}" diff --git a/pom.xml b/pom.xml index ff61bbd..5b417fe 100644 --- a/pom.xml +++ b/pom.xml @@ -10,6 +10,8 @@ UTF-8 + target-platform.target + true @@ -41,8 +43,9 @@ ${tycho.version} - ../../target-platform.target + ../../${target.platform.file} + ${target.resolve.with.ee.constraints} diff --git a/target-platform.target b/target-platform.target index 51963f7..f09162b 100644 --- a/target-platform.target +++ b/target-platform.target @@ -2,10 +2,7 @@ - - - - + - \ No newline at end of file + diff --git a/targets/2024-06.target b/targets/2024-06.target new file mode 100644 index 0000000..245b521 --- /dev/null +++ b/targets/2024-06.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2024-09.target b/targets/2024-09.target new file mode 100644 index 0000000..c00fdc1 --- /dev/null +++ b/targets/2024-09.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2024-12.target b/targets/2024-12.target new file mode 100644 index 0000000..a86b7e2 --- /dev/null +++ b/targets/2024-12.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2025-03.target b/targets/2025-03.target new file mode 100644 index 0000000..5efc81f --- /dev/null +++ b/targets/2025-03.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2025-06.target b/targets/2025-06.target new file mode 100644 index 0000000..0d60b23 --- /dev/null +++ b/targets/2025-06.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2025-09.target b/targets/2025-09.target new file mode 100644 index 0000000..7683313 --- /dev/null +++ b/targets/2025-09.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2025-12.target b/targets/2025-12.target new file mode 100644 index 0000000..07a5841 --- /dev/null +++ b/targets/2025-12.target @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/targets/2026-03.target b/targets/2026-03.target new file mode 100644 index 0000000..55da276 --- /dev/null +++ b/targets/2026-03.target @@ -0,0 +1,11 @@ + + + + + + + + + + +