-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove unused product definitions #1235
Remove unused product definitions #1235
Conversation
I assume (guess) that is what is used to make equinox-SDK-4.28.zip from https://download.eclipse.org/equinox/ - once upon a time https://download.eclipse.org/equinox/ was linked from https://www.eclipse.org/downloads/ (e.g. this archived version) |
62638c8
to
d51b0d0
Compare
Thanks, yes that seems to be used. Regarding eclipse-junit-tests, I have the impression that eclipse-junit-tests is the product used to run the nightly I-builds tests. So it makes sense to keep it as a product. But the rcp.config/config.product seems not to be build. It is co-located to a feature and the pom has packacking |
I am not sure about removing rcp product. Does this not used in building rcp products. |
I can confidently say
Unused:
The other two not sure about the other two |
Very true. We can definitely say which ones we know are used. 👍 It's the unknown we can't know. The Oomph product catalogs use these IUs:
I.e., these: |
At the moment this PR suggest to remove these four products:
These are definitely retained, I also see them being build.
The first three you mentioned are retained and the definitively unused one is in the list to be removed.
Which repo is this exactly? |
I generate these reports: https://download.eclipse.org/oomph/archive/reports/index.html Maybe these got added when "include all requirements" was added... Let me check an older repository... |
Here's an old report: So those have been available for quite some time... |
@merks these 6 products are there from quite some time all the way going back to 4.4. I do believe these are also generated as categories in the repositories. I am not able to find the way. |
Do you mean if one selects a product (and not an application) to run in another product definition file? |
Thanks Ed for the links.
If the products are used to define categories, we should probably better add them the known way via the category.xml But yes there seems to be a lot of magic involved. |
d51b0d0
to
deb4466
Compare
I believe the "Eclipse SDK" covers "Eclipse Platform SDK" and the "Eclipse RCP SDK" and I never recalled anyone using it or needing it for a while. It's IMO fine to try to remove those. They're more or less minimal Platform or RCP + Sources, which do not make much sense for any common use case:
I think those are remains of older times when the RCP "team" was more distinct from the Platform (JDT, PDE...) team. We're not in need of this separation any longer. The Eclipse RCP product still makes sense as a basis for RCP producers who want to start with a simple product instead of defining their own one. I would keep it a bit longer. |
+1 for removing the RCP products, even if someone is using it, it would be easy for them to update their target platform |
deb4466
to
e2e2f27
Compare
Do you mean as a template? Because I have not yet understood how one could use those products that are only defined as meta-data in a p2-repo, if they are not provided as standalone download? |
Certainly the p2 director application can create products from such things. It seems to me too that in the past, that EPP did reuse the platform's product IU. I found this bug related to that: https://bugs.eclipse.org/bugs/show_bug.cgi?id=580807 it looks like they were using p2.inf to "require" the product IU. So I think you are correct that it's not so directly easy to reuse a product IU given it's neither a bundle nor a feature... |
You can install them with p2 (and from here one can create a viable workbench product just by using p2 director in scripts to include the RCP product + a few features, no Tycho involved), or reference them as target product with Tycho. |
Thanks for the clarification. |
I used it something like 8 years ago.
I think this assumption is not always true. I also imagine some legacy projects still build with ant and p2.director tasks.
Something like wget https://download.eclipse.org/eclipse/R...../org.eclipse.rcp_linux.gtk.x86_64.tar.gz
tar xzf org.eclipse.rcp_linux.gtk.x86_64.tar.gz
eclipse/eclipse -noSplash -product org.eclipse.equinox.p2.director -repository http://my.org/myEclipsePlugin/ -installIO my.org.myEclipsePlugin is much more trivial than Tycho+Maven to assemble a working distribution. |
Another question here is whether these old things are actually maintained such that they actually work? E.g., look at the rather large difference here: I would expect that anyone build anything would be better off using the platform.product and not rcp.product. Further more, if we don't actually test that someone can build a functional product from the rcp.product then we may be worse of keeping it than deleting it. |
I think this last comment from @merks is very valid and worth being the decisive argument: if this product is not working and no-one has complained, then we can remove it. |
So what is the current status here? |
c6e2ecf
to
7e3bb41
Compare
This is merged.
Does anybody have a better idea instead of hoping that nothing needs to be adjusted manually? Is there any objection to merge this now? |
7e3bb41
to
f1b30ea
Compare
Merging would be easiest way to figure if smth breaks |
Agree. So unless somebody objects, I'll merge this at Friday evening and it can be fixed at the weekend, if something breaks, without disturbing work-day development. |
f1b30ea
to
6c2fc13
Compare
Just compared the metadata of the p2-repo build with this change and for the master and while the repo for the master (like the nightly-build repo) contains all the products located in Therefore I have high hopes that everything just works auto-magically. Furthermore the Product's with uid |
6c2fc13
to
75e49e4
Compare
Looks like this change caused the failure of tonights I-build:
I investigate and try to fix it. |
It seems to me the "platform" target and the "platformSource" target are a bit inconsistent: I would sort of expect the latter to have "source" features corresponding to the former's features. At least for this problem I would expect the latter should use org.eclipse.sdk.ide (and should have done so in the past)... |
Agree. But I wonder where the |
There are no |
This URI will help explore the file system: https://download.eclipse.org/justj/?file=eclipse/downloads/drops4/I20230915-0750/ |
... to replace the removed org.eclipse.platform.sdk Additionally remove the unused org.eclipse.platform.releng.tychoeclipsebuilder/rcp/pom.xml. From the history it looks like it was introduced as pom fro the also removed rcp.product. Follow-up on eclipse-platform#1235
... to replace the removed org.eclipse.platform.sdk Additionally remove the unused org.eclipse.platform.releng.tychoeclipsebuilder/rcp/pom.xml. From the history it looks like it was introduced as pom fro the also removed rcp.product. Follow-up on eclipse-platform#1235
... in order to replace the removed org.eclipse.platform.sdk product definition. Additionally remove the unused org.eclipse.platform.releng.tychoeclipsebuilder/rcp/pom.xml. From the history it looks like it was introduced as pom for the now also removed rcp.product. Follow-up on eclipse-platform#1235
... in order to replace the removed org.eclipse.platform.sdk product definition. Additionally remove the unused org.eclipse.platform.releng.tychoeclipsebuilder/rcp/pom.xml. From the history it looks like it was introduced as pom for the now also removed rcp.product. Follow-up on #1235
The I-build that included the changes from #1360 succeeded. Thanks to everyone that participated in this PR to help finding usages of the retained products and to investigate the failure due to this change. |
Just created eclipse-simrel/simrel.build#4 to remove the product definitions also from SimRel as last step. |
All other product definitions mentioned in #1195 (comment) seem to be used in some way.
But I have the impression that some of them are only used to build p2-repos or that the build products are not used at all.
For example
eclipse-junit-tests
is mirrored into theeclipse.platform.repository/pom.xml
. So I wonder why the content is not just directly listed ineclipse.platform.repository/category.xml
.And for example
equinox-sdk.product
orEclipseRTOSGiStarterKit.product
, they seem to be build, but does anyone know if they are used anywhere?