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 @@
+
+
+
+
+
+
+
+
+
+
+