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

If your maven artifacts are already "bundled" you can simply use "consider" maven dependencies in the target configuration (but they will not show up in the IDE).

https://wiki.eclipse.org/Tycho/Target_Platform#.22POM_dependencies_consider.22

Am 16.02.21 um 09:55 schrieb Ahmet Bilgin:
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 <http://www.magmasoft.de>
a.bilgin@xxxxxxxxxxxx <mailto:a.bilgin@xxxxxxxxxxxx>

------------------------------------------------------------------------
*GERMANY ● USA ● BRAZIL ● SINGAPORE ● SOUTH KOREA ● CHINA ● INDIA ● TURKEY ● CZECH REPUBLIC*

*<https://www.magmasoft.de/de/event/Die-virtuelle-Giesserei-Virtuelle-internationale-Konferenz-46.-Aachener-Giesserei-Kolloquium/?pk_campaign=Aachener-Giesserei-Kolloquium&pk_keyword=Aachener-Giesserei-Kolloquium&pk_source=Mailfooter&pk_medium=Email&pk_content=Link%20more%20Information>*

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 <www.bosch.com> Tel. +49 711 811-57819 | Telefax +49 711 811 | Dirk.Fauth@xxxxxxxxxxxx <mailto: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 3^rd -Party):

Let’s call the following modules our “core-utils”:

- Module1 (depends on)

     -- Module2

     -- Module3 (depends on)

             --- 3^rd -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 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eclipse.org%2Findex.php%3Ftitle%3DCBI%2Faggregator%26redirect%3Dno%23Creating_a_Maven-conformant_p2_repo&data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C14840969597043d0c8b508d8d1d83b46%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637490074796738580%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=6mySl2eDioRfL2BD9de2yr0uJxqmp2IWdlRozrHAPOQ%3D&reserved=0>

     -- Has Tycho this feature too?

    -- Alternative: for example something like this: https://github.com/lhein/EclipseToMavenTooling <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flhein%2FEclipseToMavenTooling&data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C14840969597043d0c8b508d8d1d83b46%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637490074796738580%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=6IX93EwWg2IOV5oVdubQvI3yxd97lMg%2FAX4LyYoWQVg%3D&reserved=0>

- 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


_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user



Back to the top