Christian Munier created DELTASPIKE-1472:
--------------------------------------------

             Summary: htmlunit3 dependency of deltaspike-jsf-module-impl has 
compile scope
                 Key: DELTASPIKE-1472
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1472
             Project: DeltaSpike
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: JSF-Module
    Affects Versions: 2.0.0
            Reporter: Christian Munier


Since version 2.0.0, {{deltaspike-jsf-module-impl}} has a compile dependency to 
{{htmlunit3-driver}}.

This includes a subtree of several other transitive dependencies, including 
Selenium, OpenTelemetry and Jetty Components, which are then also packaged in 
an application (e.g. WAR or EAR) that uses the DeltaSpike JSF Module.

{noformat}
+- org.apache.deltaspike.modules:deltaspike-jsf-module-impl:jar:2.0.0:runtime
   \- org.seleniumhq.selenium:htmlunit3-driver:jar:4.18.1:runtime
      +- org.seleniumhq.selenium:selenium-api:jar:4.18.1:runtime
      +- org.seleniumhq.selenium:selenium-support:jar:4.18.1:runtime
      |  +- com.google.auto.service:auto-service-annotations:jar:1.1.1:runtime
      |  +- org.seleniumhq.selenium:selenium-json:jar:4.18.1:runtime
      |  \- org.seleniumhq.selenium:selenium-remote-driver:jar:4.18.1:runtime
      |     +- 
io.opentelemetry.semconv:opentelemetry-semconv:jar:1.23.1-alpha:runtime
      |     +- io.opentelemetry:opentelemetry-api:jar:1.35.0:runtime
      |     +- io.opentelemetry:opentelemetry-context:jar:1.35.0:runtime
      |     +- 
io.opentelemetry:opentelemetry-exporter-logging:jar:1.35.0:runtime
      |     +- io.opentelemetry:opentelemetry-sdk-common:jar:1.35.0:runtime
      |     +- 
io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:jar:1.35.0:runtime
      |     +- 
io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:jar:1.35.0:runtime
      |     |  \- 
io.opentelemetry:opentelemetry-api-events:jar:1.35.0-alpha:runtime
      |     +- io.opentelemetry:opentelemetry-sdk-trace:jar:1.35.0:runtime
      |     |  \- 
io.opentelemetry:opentelemetry-extension-incubator:jar:1.35.0-alpha:runtime
      |     +- io.opentelemetry:opentelemetry-sdk:jar:1.35.0:runtime
      |     |  +- io.opentelemetry:opentelemetry-sdk-metrics:jar:1.35.0:runtime
      |     |  \- io.opentelemetry:opentelemetry-sdk-logs:jar:1.35.0:runtime
      |     +- org.seleniumhq.selenium:selenium-http:jar:4.18.1:runtime
      |     |  \- dev.failsafe:failsafe:jar:3.3.2:runtime
      |     +- org.seleniumhq.selenium:selenium-manager:jar:4.18.1:runtime
      |     \- org.seleniumhq.selenium:selenium-os:jar:4.18.1:runtime
      |        \- org.apache.commons:commons-exec:jar:1.3:runtime
      \- org.htmlunit:htmlunit:jar:3.11.0:runtime
         +- org.apache.httpcomponents:httpmime:jar:4.5.14:runtime
         |  \- org.apache.httpcomponents:httpclient:jar:4.5.14:runtime
         |     \- org.apache.httpcomponents:httpcore:jar:4.4.16:runtime
         +- org.htmlunit:htmlunit-core-js:jar:3.11.0:runtime
         +- org.htmlunit:neko-htmlunit:jar:3.11.2:runtime
         +- org.htmlunit:htmlunit-cssparser:jar:3.11.0:runtime
         +- org.htmlunit:htmlunit-xpath:jar:3.11.0:runtime
         +- org.htmlunit:htmlunit-csp:jar:3.11.0:runtime
         +- commons-io:commons-io:jar:2.15.0:runtime
         +- commons-logging:commons-logging:jar:1.3.0:runtime
         +- commons-net:commons-net:jar:3.10.0:runtime
         +- commons-codec:commons-codec:jar:1.16.1:runtime
         +- org.brotli:dec:jar:0.1.2:runtime
         \- 
org.eclipse.jetty.websocket:websocket-client:jar:9.4.53.v20231009:runtime
            +- org.eclipse.jetty:jetty-client:jar:9.4.53.v20231009:runtime
            |  \- org.eclipse.jetty:jetty-http:jar:9.4.53.v20231009:runtime
            +- org.eclipse.jetty:jetty-util:jar:9.4.53.v20231009:runtime
            +- org.eclipse.jetty:jetty-io:jar:9.4.53.v20231009:runtime
            \- 
org.eclipse.jetty.websocket:websocket-common:jar:9.4.53.v20231009:runtime
               \- 
org.eclipse.jetty.websocket:websocket-api:jar:9.4.53.v20231009:runtime
{noformat}

h3. Workaround

{{htmlunit3-driver}} and the transitive dependency tree can be exluded via 
Dependency Management or while declaring the dependency in the consumer POM.

{noformat}
<dependency>
        <artifactId>deltaspike-jsf-module-impl</artifactId>
        <scope>runtime</scope>
        <exclusions>
                <exclusion>
                        <groupId>org.seleniumhq.selenium</groupId>
                        <artifactId>htmlunit3-driver</artifactId>
                </exclusion>
        </exclusions>
</dependency>
{noformat}

h3. Proposed solution

The scope of the {{htmlunit3-driver}} dependency should be changed to {{test}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to