From 572a67a12c8f618bcca8d09dbe47a0c7f25499d5 Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Wed, 7 Jan 2026 13:25:54 +0100 Subject: [PATCH] Ensure products specifying installSources true really include sources - Move the `` configuration from the profile to the plugin management section. - Specify `` for the tycho-p2-repository-plugin and use the same install-sources property as used with `` for the tycho-p2-director-plugin. - Introduce a `single-env` profile to build only for the host environment which is useful building locally; document that in the README.md. - Remove the build-helper-maven-plugin regex-property goal because no matches are ever found because https://github.com/eclipse-tycho/tycho/pull/3725 is now fixed. - Specify the IU property org.eclipse.update.install.sources=true for all the products that specify install-sources=true so that Oomph's product catalog generator can generate an p2 director task that installs source bundles. --- README.md | 10 ++++- RELEASING.md | 2 +- .../epp.p2.inf | 3 ++ .../epp.p2.inf | 3 ++ .../epp.p2.inf | 3 ++ .../epp.p2.inf | 3 ++ releng/org.eclipse.epp.config/parent/pom.xml | 45 ++++++++++--------- 7 files changed, 46 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 52e6ab54..4a7398eb 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,14 @@ This build creates output in two places: By default the maven build runs the build for all platforms. This can be time consuming and can be changed to only build a limited number of platforms which is a useful for testing changes locally. -There is no profile (PRs welcome!) to disable other platforms. -Instead modify `releng/org.eclipse.epp.config/parent/pom.xml` to exclude the unwanted platforms in `target-platform-configuration`'s configuration. +The profile `single-env` can be used to build only for a single target. +It is actived by setting these system properties. + + mvn verify ... -Denv.os=linux -Denv.ws=gtk -Denv.arch=x86_64 + +From an [m2e](https://eclipse.dev/m2e/) launch, you can use the system properties of the host: + + ... -Denv.os=${system_property:osgi.os} -Denv.ws=${system_property:osgi.ws} -Denv.arch=${system_property:osgi.arch} ### Available Profiles diff --git a/RELEASING.md b/RELEASING.md index b380cc56..f0627025 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -112,7 +112,7 @@ Scroll down for the per-milestone/RC steps. - [ ] Make sure filenames contain expected build name and milestone, e.g., `2026-03-M1`. - [ ] Splash screen says the expected release name with no milestone, e.g., `2026-03`. - [ ] `Help -> About` says the expected build name and milestone, e.g., `2026-03-M1`. - [ ] From the `Console`, open the `Host OSGi console` and use `ss -s INSTALLED` to verify that there are no bundles failing to resolve. + - [ ] From the `Console`, open the `Host OSGi console` and use `ss -s INSTALLED` to verify that there are no bundles failing to resolve. - [ ] The `org.eclipse.epp.package.*` features and bundles have the timestamp of the forced qualifier update or later. - [ ] Upgrade from previous release works. To test the upgrade an equivalent to the simrel release composite site needs to be done. diff --git a/packages/org.eclipse.epp.package.committers.product/epp.p2.inf b/packages/org.eclipse.epp.package.committers.product/epp.p2.inf index 0687cc0a..d695c19b 100644 --- a/packages/org.eclipse.epp.package.committers.product/epp.p2.inf +++ b/packages/org.eclipse.epp.package.committers.product/epp.p2.inf @@ -6,3 +6,6 @@ properties.1.value = 2026-03 Release of the Eclipse Committers package. properties.2.name = org.eclipse.equinox.p2.provider properties.2.value = Eclipse Packaging Project + +properties.3.name = org.eclipse.update.install.sources +properties.3.value = true diff --git a/packages/org.eclipse.epp.package.dsl.product/epp.p2.inf b/packages/org.eclipse.epp.package.dsl.product/epp.p2.inf index 39ea6ac6..93423dfe 100644 --- a/packages/org.eclipse.epp.package.dsl.product/epp.p2.inf +++ b/packages/org.eclipse.epp.package.dsl.product/epp.p2.inf @@ -6,3 +6,6 @@ properties.1.value = 2026-03 Release of the Eclipse DSL Tools package. properties.2.name = org.eclipse.equinox.p2.provider properties.2.value = Eclipse Packaging Project + +properties.3.name = org.eclipse.update.install.sources +properties.3.value = true diff --git a/packages/org.eclipse.epp.package.modeling.product/epp.p2.inf b/packages/org.eclipse.epp.package.modeling.product/epp.p2.inf index 2c103ed3..13d6b5f0 100644 --- a/packages/org.eclipse.epp.package.modeling.product/epp.p2.inf +++ b/packages/org.eclipse.epp.package.modeling.product/epp.p2.inf @@ -6,3 +6,6 @@ properties.1.value = 2026-03 Release of the Eclipse Modeling Tools package. properties.2.name = org.eclipse.equinox.p2.provider properties.2.value = Eclipse Packaging Project + +properties.3.name = org.eclipse.update.install.sources +properties.3.value = true diff --git a/packages/org.eclipse.epp.package.rcp.product/epp.p2.inf b/packages/org.eclipse.epp.package.rcp.product/epp.p2.inf index 7b01266a..24bb9488 100644 --- a/packages/org.eclipse.epp.package.rcp.product/epp.p2.inf +++ b/packages/org.eclipse.epp.package.rcp.product/epp.p2.inf @@ -6,3 +6,6 @@ properties.1.value = 2026-03 Release of the Eclipse RCP/RAP Developers package. properties.2.name = org.eclipse.equinox.p2.provider properties.2.value = Eclipse Packaging Project + +properties.3.name = org.eclipse.update.install.sources +properties.3.value = true \ No newline at end of file diff --git a/releng/org.eclipse.epp.config/parent/pom.xml b/releng/org.eclipse.epp.config/parent/pom.xml index 13d0c603..f1c8f31f 100644 --- a/releng/org.eclipse.epp.config/parent/pom.xml +++ b/releng/org.eclipse.epp.config/parent/pom.xml @@ -243,6 +243,7 @@ true false + ${install-sources} @@ -305,6 +306,7 @@ + ${install-sources} tar.gz tar.gz @@ -398,9 +400,6 @@ materialize-products - - ${install-sources} - archive-products @@ -413,25 +412,31 @@ + + + + + single-env + + + env.os + + + - org.codehaus.mojo - build-helper-maven-plugin - - - regex-property - - regex-property - - - eclipse.epp.id - ${project.artifactId} - epp\.package\.(\d*) - $1 - false - - - + org.eclipse.tycho + target-platform-configuration + ${tycho.version} + + + + ${env.os} + ${env.ws} + ${env.arch} + + +