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

Include org.eclipse.equinox.slf4j in the repository #2815

Merged

Conversation

laeubi
Copy link
Contributor

@laeubi laeubi commented Feb 12, 2025

... but not in the product ...

This way it can be installed from the site but is not available by default.

@laeubi laeubi requested a review from merks February 12, 2025 09:14
@merks
Copy link
Contributor

merks commented Feb 12, 2025

I guess the license checker can't find it until it's included:

Error: Missing requirement: eclipse.platform.repository raw:4.35.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):4.35.0-SNAPSHOT requires 'org.eclipse.equinox.p2.iu; org.eclipse.equinox.slf4j 0.0.0' but it could not be found

Otherwise it seems fine. When this is merged, it would be good to kick off a I-build I think. The sooner we check that it's properly published to Maven and properly aggregated into SimRel the better...

@laeubi
Copy link
Contributor Author

laeubi commented Feb 12, 2025

Good question... I think the licence checker do not force update the submodules so it is not "visible" there unless the next ibuild would update it.

... but not in the product ...

This way it can be installed from the site but is not available by
default.
@laeubi laeubi force-pushed the add_equinox_slf4_to_updatesite branch from 1bb21ab to 264cc3d Compare February 12, 2025 09:30
@laeubi laeubi merged commit f196a2c into eclipse-platform:master Feb 12, 2025
3 of 4 checks passed
@laeubi
Copy link
Contributor Author

laeubi commented Feb 12, 2025

@HannesWell
Copy link
Member

I have the impression that adding it breaks all verification builds that use api-tools...

Error:  FrameworkEvent ERROR
org.osgi.framework.BundleException: Could not resolve module: org.bndtools.versioncontrol.ignores.manager [37]
  Unresolved requirement: Import-Package: org.bndtools.api; version="[3.1.0,4.0.0)"
    -> Export-Package: org.bndtools.api; bundle-symbolic-name="bndtools.api"; bundle-version="7.1.0.202411251545"; version="3.1.0"; uses:="aQute.bnd.build,aQute.bnd.osgi,org.eclipse.core.resources,org.eclipse.core.runtime"
       bndtools.api [15]
         Unresolved requirement: Import-Package: aQute.bnd.osgi; version="[7.2.0,8.0.0)"
           -> Export-Package: aQute.bnd.osgi; bundle-symbolic-name="biz.aQute.bndlib"; bundle-version="7.1.0.202411251545"; version="7.2.0"; uses:="aQute.bnd.classfile,aQute.bnd.exceptions,aQute.bnd.header,aQute.bnd.http,aQute.bnd.result,aQute.bnd.service,aQute.bnd.service.specifications,aQute.bnd.signatures,aQute.bnd.stream,aQute.bnd.util.dto,aQute.bnd.version,aQute.service.reporter,org.osgi.resource,org.osgi.util.promise,org.slf4j"
              biz.aQute.bndlib [9]
                Unresolved requirement: Import-Package: org.slf4j; version="[1.7.0,2.0.0)"
                  -> Export-Package: org.slf4j; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.16"; version="1.7.36"
                     slf4j.api [13]
                       Unresolved requirement: Require-Capability: osgi.serviceloader; osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider"; filter:="(osgi.serviceloader=org.slf4j.spi.SLF4JServiceProvider)"
                         -> Provide-Capability: osgi.serviceloader; osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider"; uses:="org.slf4j.spi,org.slf4j"; register:="org.eclipse.equinox.slf4j.EquinoxLoggerFactory"
                            org.eclipse.equinox.slf4j [121]
                              Unresolved requirement: Require-Bundle: org.eclipse.osgi; bundle-version="[3.23.0,4.0.0)"
                              Unresolved requirement: Import-Package: org.slf4j; version="[1.7.30,3.0.0)"
                                -> Export-Package: org.slf4j; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.16"; version="2.0.16"; uses:="org.slf4j.event,org.slf4j.helpers,org.slf4j.spi"
                              Unresolved requirement: Import-Package: org.slf4j.spi; version="[1.7.0,3.0.0)"
                                -> Export-Package: org.slf4j.spi; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.16"; version="2.0.16"; uses:="org.slf4j,org.slf4j.event,org.slf4j.helpers"
                              Unresolved requirement: Import-Package: org.slf4j.helpers; version="[1.7.0,3.0.0)"
                                -> Export-Package: org.slf4j.helpers; bundle-symbolic-name="slf4j.api"; bundle-version="2.0.16"; version="2.0.16"; uses:="org.slf4j,org.slf4j.event,org.slf4j.spi"
         Unresolved requirement: Import-Package: aQute.bnd.build; version="[4.6.0,5.0.0)"
           -> Export-Package: aQute.bnd.build; bundle-symbolic-name="biz.aQute.bndlib"; bundle-version="7.1.0.202411251545"; version="4.6.0"; uses:="aQute.bnd.build.api,aQute.bnd.exceptions,aQute.bnd.header,aQute.bnd.help.instructions,aQute.bnd.maven.support,aQute.bnd.osgi,aQute.bnd.result,aQute.bnd.service,aQute.bnd.service.action,aQute.bnd.service.progress,aQute.bnd.service.specifications,aQute.bnd.version,aQute.service.reporter,org.osgi.framework,org.osgi.resource,org.osgi.service.repository,org.osgi.util.promise"
         Unresolved requirement: Import-Package: aQute.bnd.build.model; version="[4.4.0,5.0.0)"
           -> Export-Package: aQute.bnd.build.model; bundle-symbolic-name="biz.aQute.bndlib"; bundle-version="7.1.0.202411251545"; version="4.4.0"; uses:="aQute.bnd.build,aQute.bnd.build.model.clauses,aQute.bnd.build.model.conversions,aQute.bnd.header,aQute.bnd.help.instructions,aQute.bnd.osgi,aQute.bnd.properties,aQute.bnd.version,org.osgi.resource"

@iloveeclipse
Copy link
Member

I have the impression that adding it breaks all verification builds that use api-tools...

Is this a problem of the equinox bundle or PDE or p2?

With coming M3 and RC builds we should have working API tooling. If that means reverting this PR, I'm for it for M3.

@laeubi
Copy link
Contributor Author

laeubi commented Feb 13, 2025

Is this a problem of the equinox bundle or PDE or p2?

It looks like a bug in Equinox resolver because it does not correctly wire the double export of the SLF4j bundle.

I looked at the slf4j-simple bundle and they just use 2.0 as lower bounds, I'll try the same with the equinox provider now. Another difference is that they have no uses constraint on the capability even though this problematic as it allows things to be wired to incompatible providers.

@laeubi
Copy link
Contributor Author

laeubi commented Feb 13, 2025

@laeubi
Copy link
Contributor Author

laeubi commented Feb 13, 2025

Didn't resolved the issue, completely, looks like

Unresolved requirement: Require-Bundle: org.eclipse.osgi; bundle-version="[3.23.0,4.0.0)"

is what actually make it fail now, I'll check whats the problem here...

@iloveeclipse
Copy link
Member

Interestingly, I was able to install this bundle into latest SDK build, also osgi bundle has the right version.

@laeubi
Copy link
Contributor Author

laeubi commented Feb 13, 2025

Interestingly, I was able to install this bundle into latest SDK build, also osgi bundle has the right version.

The problem is that Tycho currently uses an "older" version and for obivous reasosn one can't replace the framework itself, I now replaced it with import package here:

@laeubi
Copy link
Contributor Author

laeubi commented Feb 13, 2025

Looks like everything is working again!

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

Successfully merging this pull request may close these issues.

4 participants