That's a good point for Karaf 5 ;) (the OSGi headers/test/kwonledges ;)).

Regards
JB

On 29/09/2021 10:46, Richard Hierlmeier wrote:
The point is that the fix of issue 1616 in jsoup is sufficient for me. It does not fix the problem in jsr305, it just does not use it.
I can wait until jsoup 1.14.3 is released.

Yes, you can't fix these issues. The problem is that most artifacts do not run on OSGI primarily.
They have OSGI definitions in the manifest, but the are not really tested.
An upgrade to a newer versions ends often in fixing these issues by wrapping the artifact.

Regards

   Richard


Am Mi., 29. Sept. 2021 um 08:20 Uhr schrieb JB Onofré <j...@nanthrax.net <mailto:j...@nanthrax.net>>:

    So what’s the point in your previous email ? If the third party
    fixed their issue already that’s fine right ?

    Karaf can’t fix whole world issue ;)

    Regards
    JB

    Le 29 sept. 2021 à 08:04, Richard Hierlmeier
    <rhierlme...@googlemail.com <mailto:rhierlme...@googlemail.com>> a
    écrit :

    

    Wrapping the bundle is not necessary for my use case. The bug is
    already fixed in jsoup.
    See https://github.com/jhy/jsoup/issues/1616
    <https://github.com/jhy/jsoup/issues/1616>
    Unfortunately the release of jsoup 1.14.3  is yet not available.

    The original findbugs development is no longer active. The newer
    project is named spotbugs. It does not
    use the javax.annotation package.
    See
    https://github.com/spotbugs/spotbugs/issues/421
    <https://github.com/spotbugs/spotbugs/issues/421>


    Regards

      Richard




    Am Mi., 29. Sept. 2021 um 06:07 Uhr schrieb Jean-Baptiste Onofre
    <j...@nanthrax.net <mailto:j...@nanthrax.net>>:

        Hi Richard

        Sorry I misread the trace especially this part:

            export: osgi.wiring.package=org.atmosphere.cpr;
        uses:=javax.annotation
          com.vaadin.external.atmosphere.runtime
        [com.vaadin.external.atmosphere.runtime [141](R 141.0)]
            import: (osgi.wiring.package=javax.annotation)

        AFAIR we already discuss about google findbugs bundle that
        cause an issue (it should not export Java.annotation package
        as it’s not a spec).

        Maybe I can wrap this bundle in SMX to avoid issue in the
        future. Thoughts ?

        Regards
        JB

        > Le 28 sept. 2021 à 20:19, Richard Hierlmeier
        <rhierlme...@googlemail.com
        <mailto:rhierlme...@googlemail.com>> a écrit :
        >
        > Hi J.B,
        >
        > The javax.annotation package is exported by
        >
        > mvn:com.google.code.findbugs/jsr305/3.0.2 (dependency of jsoup)
        > and by
        > mvn:jakarta.annotation/jakarta.annotation-api/1.3.5 (from
        cxf-specs feature)
        >
        > None of them comes from Vaadin. vaadin-server has a
        dependency to jsoup that was upgraded with Vaadin 8.14.0 to
        version 1.14.2.
        > The jsr305 bundle imports to javax.annotation;version=[3.0.2,4)
        > My vaadin8osgi Bundle imports javax.annotation;version=[1.3.5,2)
        >
        > It seems that the jsr305 bundle ist the problem:
        >
        
https://stackoverflow.com/questions/64568455/why-does-findbugs-jsr305-break-osgi-package-export-of-javax-annotations-in-redha
        
