Hi,
what is the current best practice to build common artifacts that are used in both Maven and Tycho builds?
Scenario:
Here is a scenario (all listed modules are build inhouse, except the one called 3rd-Party):
Let’s call the following modules our “core-utils”:
- Module1 (depends on)
-- Module2
-- Module3 (depends on)
--- 3rd-Party
-- Module4
Module1 – Module4 (“core-utils”) are all required in our Tycho RCP Build and in our Maven Builds (non-eclipse):
- tycho-rcp-build (depends on)
-- Module1
-- Module2
-- Module3
-- Module4
- maven-builds (depend on)
-- Module1
-- Module2
-- Module3
-- Module4
And now the big price question:
Which should be the leading build-system for these “core-utils” – Tycho or Maven?
Additional info: we have way more tycho rcp bundles than plain maven artifacts.
There are two options:
Option-1: Build maven-artifacts with maven
- build and install to maven repo
- Maven builds: can consume the artifacts without additional effort
- Tycho builds: use on-the-fly conversion to Tycho/osgi artifact
-- Tycho tooling for this is implemented in tycho v.2.2
-- Alternative: something like maven-bnd-plugin
-- Consume converted artifacts in tycho build
Option-2: Build tycho artifacts
- build tycho artifacts but store artifacts in Maven style repo or use some other mechanisms to make the artifacts consumable from maven builds
-- I know that the b3aggretor has this capability when mirroring P2-Repos. See
https://wiki.eclipse.org/index.php?title=CBI/aggregator&redirect=no#Creating_a_Maven-conformant_p2_repo
-- Has Tycho this feature too?
-- Alternative: for example something like this:
https://github.com/lhein/EclipseToMavenTooling
- Tycho Builds: can consume the artifacts without additional effort
- Maven-Builds: can consume the artifacts without additional effort (because the repo is structured like a maven repo, but also has p2 metainformation)
Questions:
1. Which way is preferable / which should be the leading build system for these “core-utils”?
2. Is there any downside to one of the approaches, I’m maybe missing?
Best regards,
Ahmet
SAVE THE DATE! 17 - 19 March 2021 - 46th Aachen Foundry Colloquium | The virtual foundry - status and future developments | Digital Conference - Aachen, Germany