Replies: 4 comments 9 replies
-
I'm not clear how this works for the SimRel Orbit user. Yesterday, anything from Orbit would be re-exported by a true SimRel content. To use anything else from Orbit required an explicit paste of an Orbit repo into the 'works-with' install dialog. Tomorrow, I understand that these re-exports should be terminated to avoid competitive duplication. Does that mean that both SimRel and Orbit will be built-in 'works-with' locations, so that 'contact all sites' works perfectly? Or does the SimRel aggregator detect all the 'Orbit misses' and automatically include all actually required Orbit content into the SimRel repo? |
Beta Was this translation helpful? Give feedback.
-
Hm. Consider a specific example. OCL needs and re-distributes LPG from Orbit. If I follow the advice and OCL stops contributing a feature including LPG (from Orbit) to SimRel, what will provide a SimRel feature referencing the Orbit. i.e if today I search for LPG in 2023-12 - https://download.eclipse.org/releases/2023-12, I find nothing. Currently it is hidden within an OCL feature. Once OCL stops re-distributing LPG, SimRel must do so, sensibly with a feature whose name includes lpg allowing users to install lpg from SimRel's LPG from Orbit rather than SimRel's OCL's LPG from Orbit. Yes, the aggregator will fail if a contribution fails to include Orbit; just the same as yesterday, but that was to reference for the LPG re-distribution. How is SimRel taking on board the need to provide the shared LPG in SimRel so that installing OCL automatically pulls in LPG from SimRel's Orbit rather than SimRel's OCL? It seems to me that: Either the aggregator synthesizes a from-Orbit feature or features to distribute each shared Orbit contribution no longer provided by regular project features. Or Orbit must be a built-in works-with imposing the additional cost of loading the Orbit index for just about any Help->Install New Software.... Otherwise the aggregator will build SimRel just fine, but any attempt to install with the basic works-with will fail. |
Beta Was this translation helpful? Give feedback.
-
I'm certainly confused. On cross-project-dev you directed questions to be here not on cross-project-dev. While, yes, my concern is not about what is in Orbit, my concern is about your sensible intent to avoid multiple re-distribution from Orbit by terminating the potentially duplicate re-distribution by each project individually. Yes, each project should continue to re-distribute from their own Update Site. Yes, LPG is once again in Orbit (thanks). But what I fail to understand is how the aggregator will ensure that SimRel takes over the responsibility to re-distribute LPG on behalf of OCL. |
Beta Was this translation helpful? Give feedback.
-
Sorry if this is not the right place, I'm not sure if this is an Orbit issue or a platform issue (or a user issue...). When updating our Trace Compass targets for 2023-12 M2, we encounter a new issue in the materialize-product stage: Cannot complete the install because one or more required items could not be found. We encountered similar issues when updating for M1, where two versions of the same bundle were available, it was picking up the latest one due to 0.0.0 in our feature.xml, but the platform was depending on a previous version, so we had to specify the older version in feature.xml (in that case, org.mortbay.jasper.apache-jsp 9.0.52). For M2 we also had to specify jakarta.annotation-api 1.3.5 (just before getting the above error). But now, if we specify jakarta.inject.jakarta.inject-api 1.0.5 in feature.xml, we get another error. It seems that the platform has a bundle with a dependency on two different versions of the same package (bundle?):
In the orbit-aggregation repository, using Repository Explorer we can find two versions of the bundle: But in our feature.xml we can only specify one version or the other of the plugin, so we can't get both. I'm not sure if we are doing things incorrectly? Also, sorry for the uninformed rant as I'm not too familiar with how these things work, but is it normal that as users of the simrel / platform we have to constantly, at every new milestone, add or update explicit dependencies in our releng for new or updated dependencies from the platform? Shouldn't the platform bundles or features come with their own dependencies already resolved? |
Beta Was this translation helpful? Give feedback.
-
The restructuring of Orbit is now complete:
The following two repositories are archived and will no longer be used to produce new content:
New Orbit content is generally maintained in one of the sub-folders here:
This aggregation site is the primary point of entry:
Orbit EBR accumulated a great deal of historical content over the years with much of it very stale and out-dated. In fact, while migrating the older EBR-driven recipes either to maven-bnd or to maven-osgi, it appeared as if a significant number of these bundles are no longer being actively used. As such, I kept an eye on what is actually used in SimRel and/or what actually appears to be used in p2 repositories on the download.eclipse.org server. As a result, there is a dramatic reduction in the content provided by Orbit via orbit-aggregation. It might not be nice to say, but being part of SimRel makes you a first class citizen when it comes to Orbit, so if you need something that appears to be missing, your needs will be prioritized accordingly.
In addition to keeping an eye on "what's actually being used", I kept an eye out for dependencies on "very old bundles" that were only produced by ancient CVS-based Orbit and never were migrated to EBR. These must go though often there need to be replacements. Some bundles are so ancient it was difficult to find source. The following repository maintains a small number of such fossilized bundles that are still necessary:
Collectively we need to wean ourselves off of the old Orbit content, i.e., anything not coming from orbit-aggregation, or directly from Maven, as soon as possible. Please don't wait for the emergency CVE alarms to go off, ensure that you have the capacity to make changes sooner, when it can be done at a leisurely pace, rather than later, when it's an emergency.
I believe that everything that everyone needs is available in orbit-aggregation. Of course I'm not perfect, so there might be something I've overlooked. Please report issues about missing content here:
That being said, first check what's available. Keep in mind that you should expect that for many of the bundles that are available directly from Maven as OSGi artifacts that they have different bundle symbolic names so you need to look carefully at the content.
The repository explorer is useful for searching for bundles with Expert Mode (underlined C button) enabled:
You might, for example look for one of the org.w3c bundles and be shocked to find it's missing!
But fear not, you don't ever actually need a bundle with a particular name, you need the packages that the bundle provides. You can search for "java.package" capabilities instead via the underlined combo:
When you double-click the package or a version, a details dialog will show you which bundle/version provides that package:
Beta Was this translation helpful? Give feedback.
All reactions