Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Produce artifacts consumable by Maven and Tycho

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

 

 

 

 

 

PNG image

PNG image


Back to the top