<https://stackoverflow.com/questions/64568455/why-does-findbugs-jsr305-break-osgi-package-export-of-javax-annotations-in-redha>
        >
        > Richard
        >
        >
        >
        >
        > Am Di., 28. Sept. 2021 um 17:35 Uhr schrieb Jean-Baptiste
        Onofre <j...@nanthrax.net <mailto:j...@nanthrax.net>>:
        > Hi Richard,
        >
        > It seems that vaadin.annotations bundle is just wrong as it
        exports javax.annotation whereas it should not.
        >
        > You have basically three options:
        > 1. Fix vaadin.annotations ;)
        > 2. Wrap vaadin.annotations to remove the “bad” export
        > 3. Don’t use six annotation-api-1.3 and use
        vaadin.annotations instead but it means changing the core features
        >
        > Regards
        > JB
        >
        > > Le 28 sept. 2021 à 17:27, Richard Hierlmeier
        <rhierlme...@googlemail.com
        <mailto:rhierlme...@googlemail.com>> a écrit :
        > >
        > >
        > > After upgrading  the Vaadin OSGI demo to VAADIN 8.14.0 it
        tried
        > > to integrate a jax-rs resource into this application.
        > >
        > > I used the rest whiteboard examples from the Karaf 4.3.3
        distribution. It worked in a first step fine.
        > >
        > > Finally I tried to implement a JAX-RS authentication
        filter for this application.
        > >
        > > I implemented this class:
        
https://github.com/rhierlmeier/vaadin8_karaf_demo/blob/jaxrs-integration/src/main/java/de/rhierlmeier/vaadin8osgi/rest/AuthenticationFilter.java
        
<https://github.com/rhierlmeier/vaadin8_karaf_demo/blob/jaxrs-integration/src/main/java/de/rhierlmeier/vaadin8osgi/rest/AuthenticationFilter.java>
        > >
        > > I needs the javax.annotation.Priority annotation.
        > >
        > > When I start now the bundle, I get following error:
        > >
        > > Error executing command: Error executing command on bundles:
        > >         Error starting bundle 148: Uses constraint
        violation. Unable to resolve resource
        de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi [148](R
        148.2)] because it is exposed to package 'javax.annotation'
        from resources org.apache.servicemix.specs.annotation-api-1.3
        [org.apache.servicemix.specs.annotation-api-1.3 [164](R
        164.0)] and org.apache.felix.framework
        [org.apache.felix.framework [0](R 0)] via two dependency chains.
        > >
        > > Chain 1:
        > >   de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi
        [148](R 148.2)]
        > >     import:
        
(&(osgi.wiring.package=javax.annotation)(version>=1.3.0)(!(version>=2.0.0)))
        > >      |
        > >     export: osgi.wiring.package: javax.annotation
        > >   org.apache.servicemix.specs.annotation-api-1.3
        [org.apache.servicemix.specs.annotation-api-1.3 [164](R 164.0)]
        > >
        > > Chain 2:
        > >   de.rhierlmeier.vaadin8osgi [de.rhierlmeier.vaadin8osgi
        [148](R 148.2)]
        > >     import:
        
(&(osgi.wiring.package=com.vaadin.annotations)(version>=8.14.0)(!(version>=9.0.0)))
        > >      |
        > >     export: osgi.wiring.package=com.vaadin.annotations;
        uses:=org.atmosphere.cpr
        > >   com.vaadin.server [com.vaadin.server [145](R 145.0)]
        > >     import:
        (&(osgi.wiring.package=org.atmosphere.cpr)(version>=2.4.30.vaadin4))
        > >      |
        > >     export: osgi.wiring.package=org.atmosphere.cpr;
        uses:=javax.annotation
        > >   com.vaadin.external.atmosphere.runtime
        [com.vaadin.external.atmosphere.runtime [141](R 141.0)]
        > >     import: (osgi.wiring.package=javax.annotation)
        > >      |
        > >     export: osgi.wiring.package: javax.annotation
        > >   org.apache.felix.framework [org.apache.felix.framework
        [0](R 0)] Unresolved requirements:
        [[de.rhierlmeier.vaadin8osgi [148](R 148.2)]
        osgi.wiring.package;
        
(&(osgi.wiring.package=com.vaadin.annotations)(version>=8.14.0)(!(version>=9.0.0)))]
        > >
        > > How can I solve this problem?
        > >
        > > This problem can be reproduced by building and installing
        this branch:
        > >
        > >
        https://github.com/rhierlmeier/vaadin8_karaf_demo/tree/jaxrs-integration
        
<https://github.com/rhierlmeier/vaadin8_karaf_demo/tree/jaxrs-integration>
        > >
        > > Regards
        > >
        > >   Richard
        >

Reply via email to