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

Sort out determination of project EEs #4552

Open
laeubi opened this issue Dec 22, 2024 · 0 comments
Open

Sort out determination of project EEs #4552

laeubi opened this issue Dec 22, 2024 · 0 comments
Milestone

Comments

@laeubi
Copy link
Member

laeubi commented Dec 22, 2024

Currently there is a quite unfortunate mixing of concerns when it comes to determine the desired EEs and as all of them effectively boil down to

  • org.eclipse.tycho.core.osgitools.AbstractTychoProject.readExecutionEnvironmentConfiguration(ReactorProject, MavenSession, ExecutionEnvironmentConfiguration)
  • org.eclipse.tycho.core.osgitools.OsgiBundleProject.readExecutionEnvironmentConfiguration(ReactorProject, MavenSession, ExecutionEnvironmentConfiguration)

there is no easy way to get things right and there are many confusing options to control behavior.

This should be reworked/harmonized in the following way (we assume that if a bundle does not define any BREE the current running JVM will be the BREE):

  1. For the target platform (dependency resolution) the EE should be the highest found including toolchains and build JVMs if not configured (e.g. in mojo configuration or target files), if there is any clash then a warning should be given and the highest configured one is used
  2. For the compilation phase (target/source levels) we should always use the BREE in the bundle, there should be an option to either ignore, warn or fail if any of the dependencies use as higher BREE as the bundle (warning is the default)
  3. For execution phase (e.g. tests) if there is an explicit configuration (e.g. in mojo configuration or target files) this should be used, otherwise the BREE of the bundle should be used. There should be an option to either ignore, warn or fail if any dependency has higher BREE (with error as default).
  4. For updatesites we should not use / publish any BREE at all if not explicitly configured.

Also we should revisit all options in this area and possibly deprecate/remove them.

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

1 participant