Uploaded image for project: 'Keycloak'
  1. Keycloak
  2. KEYCLOAK-7776

Invalid version of org.apache.http imported in KC adapter core 4.0.0.Final

    Details

    • Steps to Reproduce:
      Hide

      Running OSGI container Felix using bndrun with the following runrequires:
      org.ops4j.pax.web.pax-web-jetty-bundle
      org.apache.felix.configadmin
      org.apache.felix.webconsole
      org.ops4j.pax.web.pax-web-extender-war
      org.ops4j.pax.web.pax-web-api
      org.keycloak.keycloak-pax-web-jetty94

      Show
      Running OSGI container Felix using bndrun with the following runrequires: org.ops4j.pax.web.pax-web-jetty-bundle org.apache.felix.configadmin org.apache.felix.webconsole org.ops4j.pax.web.pax-web-extender-war org.ops4j.pax.web.pax-web-api org.keycloak.keycloak-pax-web-jetty94
    • Docs QE Status:
      NEW
    • QE Status:
      NEW

      Description

      Hello,

      I'm trying to add keycloak adapter to OSGI container Felix using bnd, but I got error when resolving dependency:

      Resolution failed. Capabilities satisfying the following requirements could not be found:
      [<<INITIAL>>]
      ⮡ osgi.identity: (osgi.identity=org.keycloak.keycloak-pax-web-jetty94)
      [org.keycloak.keycloak-pax-web-jetty94 version=4.0.0.Final]
      ⮡ osgi.wiring.package: (&(osgi.wiring.package=org.keycloak.adapters.jetty)(version>=4.0.0.Final))
      [org.keycloak.keycloak-jetty94-adapter version=4.0.0.Final]
      ⮡ osgi.wiring.package: (&(osgi.wiring.package=org.keycloak.adapters)(version>=4.0.0.Final))
      [org.keycloak.keycloak-adapter-core version=4.0.0.Final]
      ⮡ osgi.wiring.package: (&(osgi.wiring.package=org.apache.http)(version>=4.5.2))

      ​Opening up manifest of keycloak-adapter-core-4.0.0.Final.jar i found this in Import-Packages section: org.apache.http;version="4.5.2"

      As i understand org.apache.http is found in org.apache.httpcomponents:httpcore-osgi, this bundle has max version at 4.4.10 as of today on Maven central. So this requirement will never be resolved by bnd.

      I also looked at the keycloak-adapter-core-4.0.0.Final.pom and found the import of all org.apache.http.* require the same version:
      org.apache.http.*;version=${apache.httpcomponents.version},
      this is wrong because org.apache.http is provided in both apache.httpcomponents.httpclient and apache.httpcomponents.httpcore.

      Could anyone verify if this is a build issue and apply a fix?

      This issue exist in 3.4.3.Final and 4.0.0.Beta2 too

      Thank you

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ntle Nhut Thai Le
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: