Use and provide up-to-date dependencies
I'm concerned about the state of release engineering for the project in terms of managing dependencies.
One aspect of some concern is the dependency on XWT, via this repository contributed repository in SimRel:
No one has bothered to update it to this repository:
Of course that content is now 1 year old and there is little activity here:
https://gitlab.eclipse.org/eclipse/xwt/org.eclipse.xwt
But then, some projects are stable and the 3rd party dependencies look reasonable.
Of more concern is release engineering of dependencies behind Papyrus itself. A new analysis tool I'm developing directed my attention to "new" Nebula/Nattable content from 2017.
The projects provide much more recent content:
- https://download.eclipse.org/nebula/updates/release/3.1.1
- https://download.eclipse.org/nattable/releases/2.5.0/repository
So I started to investigate how Papyrus populates its target platform and finally arrived here:
The 2024-06 is the first clue that maybe things are a bit behind the times. What's more distributing is the definition itself. It doesn't reference Orbit, Nebula, Natable, XWT or anything else from which newer content might be derived. Also, it's very odd is to pull org.eclipse.papyrus.sdk.feature.feature.group
into the target platform from an old version of the release train itself. And finally, there appear to be some dependencies on papyrus.marte
and papyrus.moka
in the target platform, pulled ci.eclipse.org repositories; that seems concerning but it doesn't appear that content is no contributed to SimRel. In any case, the definition is circular such that it's impossible to update dependencies with the current definition/design. This needs to be addressed for M3 and latest for RC1 or we should consider to delay participation in SimRel until this is ironed out.
Looking at the repository itself, it's a relatively small number of things that need particular attention:
You might find this information useful:
In general, please avoid including 3rd party bundles or non-project bundles in your features:
It locks in a very specific version that makes updating difficult and tends to cause duplicates.
If you need to ensure that a bundle ends up in your update site, specify it directly in the category.xml:
Or define "3rd party dependencies" feature in which you include it but don't contribute that feature to SimRel.