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

back-porting Use the actual system-packages from the JVM for Product/Site export #284 to 4.23 #624

Closed
gireeshpunathil opened this issue Jun 18, 2023 · 6 comments

Comments

@gireeshpunathil
Copy link
Contributor

Context: recently jetty bundles were upgraded in response to security findings. When this was backported to 4.23, launch / export operations (anything that involved PDE) started to fail with reason similar to: Unsatisfied import package java.io_0.0.0

steps to simulate the issue:

  • create a simple plugin project - from a template.
  • open the manifest, and add Import-Package: java.io to it
  • save it and export it (as deployable plugins)

an error as shown below appears, and the export fails.

image

I have performed git bisect to determine that this commit will fix the issue.
I see Validation error when launching child eclipse and Fix system package launch validation from last year that have gone into 4.23, but Use the actual system-packages from the JVM for Product/Site export does not look like. Unfortunately, I am unable to back-port this, as I see the pde-build repos have moved, and I see only pre-built jars and classes for the source, and I don't understand how to meaningfully back-port this.

any suggestions are appreciated!

/cc @HannesWell @vik-chand

@laeubi
Copy link
Contributor

laeubi commented Jun 18, 2023

The "Export Plugins" has always had different issues and it seems no one really maintains this., so I would recommend to use Tycho instead to build your bundles / plugins.

If you use a structured / pomless build its really easy to accomplish:
https://tycho.eclipseprojects.io/doc/master/StructuredBuild.html

@gireeshpunathil
Copy link
Contributor Author

thanks @laeubi - is this supported by the IDE? I mean, are there UI driven wizards to perform tyco builds? or this has to be done manually in the command line?

@laeubi
Copy link
Contributor

laeubi commented Jun 18, 2023

You can use m2eclipse or you can add a shortcut to the externals tools menu.

@HannesWell
Copy link
Member

You can use m2eclipse or you can add a shortcut to the externals tools menu.

While I agree with Christoph that building Plugins, Features, Products, etc. is done best with Tycho+Maven, using Tycho also requires setting up a corresponding Maven+Tycho build (i.e. at least a root pom.xml). If you have done that you can use m2e as described by Christoph to run the build.

I have performed git bisect to determine that this commit will fix the issue.
I see Validation error when launching child eclipse and Fix system package launch validation from last year that have gone into 4.23, but Use the actual system-packages from the JVM for Product/Site export does not look like.

Yes those are probably the changes to address your problem.

Unfortunately, I am unable to back-port this, as I see the pde-build repos have moved, and I see only pre-built jars and classes for the source, and I don't understand how to meaningfully back-port this.

The pde.build repo still exists: https://github.com/eclipse-pde/eclipse.pde.build
As part of the merge only the master branch has been cleared, but the repo is still active (not archived) to allow maintanance back-ports like in your case.
There is already a R4_23_maintenance branch, so you can just create a PR against that branch with the commit from this repo.

But I don't know how the maintenance branches are build, does this happen on EF-infra (I have never seen that), do you build it by yourself internally at IBM?

@gireeshpunathil
Copy link
Contributor Author

thanks @HannesWell - I will try the backport approach following your guidance.

But I don't know how the maintenance branches are build, does this happen on EF-infra (I have never seen that), do you build it by yourself internally at IBM?

Yes, we have infra to build and distribute versions internally - to meet custom LTS requirements from consumers. But we keep things only at the binary level, so there is no fork - the source is always this.

@HannesWell
Copy link
Member

I think this is now completed -> Closing.

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