Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] Breaking change in 2.7.0?

Hi Dirk,

Tycho is a maven-plugin and only uses OSGi internally because of technical reasons.

Especially the "shared" items are hybrid items that get shared via system-packages with maven class realm.

Nerveless Tycho export packages, none of the code is "public" nor "versioned" in a special way beside what is made available as the mojos what are the "public API" of a maven plugin.

Because of that, we always encourage users to add value to Tycho instead of building custom extensions, as there is literally no resources to keep track for any "backward-compatibility" regarding unknown extensions.

The warning just tells you a possible problem in the configuration that previously was not reported and could lead to strange "process exited wiht -1" errors, it might be that the code is still wrong or does not detect all cases, the best would be to provide a integration-test to show the problem so it could be improved/fixed.

> It always creates quite some work on updating Tycho

It depends on your build structure, I always only update the version and probably use new features, but also regular test SNAPSHOTs so I can discover possible regressions *before* the release.

> and the latest version is also published in different locations

don't understand this, tycho is and was always published to maven central under the same coordinates, SNAPSHOTS are also published under a stable eclipse-maven-repository URL...

Am 05.04.22 um 08:15 schrieb Fauth Dirk (XC-ECO/ESM1) via tycho-dev:
Hi,

Well of course changing internals should not affect the versioning. But looking into the new location, it doesn't seem that this class is internal. At least from the OSGi point of view, the package is exported, and everything that is exported is is public as far  as I understand. Or am I wrong with that assumption? Then I have to rethink my whole understanding of semantic versioning and what is considered public API and private API. 😉

You are right, contributing a fix would be a third option. I am just not sure if it is worth the effort, as I first need to clarify why this plugin is actually used and if it is even necessary anymore. It always creates quite some work on updating Tycho, and the latest version is also published in different locations, which makes the maintenance quite annoying on the consumer side.

I will raise my next question on GitHub discussions. Thanks for the pointer. Just one additional question related to 2.7.0. I now get the following warning:

"Could not find the Toolchain nor JAVA_HOME, trying java from PATH instead"

But I have a toolchain.xml as well as JAVA_HOME set. And my PATH contains the JAVA_HOME\bin. Which works fine. Why do I see that warning although my system is setup the way it should? Is still anything missing on my side? Or is the check somehow incorrect?

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 20 | 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: Prof. Dr. Stefan Asenkerschbaumer; Geschäftsführung: Dr. Stefan Hartung,
Dr. Christian Fischer, Filiz Albrecht, Dr. Markus Forschner, Dr. Markus Heyn, Rolf Najork

-----Ursprüngliche Nachricht-----
Von: tycho-dev <tycho-dev-bounces@xxxxxxxxxxx> Im Auftrag von Christoph Läubrich
Gesendet: Dienstag, 5. April 2022 07:42
An: tycho-dev@xxxxxxxxxxx
Betreff: Re: [tycho-dev] Breaking change in 2.7.0?

Hi Dirk,

we also use Github Discussions[1] for Tycho so feel free to post is there if you like to reach a greater audience.

Regarding your questions:

  > There is no newer version of that plugin. So obviously the only  > solution is either to not update to 2.7.0 or to disable the plugin.

If it is open-source you could obviously propose a patch as a third alternative.

  > I’m just wondering, is that class really removed or moved?

it is located here now:

https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feclipse%2Ftycho%2Fblob%2Fmaster%2Ftycho-bundles%2Forg.eclipse.tycho.embedder.shared%2Fsrc%2Fmain%2Fjava%2Forg%2Feclipse%2Ftycho%2FBuildProperties.java&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C6ff58063a013491b2cfc08da16c70b6e%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637847341394559104%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=YD4E6Yw%2F0yA5f7kNOYZzI9aMHJmweLLG5jUNk88nXcs%3D&amp;reserved=0

  > And isn’t that a breaking change

The tycho-internals are not considered public-api, if a plugin extends tycho, it has to declare a given version according to the maven-versioning rules and will always fetch its compatible tycho version.
If you override that in your pom (e.g. forcing maven to use a never
version) you are mostly doing that on your own risk.

  > would have forced to update the MAJOR part  > of the Tycho

See [2] for the version policy, in general we consider only things that affecting Tycho users at the pom/tool level a breaking change. The rationale is, that users actually don't care if the *internals* change, e.g you won't notice that move of BuildProperties and it does not add any value, so why should you upgrade to a never version?
And in this particular case the outcome would be the same: You would have to stay at Tycho 2.5.0 or update the plugin that depends on Tycho internals.



[1] https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feclipse%2Ftycho%2Fdiscussions&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C6ff58063a013491b2cfc08da16c70b6e%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637847341394715767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=xRdJhdXjw%2Bo5%2BwAWwYUzhF4Wi85qC88O5wSDlcwIams%3D&amp;reserved=0
[2]
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feclipse%2Ftycho%2Fblob%2Fmaster%2FCONTRIBUTING.md%23increasing-versions&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C6ff58063a013491b2cfc08da16c70b6e%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637847341394715767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=W%2Bp6KAySkHs9TdMkhGLTrvab3An8kSnPouM1mEU6gVI%3D&amp;reserved=0

Am 05.04.22 um 07:00 schrieb Fauth Dirk (XC-ECO/ESM1) via tycho-dev:
Hi,

I tried to update to Tycho 2.7.0. We are using
org.jboss.tools.tycho-plugins:repository-utils in the pom.xml of the
p2 repo.

With 2.7.0 the build fails with the following exception:

Execution generate-facade of goal
org.jboss.tools.tycho-plugins:repository-utils:2.5.0:generate-reposito
ry-facade
failed: A required class was missing while executing
org.jboss.tools.tycho-plugins:repository-utils:2.5.0:generate-repository-facade:
org/eclipse/tycho/core/shared/BuildProperties

There is no newer version of that plugin. So obviously the only
solution is either to not update to 2.7.0 or to disable the plugin.

I’m just wondering, is that class really removed or moved? And isn’t
that a breaking change that would have forced to update the MAJOR part
of the Tycho version and not just the MINOR part?

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 20 | 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: Prof. Dr. Stefan Asenkerschbaumer;
Geschäftsführung: Dr. Stefan Hartung,
Dr. Christian Fischer, Filiz Albrecht, Dr. Markus Forschner, Dr.
Markus Heyn, Rolf Najork ​


_______________________________________________
tycho-dev mailing list
tycho-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Ftycho-dev&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C6ff58063a013491b2cfc08da16c70b6e%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637847341394715767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=4Pb0hb2doCYXDg%2Bn3M2jL1qjuqOJJUZqO1iUdxCKaMU%3D&amp;reserved=0
_______________________________________________
tycho-dev mailing list
tycho-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Ftycho-dev&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C6ff58063a013491b2cfc08da16c70b6e%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637847341394715767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=4Pb0hb2doCYXDg%2Bn3M2jL1qjuqOJJUZqO1iUdxCKaMU%3D&amp;reserved=0
_______________________________________________
tycho-dev mailing list
tycho-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-dev


Back to the top