Dirk, thank you for the good explanation! This makes perfect sense.
As this Tycho feature is only available in the latest Tycho version, which requires Java11, I will have to switch to our migration branch (Eclipse, Tycho, Java ) to implement this. This branch will unfortunately
take some time to be delivered back to our main.
Best regards,
Ahmet
|
Ahmet Bilgin, M.Sc.
Software Development
MAGMA Gießereitechnologie GmbH
P: +49 241 88901 203
Kackertstrasse 16-18, 52072 Aachen, Germany
www.magmasoft.de
a.bilgin@xxxxxxxxxxxx
|
GERMANY ● USA ● BRAZIL ● SINGAPORE ● SOUTH KOREA ● CHINA ● INDIA ● TURKEY ● CZECH REPUBLIC
|
SAVE THE DATE! 17 - 19 March 2021 - 46th Aachen Foundry Colloquium | The virtual foundry - status and future developments | Digital Conference - Aachen, Germany
MAGMA Gießereitechnologie GmbH | Kackertstraße 16-18, 52072 Aachen, Germany | Legal form: GmbH, Register court: Aachen HRB 3912, Value added tax identification number: DE121745780 | Management:
Dr. Marc C. Schneider (CEO and President), Dr.-Ing. Jörg C. Sturm (Managing Director)
From: tycho-user [mailto:tycho-user-bounces@xxxxxxxxxxx]
On Behalf Of Fauth Dirk (XC-ECO/ESM1)
Sent: Tuesday, February 16, 2021 6:24 AM
To: Tycho user list
Subject: Re: [tycho-user] Produce artifacts consumable by Maven and Tycho
Hi,
In this scenario I would suggest to build the “core-utils” with plain Maven and use the maven-bnd-plugin to generate the OSGi metadata (MANIFEST.MF). This way your “core-utils”
can be published to a Maven repository directly as valid OSGi bundles without modifications afterwards.
Your Tycho builds can then consume the Maven artifacts directly by using the m2e PDE Extension and Tycho 2.2.
BTW, Tycho would also use the bnd tooling for generating the OSGi metadata on the fly. So you would only “win” the fact that you don’t need to call that plugin yourself. But
I personally think that if you are in control of the build artifacts, you should use the maven-bnd-plugin and publish correct OSGi bundles to a Maven repository instead of publishing plain Maven.
Mit freundlichen Grüßen / Best regards
Dirk Fauth
Cross-Domain Computing Solutions, Cross Automotive Platforms - System, Software and Tools Engineering Engineering Software Methods and Tools1 (XC-ECO/ESM1)
Robert Bosch GmbH | Postfach 30 02 40 | 70442 Stuttgart |
GERMANY | www.bosch.com
Tel. +49 711 811-57819 | Telefax +49 711 811 |
Dirk.Fauth@xxxxxxxxxxxx
Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000;
Aufsichtsratsvorsitzender: Franz Fehrenbach; Geschäftsführung: Dr. Volkmar Denner,
Prof. Dr. Stefan Asenkerschbaumer, Filiz Albrecht, Dr. Michael Bolle, Dr. Christian Fischer,
Dr. Stefan Hartung, Dr. Markus Heyn, Harald Kröger, Rolf Najork, Uwe Raschke
Von: tycho-user <tycho-user-bounces@xxxxxxxxxxx>
Im Auftrag von Ahmet Bilgin
Gesendet: Montag, 15. Februar 2021 18:36
An: tycho-user@xxxxxxxxxxx
Betreff: [tycho-user] Produce artifacts consumable by Maven and Tycho
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