From e4edc7d4a2d3e33a1125cc4db6f9dd8f7bcb290f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Dinis=20Ferreira?= Date: Sun, 17 May 2026 00:59:24 +0200 Subject: [PATCH 1/2] build: add ddk.skipPerModuleTests property for per-module test opt-in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce `ddk.skipPerModuleTests` (default `true`) to gate optional per-module tycho-surefire execution. With the default value no behaviour changes — the aggregator in `com.avaloq.tools.ddk.xtext.test` remains the sole point of test execution and no test runs twice. This commit only declares the property; it has no consumer yet. A follow-up commit opts the first module in by binding its surefire `` to this property. Rationale: hardcoding `false` per-module would double- execute tests on default `mvn verify` runs, because the aggregator's JUnit `@Suite` discovers the same `*TestSuite` classes via its `Require-Bundle` aggregation. Gating the standalone surefire on a property defaulting to `true` keeps CI behaviour unchanged and lets developers opt in with one CLI flag for focused iteration. Co-Authored-By: Claude Opus 4.7 --- ddk-parent/pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ddk-parent/pom.xml b/ddk-parent/pom.xml index 5ce1abb7d..11da60d8c 100644 --- a/ddk-parent/pom.xml +++ b/ddk-parent/pom.xml @@ -64,6 +64,17 @@ https://dsldevkit.github.io/dsl-devkit/p2/releases/latest/ https://dsldevkit.github.io/dsl-devkit/p2/snapshots/latest/ + + + true From 43993a4157b287d819061443b3f1caed848f8a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Dinis=20Ferreira?= Date: Sun, 17 May 2026 01:05:57 +0200 Subject: [PATCH 2/2] build: opt xtext.export.test into per-module test execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a full tycho-surefire-plugin and target-platform-configuration to `com.avaloq.tools.ddk.xtext.export.test` so its tests can run standalone via: mvn verify -pl :com.avaloq.tools.ddk.xtext.export.test -am \ -Dddk.skipPerModuleTests=false -f ./ddk-parent/pom.xml Default `mvn verify` is unchanged: the surefire `` is bound to `${ddk.skipPerModuleTests}` which defaults to `true`. The aggregator in `com.avaloq.tools.ddk.xtext.test` remains the sole executor of the export tests on CI and full-reactor dev runs, preventing any double- execution. Configuration mirrors `xtext.test`'s surefire block (UI harness, IDE workbench application, JVM args, target-platform extras for xtext.sdk, pde, help, rcp, equinox.event) with two differences: 1. `` points to `ExportTestSuite` rather than `AllTests`, so the standalone run covers only the export tests. 2. `argLine` additionally exports `jdk.incubator.vector` via `-Dorg.osgi.framework.system.packages.extra` so that `org.eclipse.help.base` (transitive on Lucene 9.12) resolves on macOS with Adoptium/Temurin JDKs. Pilot module — the pattern can be extended to other `*.test` bundles by copying this configuration and pointing `` at the corresponding `*TestSuite` class. Co-Authored-By: Claude Opus 4.7 --- .../pom.xml | 83 ++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/com.avaloq.tools.ddk.xtext.export.test/pom.xml b/com.avaloq.tools.ddk.xtext.export.test/pom.xml index 15935f52c..772d83730 100644 --- a/com.avaloq.tools.ddk.xtext.export.test/pom.xml +++ b/com.avaloq.tools.ddk.xtext.export.test/pom.xml @@ -11,4 +11,85 @@ com.avaloq.tools.ddk.xtext.export.test eclipse-test-plugin - \ No newline at end of file + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho.version} + + false + ${ddk.skipPerModuleTests} + com.avaloq.tools.ddk.xtext.test.export.ExportTestSuite + false + false + true + ${test.timeout} + + -Dorg.osgi.framework.system.packages.extra=jdk.incubator.vector -Dslf4j.internal.verbosity=ERROR -Dlogback.configurationFile="${runtime.logbackConfig}" ${test.javaOptions} + -pluginCustomization ${runtime.pluginCustomization} + ${runtime.product} + org.eclipse.ui.ide.workbench + + + p2-installable-unit + org.eclipse.platform.feature.group + + + + + + org.eclipse.tycho + target-platform-configuration + ${tycho.version} + + + + + eclipse-feature + org.eclipse.xtext.sdk + 0.0.0 + + + eclipse-feature + org.eclipse.pde + 0.0.0 + + + eclipse-feature + org.eclipse.help + 0.0.0 + + + eclipse-feature + org.eclipse.rcp + 0.0.0 + + + eclipse-plugin + org.eclipse.equinox.event + 0.0.0 + + + + + + + +