eclipse.platform.releng.aggregator icon indicating copy to clipboard operation
eclipse.platform.releng.aggregator copied to clipboard

[Build] Major rework eclipse products and P2-repository build

Open HannesWell opened this issue 1 month ago • 2 comments

Migrate all Eclipse Products and P2-repositories build in this repository to a default Tycho layout with one product/site per Maven module. This simplifies the configuration and hopefully enables better parallelization during the build.

This also implies the following changes

  • Remove sources from platform product
  • Unify Mac entitlements into one file
  • Stop producing dmg packages of the mac variants of the OSGi-starterkit as they are not linked in the Equinox page respectively remove not effective windows-signing via maven-antrun-plugin

This is currently an work-in-progress early draft, but I've created it already to be able to test it on the Eclipse infrastructure with full signing. TODOs:

  • [ ] Unify/clean-ups icons (who needs Solaris icons nowadays?)
  • [ ] Check PGP signing: Can we just sign the artifacts individually instead of the build products and p2-repos?
  • [ ] Complete adaption of I-build script
  • [ ] Introduce eclipse projects for products and sites

HannesWell avatar Nov 14 '25 22:11 HannesWell

  • Check PGP signing: Can we just sign the artifacts individually instead of the build products and p2-repos?

@merks and/or @laeubi can you tell if it would be simply possible to sign each project individually and just assemble the signatures together with other P2 metadata when assembling the repository? This would avoid signing for each repo and could also improve the parallelism of the signing process.

HannesWell avatar Nov 15 '25 14:11 HannesWell

I believe the associated PGP signatures propagate wherever the artifact goes, including into the artifact repository (artifacts.xml) of a product.

merks avatar Nov 15 '25 15:11 merks

This is now slowly converging to it's final state and thanks to https://github.com/eclipse-cbi/org.eclipse.cbi/pull/757, I was able to make this even simpler. In general I'm satisfied with the results: the configuration is much simpler now and easier and understand (of course there is still potential for more). The builds also run significantly faster. In an I-build the Maven build on the master currently runs between 27 and 31min and with this it runs between 16 and 20min). So this speeds up the I-build by about 10min.

The main open point for me is that currently new pgp signatures are created for the eclipse-platform and eclipse-sdk product as well as the eclipse-platform p2-repository. Performance wise, this is not really an issue as the pgp-signing process is very fast and only runs a few seconds for each of the mentioned artifacts. But I still wonder if we should have the very same signature for the same artifacts in all products and p2-repos we publish.

HannesWell avatar Nov 21 '25 22:11 HannesWell

And I also wonder if we should introduce separate projects (i.e. .project files) for the products and sites folder (like for example eclipse.platform.releng.tychoeclipsebuilder) or if it's just fine to have them in a folder of the root project of this repository?

HannesWell avatar Nov 21 '25 22:11 HannesWell