Skip to content
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

Are there bundles included by features that are unused? #1361

Closed
merks opened this issue Sep 16, 2023 · 8 comments
Closed

Are there bundles included by features that are unused? #1361

merks opened this issue Sep 16, 2023 · 8 comments

Comments

@merks
Copy link
Contributor

merks commented Sep 16, 2023

I did an analysis of the Platform repository, excluding all features, to see if there are IUs that are not strictly required by anything, i.e., ones with no children in the view:

image

I suspect these can be removed...

There are also these, but I think these are not present for use at runtime but rather are needed at development time, so that's okay:

image

@HannesWell
Copy link
Member

Sounds good to me.

There are also these, but I think these are not present for use at runtime but rather are needed at development time, so that's okay:

image

Yes they are used by PDE:
https://github.com/eclipse-pde/eclipse.pde/blob/b01e2c4bffc42b5aecfe6479fffd6dd9c2495f8e/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/annotations/OSGiAnnotationsClasspathContributor.java#L44-L46

@akurtakov
Copy link
Member

Is there something planned here?

@merks
Copy link
Contributor Author

merks commented Oct 23, 2023

I think these can be removed and the appear to be present purely because features include them.

image

image

image

image

So we could plan and try to remove them, though one is always concerned that something might stop working for unexpected reasons...

Looking at a one of these, it does appear that the exported packages that are potentially used are provided by alternatives, e.g., mortbay:

image

So my sense is that this is accumulated baggage and that we might be well-served to clean it up...

What do you think?

@akurtakov
Copy link
Member

akurtakov commented Oct 23, 2023

Sounds the right thing to do to me unless they are newer versions. Testing help system would be needed.

@merks
Copy link
Contributor Author

merks commented Oct 23, 2023

Looking closely at all the places to remove includes from features I found this feature:

image

It appears to be an orphan that is not needed and not used; if I cleaned it up, it would be an empty feature!

Perhaps I start the cleanup process by removing this feature...

merks added a commit to merks/equinox that referenced this issue Oct 23, 2023
This appears not to be mentioned/used anywhere.
Further it appears that the last time it was in any p2 repository was
for indigo.

eclipse-platform/eclipse.platform.releng.aggregator#1361
@merks
Copy link
Contributor Author

merks commented Oct 23, 2023

Doing some "runtime testing" I can verify that these are missing:

image

image

The last one in inconclusive because it is present, but I see this:

image

and I see that the mortbay bundle exports the necessary packages with versions that match

image

merks added a commit to eclipse-equinox/equinox that referenced this issue Oct 23, 2023
This appears not to be mentioned/used anywhere.
Further it appears that the last time it was in any p2 repository was
for indigo.

eclipse-platform/eclipse.platform.releng.aggregator#1361
@merks
Copy link
Contributor Author

merks commented Oct 23, 2023

Using some targlet magic I excluded the three bundles from the target platform and jasper bundle still compiles and the help still works:

image

merks added a commit to merks/equinox that referenced this issue Oct 23, 2023
These bundles are included by features but are not actually needed at
runtime.

eclipse-platform/eclipse.platform.releng.aggregator#1361
merks added a commit to eclipse-equinox/equinox that referenced this issue Oct 23, 2023
These bundles are included by features but are not actually needed at
runtime.

eclipse-platform/eclipse.platform.releng.aggregator#1361
merks added a commit to merks/eclipse.platform.releng.aggregator that referenced this issue Oct 23, 2023
These bundles are included by the org.eclipse.help feature but are not
actually needed at runtime.

Also remove the include of com.sun.el.javax.el from the org.eclipse.help
feature to eliminate its last 3rd party bundle include; the
org.eclipse.equinox.jsp.jasper bundle's package requirement of the
com.sun.el package is sufficient.

Remove these also from the places where the doc.isv mentions then.

And finally, remove them from the target platform itself.

eclipse-platform#1361
merks added a commit that referenced this issue Oct 23, 2023
These bundles are included by the org.eclipse.help feature but are not
actually needed at runtime.

Also remove the include of com.sun.el.javax.el from the org.eclipse.help
feature to eliminate its last 3rd party bundle include; the
org.eclipse.equinox.jsp.jasper bundle's package requirement of the
com.sun.el package is sufficient.

Remove these also from the places where the doc.isv mentions then.

And finally, remove them from the target platform itself.

#1361
@merks
Copy link
Contributor Author

merks commented Oct 23, 2023

All the removals all complete. We'll need to keep an eye on the next I-Build for regressions.

@merks merks closed this as completed Oct 23, 2023
merks added a commit to merks/eclipse.platform.releng.aggregator that referenced this issue Oct 24, 2023
Some smaller products have narrower dependencies that are satisfied by
these, even if the SDK itself doesn't need/use them.

eclipse-platform#1361
merks added a commit that referenced this issue Oct 24, 2023
Some smaller products have narrower dependencies that are satisfied by
these, even if the SDK itself doesn't need/use them.

#1361
merks added a commit to merks/eclipse.platform.releng.aggregator that referenced this issue Oct 24, 2023
merks added a commit that referenced this issue Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants