serenity-bdd / serenity-core

Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun.
http://serenity-bdd.info
Other
721 stars 517 forks source link

Please add automated check for dependency problems exposed by Serenity's modules #26

Closed jeffjensen closed 9 years ago

jeffjensen commented 9 years ago

It's best for all users if each component's release enforces the limits of the deps it exposes to prevent these problems.

For example, I just upgraded to serenity-core, serenity-junit, serenity-report-resources, serenity-spring 1.0.31, and serenity-cucumber 1.0.8, and each time there is a lot of dependency cleanup we have to do to keep a tight build in our apps. This means delay on using the new versions as I fix it or push it to a future time.

This is Maven Enforcer Plugin output for this upgrade:

[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforcer) @ my-module-name ---
[WARNING]
Dependency convergence error for cglib:cglib:2.2.2 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1

[WARNING]
Dependency convergence error for org.seleniumhq.selenium:selenium-java:2.44.0 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.seleniumhq.selenium:selenium-java:2.43.1

[WARNING]
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.seleniumhq.selenium:selenium-api:2.44.0
              +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.guava:guava:17.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-spring:1.0.31
    +-com.google.guava:guava:18.0

[WARNING]
Dependency convergence error for commons-codec:commons-codec:1.9 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.apache.httpcomponents:httpclient:4.3.6
        +-commons-codec:commons-codec:1.6
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-spring:1.0.31
    +-commons-codec:commons-codec:1.9

[WARNING] Rule 4: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for com.google.code.gson:gson:2.3 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.code.gson:gson:2.3 (managed) <-- com.google.code.gson:gson:2.3.1
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.code.gson:gson:2.3 (managed) <-- com.google.code.gson:gson:2.2.4
,
Require upper bound dependencies error for cglib:cglib:2.2.2 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1
,
Require upper bound dependencies error for org.codehaus.groovy:groovy:2.3.8 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.codehaus.groovy:groovy:2.3.8 (managed) <-- org.codehaus.groovy:groovy:2.4.0
]
[WARNING] Rule 5: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for cglib:cglib:2.2.2 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1
,
Dependency convergence error for org.seleniumhq.selenium:selenium-java:2.44.0 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.seleniumhq.selenium:selenium-java:2.43.1
,
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.seleniumhq.selenium:selenium-api:2.44.0
              +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.guava:guava:17.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-com.google.guava:guava:18.0
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-spring:1.0.31
    +-com.google.guava:guava:18.0
,
Dependency convergence error for commons-codec:commons-codec:1.9 paths to dependency are:
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.apache.httpcomponents:httpclient:4.3.6
        +-commons-codec:commons-codec:1.6
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-commons-codec:commons-codec:1.9
and
+-my-group-name:my-module-name:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-spring:1.0.31
    +-commons-codec:commons-codec:1.9
]
jeffjensen commented 9 years ago

Please create a new module containing only this pom: https://gist.github.com/jeffjensen/1c9bca738ecc0752358f

and run it in a CI job as simply "mvn compile". It will fail when Serenity modules have transitive dependency issues that affect the builds using Serenity.

Fix issues in the order reported in the output as earlier ones can affect later ones.

This is the current issues output:

[WARNING] 
Dependency convergence error for org.freemarker:freemarker:2.3.21 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.freemarker:freemarker:2.3.21
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.freemarker:freemarker:2.3.19

[WARNING] 
Dependency convergence error for com.thoughtworks.xstream:xstream:1.4.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.thoughtworks.xstream:xstream:1.4.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-com.thoughtworks.xstream:xstream:1.4.5

[WARNING] 
Dependency convergence error for cglib:cglib:2.2.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1

[WARNING] 
Dependency convergence error for com.google.code.gson:gson:2.3.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.code.gson:gson:2.3.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.code.gson:gson:2.2.4

[WARNING] 
Dependency convergence error for org.hamcrest:hamcrest-core:1.3 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.hamcrest:hamcrest-library:1.3
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-junit:junit:4.11
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.hamcrest:hamcrest-core:1.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-org.hamcrest:hamcrest-core:1.3

[WARNING] 
Dependency convergence error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-junit:junit:4.11

[WARNING] 
Dependency convergence error for org.seleniumhq.selenium:selenium-java:2.44.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.seleniumhq.selenium:selenium-java:2.43.1

[WARNING] 
Dependency convergence error for org.objenesis:objenesis:2.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.objenesis:objenesis:1.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-org.objenesis:objenesis:2.1

[WARNING] 
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.seleniumhq.selenium:selenium-api:2.44.0
              +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.guava:guava:17.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-com.google.guava:guava:11.0.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-com.google.guava:guava:18.0

[WARNING] 
Dependency convergence error for xml-apis:xml-apis:1.4.01 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-dom4j:dom4j:1.6.1
        +-xml-apis:xml-apis:1.0.b2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-xml-apis:xml-apis:1.4.01

[WARNING] 
Dependency convergence error for org.apache.httpcomponents:httpclient:4.3.4 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.apache.httpcomponents:httpclient:4.3.4
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0
          +-org.apache.httpcomponents:httpclient:4.3.4
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpmime:4.3.3
        +-org.apache.httpcomponents:httpclient:4.3.3

[WARNING] Rule 4: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for cglib:cglib:2.2.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1
, 
Require upper bound dependencies error for org.apache.httpcomponents:httpclient:4.3.3 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpmime:4.3.3
        +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0
          +-org.apache.httpcomponents:httpclient:4.3.4
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.apache.httpcomponents:httpclient:4.3.4
, 
Require upper bound dependencies error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
, 
Require upper bound dependencies error for com.thoughtworks.xstream:xstream:1.4.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.thoughtworks.xstream:xstream:1.4.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-com.thoughtworks.xstream:xstream:1.4.5
]
[WARNING] Rule 5: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.freemarker:freemarker:2.3.21 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.freemarker:freemarker:2.3.21
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.freemarker:freemarker:2.3.19
, 
Dependency convergence error for com.thoughtworks.xstream:xstream:1.4.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.thoughtworks.xstream:xstream:1.4.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-com.thoughtworks.xstream:xstream:1.4.5
, 
Dependency convergence error for cglib:cglib:2.2.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-cglib:cglib:2.2.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-cglib:cglib:3.1
, 
Dependency convergence error for com.google.code.gson:gson:2.3.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.code.gson:gson:2.3.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.code.gson:gson:2.2.4
, 
Dependency convergence error for org.hamcrest:hamcrest-core:1.3 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.hamcrest:hamcrest-library:1.3
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-junit:junit:4.11
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.hamcrest:hamcrest-core:1.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-org.hamcrest:hamcrest-core:1.3
, 
Dependency convergence error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-junit:junit:4.11
, 
Dependency convergence error for org.seleniumhq.selenium:selenium-java:2.44.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.seleniumhq.selenium:selenium-java:2.43.1
, 
Dependency convergence error for org.objenesis:objenesis:2.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.objenesis:objenesis:1.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-org.objenesis:objenesis:2.1
, 
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.seleniumhq.selenium:selenium-api:2.44.0
              +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-com.google.guava:guava:17.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-com.google.guava:guava:11.0.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-com.google.guava:guava:18.0
, 
Dependency convergence error for xml-apis:xml-apis:1.4.01 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-dom4j:dom4j:1.6.1
        +-xml-apis:xml-apis:1.0.b2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.31
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.31
    +-xml-apis:xml-apis:1.4.01
, 
Dependency convergence error for org.apache.httpcomponents:httpclient:4.3.4 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-chrome-driver:2.44.0
          +-org.seleniumhq.selenium:selenium-remote-driver:2.44.0
            +-org.apache.httpcomponents:httpclient:4.3.4
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-org.seleniumhq.selenium:selenium-server:2.44.0
      +-org.seleniumhq.selenium:selenium-java:2.44.0
        +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0
          +-org.apache.httpcomponents:httpclient:4.3.4
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-io.appium:java-client:2.1.0
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpclient:4.3.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.31
    +-net.sourceforge.htmlunit:htmlunit:2.15
      +-org.apache.httpcomponents:httpmime:4.3.3
        +-org.apache.httpcomponents:httpclient:4.3.3
]
[WARNING] Rule 6: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: commons-logging:commons-logging:jar:1.1.3
Use 'mvn dependency:tree' to locate the source of the banned dependencies.
[WARNING] Rule 7: org.apache.maven.plugins.enforcer.BanTransitiveDependencies failed with message:
net.serenity-bdd:serenity-dependency-enforcer:jar:1.0.0-SNAPSHOT
   net.serenity-bdd:core:jar:1.0.31:compile has transitive dependencies:
      com.google.guava:guava:jar:18.0:compile
      com.google.inject:guice:jar:3.0:compile
         javax.inject:javax.inject:jar:1:compile
         aopalliance:aopalliance:jar:1.0:compile
      commons-codec:commons-codec:jar:1.9:compile
      org.objenesis:objenesis:jar:2.1:compile
      org.slf4j:slf4j-api:jar:1.7.5:compile
      xml-apis:xml-apis:jar:1.4.01:compile
      commons-logging:commons-logging:jar:1.1.3:compile
      com.google.code.gson:gson:jar:2.3.1:compile
      cglib:cglib:jar:2.2.2:compile
      commons-io:commons-io:jar:2.4:compile
      com.opera:operadriver:jar:1.5:compile
         com.opera:operalaunchers:jar:1.1:compile
         com.google.protobuf:protobuf-java:jar:2.4.1:compile
         commons-jxpath:commons-jxpath:jar:1.3:compile
         org.apache.commons:commons-exec:jar:1.1:compile
         org.ini4j:ini4j:jar:0.5.2:compile
      org.seleniumhq.selenium:selenium-server:jar:2.44.0:compile
         org.bouncycastle:bcprov-jdk15on:jar:1.48:compile
         org.bouncycastle:bcpkix-jdk15on:jar:1.48:compile
         mx4j:mx4j-tools:jar:3.0.1:compile
         org.mortbay.jetty:servlet-api-2.5:jar:6.1.9:compile
         org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:compile
         org.seleniumhq.selenium:jetty-rc-repacked:jar:5:compile
         net.jcip:jcip-annotations:jar:1.0:compile
         org.seleniumhq.selenium:selenium-java:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-chrome-driver:jar:2.44.0:compile
               org.seleniumhq.selenium:selenium-remote-driver:jar:2.44.0:compile
                  org.seleniumhq.selenium:selenium-api:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-firefox-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-ie-driver:jar:2.44.0:compile
               net.java.dev.jna:jna:jar:3.4.0:compile
               net.java.dev.jna:platform:jar:3.4.0:compile
            org.seleniumhq.selenium:selenium-safari-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-support:jar:2.44.0:compile
            org.webbitserver:webbit:jar:0.4.14:compile
               io.netty:netty:jar:3.5.2.Final:compile
         org.yaml:snakeyaml:jar:1.8:compile
      com.github.detro:phantomjsdriver:jar:1.2.0:compile
      io.appium:java-client:jar:2.1.0:compile
         org.apache.httpcomponents:httpclient:jar:4.3.3:compile
            org.apache.httpcomponents:httpcore:jar:4.3.2:compile
      org.codehaus.groovy:groovy:jar:2.4.0:compile
      net.sf.opencsv:opencsv:jar:2.0:compile
      commons-beanutils:commons-beanutils-core:jar:1.8.3:compile
      com.googlecode.lambdaj:lambdaj:jar:2.3.3:compile
      joda-time:joda-time:jar:2.2:compile
      com.thoughtworks.xstream:xstream:jar:1.4.1:compile
         xmlpull:xmlpull:jar:1.1.3.1:compile
         xpp3:xpp3_min:jar:1.1.4c:compile
      org.apache.commons:commons-lang3:jar:3.3.2:compile
      commons-collections:commons-collections:jar:3.2.1:compile
      org.freemarker:freemarker:jar:2.3.21:compile
      net.sourceforge.jexcelapi:jxl:jar:2.6.12:compile
      asm:asm:jar:3.3.1:compile
      org.hamcrest:hamcrest-core:jar:1.3:compile
      org.hamcrest:hamcrest-library:jar:1.3:compile
      net.sourceforge.htmlunit:htmlunit:jar:2.15:compile
         xalan:xalan:jar:2.7.1:compile
            xalan:serializer:jar:2.7.1:compile
         org.apache.httpcomponents:httpmime:jar:4.3.3:compile
         net.sourceforge.htmlunit:htmlunit-core-js:jar:2.15:compile
         xerces:xercesImpl:jar:2.11.0:compile
         net.sourceforge.nekohtml:nekohtml:jar:1.9.21:compile
         net.sourceforge.cssparser:cssparser:jar:0.9.14:compile
            org.w3c.css:sac:jar:1.3:compile
         org.eclipse.jetty:jetty-websocket:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-io:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-http:jar:8.1.15.v20140411:compile
      org.fluentlenium:fluentlenium-core:jar:0.10.2:compile
      com.jhlabs:filters:jar:2.0.235:compile
      org.asciidoctor:asciidoctor-java-integration:jar:0.1.3:compile
         org.jruby:jruby-complete:jar:1.7.4:compile
         com.beust:jcommander:jar:1.30:compile
      junit:junit:jar:4.11:compile
      javax.validation:validation-api:jar:1.1.0.Final:compile
      org.hibernate:hibernate-validator:jar:5.1.1.Final:compile
         org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
         com.fasterxml:classmate:jar:1.0.0:compile
      javax.el:javax.el-api:jar:2.2.4:compile
      org.glassfish.web:javax.el:jar:2.2.4:compile
   net.serenity-bdd:serenity-cucumber:jar:1.0.8:compile has transitive dependencies:
      info.cukes:cucumber-java:jar:1.2.2:compile
         info.cukes:cucumber-core:jar:1.2.2:compile
            info.cukes:cucumber-html:jar:0.2.3:compile
            info.cukes:cucumber-jvm-deps:jar:1.0.3:compile
            info.cukes:gherkin:jar:2.12.2:compile
      info.cukes:cucumber-junit:jar:1.2.2:compile
   net.serenity-bdd:serenity-jbehave:jar:1.0.15:compile has transitive dependencies:
      de.codecentric:jbehave-junit-runner:jar:1.1.0:compile
         org.mockito:mockito-core:jar:1.9.0:compile
      org.jbehave:jbehave-core:jar:3.9.5:compile
         org.hamcrest:hamcrest-integration:jar:1.3:compile
         commons-lang:commons-lang:jar:2.6:compile
         org.codehaus.plexus:plexus-utils:jar:3.0.10:compile
         com.thoughtworks.paranamer:paranamer:jar:2.4:compile
      org.codehaus.groovy:groovy-all:jar:2.3.3:compile
      org.reflections:reflections:jar:0.9.8:compile
         javassist:javassist:jar:3.12.1.GA:compile
         dom4j:dom4j:jar:1.6.1:compile

[WARNING] Rule 9: org.apache.maven.plugins.enforcer.BanDuplicateClasses failed with message:
Duplicate classes found:

(duplicate classes output snipped for space)
wakaleo commented 9 years ago

The dependency convergence issues should be fixed in 1.0.35, and the gradle build will now fail if it detects convergence issues. Still need to investigate the duplicated classes.

jeffjensen commented 9 years ago

Thank you for working on it! (we really want to upgrade to the latest but can't make time yet to clean all this up).

The dupe classes almost always "disappear" when have resolved all dependency convergence issues.

Regretfully, there is more to do. The POM from the gist in prior comment has this output for these versions:

<serenityCucumberVersion>1.0.8</serenityCucumberVersion>
<serenityJbehaveVersion>1.0.15</serenityJbehaveVersion>
<serenityVersion>1.0.35</serenityVersion>
[WARNING] 
Dependency convergence error for org.freemarker:freemarker:2.3.21 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.freemarker:freemarker:2.3.21
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.freemarker:freemarker:2.3.19

[WARNING] 
Dependency convergence error for org.hamcrest:hamcrest-core:1.3 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.hamcrest:hamcrest-library:1.3
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-junit:junit:4.11
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.hamcrest:hamcrest-core:1.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.hamcrest:hamcrest-core:1.3

[WARNING] 
Dependency convergence error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-junit:junit:4.11

[WARNING] 
Dependency convergence error for org.objenesis:objenesis:2.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.objenesis:objenesis:1.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-org.objenesis:objenesis:2.1

[WARNING] 
Dependency convergence error for org.ow2.asm:asm:4.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-cglib:cglib:3.1
      +-org.ow2.asm:asm:4.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-org.ow2.asm:asm:5.0.3

[WARNING] 
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-com.google.guava:guava:11.0.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-com.google.guava:guava:18.0

[WARNING] 
Dependency convergence error for xml-apis:xml-apis:1.4.01 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-dom4j:dom4j:1.6.1
        +-xml-apis:xml-apis:1.0.b2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-xml-apis:xml-apis:1.4.01

[WARNING] Rule 4: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
]
[WARNING] Rule 5: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.freemarker:freemarker:2.3.21 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.freemarker:freemarker:2.3.21
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.freemarker:freemarker:2.3.19
, 
Dependency convergence error for org.hamcrest:hamcrest-core:1.3 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.hamcrest:hamcrest-library:1.3
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-junit:junit:4.11
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.hamcrest:hamcrest-core:1.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-org.hamcrest:hamcrest-core:1.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.hamcrest:hamcrest-core:1.3
, 
Dependency convergence error for junit:junit:4.11 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-io.appium:java-client:2.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-info.cukes:cucumber-junit:1.2.2
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-cucumber:1.0.8
    +-junit:junit:4.12
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.jbehave:jbehave-core:3.9.5
      +-junit:junit:4.11
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-junit:junit:4.11
, 
Dependency convergence error for org.objenesis:objenesis:2.1 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-de.codecentric:jbehave-junit-runner:1.1.0
      +-org.mockito:mockito-core:1.9.0
        +-org.objenesis:objenesis:1.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.objenesis:objenesis:2.1
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-org.objenesis:objenesis:2.1
, 
Dependency convergence error for org.ow2.asm:asm:4.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-cglib:cglib:3.1
      +-org.ow2.asm:asm:4.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-org.ow2.asm:asm:5.0.3
, 
Dependency convergence error for com.google.guava:guava:18.0 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-com.google.guava:guava:11.0.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-com.google.guava:guava:18.0
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-com.google.guava:guava:18.0
, 
Dependency convergence error for xml-apis:xml-apis:1.4.01 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.35
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-jbehave:1.0.15
    +-org.reflections:reflections:0.9.8
      +-dom4j:dom4j:1.6.1
        +-xml-apis:xml-apis:1.0.b2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.35
    +-xml-apis:xml-apis:1.4.01
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.35
    +-xml-apis:xml-apis:1.4.01
]
[WARNING] Rule 6: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: commons-logging:commons-logging:jar:1.2
Use 'mvn dependency:tree' to locate the source of the banned dependencies.
[WARNING] Rule 7: org.apache.maven.plugins.enforcer.BanTransitiveDependencies failed with message:
net.serenity-bdd:serenity-dependency-enforcer:jar:1.0.0-SNAPSHOT
   net.serenity-bdd:core:jar:1.0.35:compile has transitive dependencies:
      com.google.guava:guava:jar:18.0:compile
      com.google.inject:guice:jar:3.0:compile
         javax.inject:javax.inject:jar:1:compile
         aopalliance:aopalliance:jar:1.0:compile
      cglib:cglib:jar:3.1:compile
      org.ow2.asm:asm:jar:5.0.3:compile
      commons-codec:commons-codec:jar:1.9:compile
      org.objenesis:objenesis:jar:2.1:compile
      org.slf4j:slf4j-api:jar:1.7.7:compile
      xml-apis:xml-apis:jar:1.4.01:compile
      commons-logging:commons-logging:jar:1.2:compile
      com.google.code.gson:gson:jar:2.3.1:compile
      commons-io:commons-io:jar:2.4:compile
      org.apache.httpcomponents:httpclient:jar:4.4:compile
         org.apache.httpcomponents:httpcore:jar:4.4:compile
      com.opera:operadriver:jar:1.5:compile
         com.opera:operalaunchers:jar:1.1:compile
         com.google.protobuf:protobuf-java:jar:2.4.1:compile
         commons-jxpath:commons-jxpath:jar:1.3:compile
         org.apache.commons:commons-exec:jar:1.1:compile
         org.ini4j:ini4j:jar:0.5.2:compile
      org.seleniumhq.selenium:selenium-server:jar:2.44.0:compile
         org.bouncycastle:bcprov-jdk15on:jar:1.48:compile
         org.bouncycastle:bcpkix-jdk15on:jar:1.48:compile
         mx4j:mx4j-tools:jar:3.0.1:compile
         org.mortbay.jetty:servlet-api-2.5:jar:6.1.9:compile
         org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:compile
         org.seleniumhq.selenium:jetty-rc-repacked:jar:5:compile
         net.jcip:jcip-annotations:jar:1.0:compile
         org.seleniumhq.selenium:selenium-java:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-chrome-driver:jar:2.44.0:compile
               org.seleniumhq.selenium:selenium-remote-driver:jar:2.44.0:compile
                  org.seleniumhq.selenium:selenium-api:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-firefox-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-ie-driver:jar:2.44.0:compile
               net.java.dev.jna:jna:jar:3.4.0:compile
               net.java.dev.jna:platform:jar:3.4.0:compile
            org.seleniumhq.selenium:selenium-safari-driver:jar:2.44.0:compile
            org.seleniumhq.selenium:selenium-support:jar:2.44.0:compile
            org.webbitserver:webbit:jar:0.4.14:compile
               io.netty:netty:jar:3.5.2.Final:compile
         org.yaml:snakeyaml:jar:1.8:compile
      com.github.detro:phantomjsdriver:jar:1.2.0:compile
      io.appium:java-client:jar:2.1.0:compile
      org.codehaus.groovy:groovy:jar:2.4.0:compile
      net.sf.opencsv:opencsv:jar:2.0:compile
      commons-beanutils:commons-beanutils-core:jar:1.8.3:compile
      com.googlecode.lambdaj:lambdaj:jar:2.3.3:compile
      joda-time:joda-time:jar:2.2:compile
      com.thoughtworks.xstream:xstream:jar:1.4.5:compile
         xmlpull:xmlpull:jar:1.1.3.1:compile
         xpp3:xpp3_min:jar:1.1.4c:compile
      org.apache.commons:commons-lang3:jar:3.3.2:compile
      commons-collections:commons-collections:jar:3.2.1:compile
      org.freemarker:freemarker:jar:2.3.21:compile
      net.sourceforge.jexcelapi:jxl:jar:2.6.12:compile
      org.hamcrest:hamcrest-core:jar:1.3:compile
      org.hamcrest:hamcrest-library:jar:1.3:compile
      net.sourceforge.htmlunit:htmlunit:jar:2.15:compile
         xalan:xalan:jar:2.7.1:compile
            xalan:serializer:jar:2.7.1:compile
         org.apache.httpcomponents:httpmime:jar:4.3.3:compile
         net.sourceforge.htmlunit:htmlunit-core-js:jar:2.15:compile
         xerces:xercesImpl:jar:2.11.0:compile
         net.sourceforge.nekohtml:nekohtml:jar:1.9.21:compile
         net.sourceforge.cssparser:cssparser:jar:0.9.14:compile
            org.w3c.css:sac:jar:1.3:compile
         org.eclipse.jetty:jetty-websocket:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-io:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-http:jar:8.1.15.v20140411:compile
      org.fluentlenium:fluentlenium-core:jar:0.10.2:compile
      com.jhlabs:filters:jar:2.0.235:compile
      org.asciidoctor:asciidoctor-java-integration:jar:0.1.3:compile
         org.jruby:jruby-complete:jar:1.7.4:compile
         com.beust:jcommander:jar:1.30:compile
      junit:junit:jar:4.11:compile
      javax.validation:validation-api:jar:1.1.0.Final:compile
      org.hibernate:hibernate-validator:jar:5.1.1.Final:compile
         org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
         com.fasterxml:classmate:jar:1.0.0:compile
      javax.el:javax.el-api:jar:2.2.4:compile
      org.glassfish.web:javax.el:jar:2.2.4:compile
   net.serenity-bdd:serenity-cucumber:jar:1.0.8:compile has transitive dependencies:
      info.cukes:cucumber-java:jar:1.2.2:compile
         info.cukes:cucumber-core:jar:1.2.2:compile
            info.cukes:cucumber-html:jar:0.2.3:compile
            info.cukes:cucumber-jvm-deps:jar:1.0.3:compile
            info.cukes:gherkin:jar:2.12.2:compile
      info.cukes:cucumber-junit:jar:1.2.2:compile
   net.serenity-bdd:serenity-jbehave:jar:1.0.15:compile has transitive dependencies:
      de.codecentric:jbehave-junit-runner:jar:1.1.0:compile
         org.mockito:mockito-core:jar:1.9.0:compile
      org.jbehave:jbehave-core:jar:3.9.5:compile
         org.hamcrest:hamcrest-integration:jar:1.3:compile
         commons-lang:commons-lang:jar:2.6:compile
         org.codehaus.plexus:plexus-utils:jar:3.0.10:compile
         com.thoughtworks.paranamer:paranamer:jar:2.4:compile
      org.codehaus.groovy:groovy-all:jar:2.3.3:compile
      org.reflections:reflections:jar:0.9.8:compile
         javassist:javassist:jar:3.12.1.GA:compile
         dom4j:dom4j:jar:1.6.1:compile

[WARNING] Rule 9: org.apache.maven.plugins.enforcer.BanDuplicateClasses failed with message:
Duplicate classes found:

(duplicate classes output snipped for space)

wakaleo commented 9 years ago

Could you try with version 1.0.37?

jeffjensen commented 9 years ago

I only see 1.0.36 in Central, is 37 forthcoming? Versions tested:

<serenityCucumberVersion>1.0.12</serenityCucumberVersion>
<serenityJbehaveVersion>1.0.18</serenityJbehaveVersion>
<serenityVersion>1.0.36</serenityVersion>

Wow, down to just one dep conv issue! Nicely done! Thank you!

[WARNING] Rule 5: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.ow2.asm:asm:4.2 paths to dependency are:
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.36
    +-cglib:cglib:3.1
      +-org.ow2.asm:asm:4.2
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:core:1.0.36
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-junit:1.0.36
    +-org.ow2.asm:asm:5.0.3
and
+-net.serenity-bdd:serenity-dependency-enforcer:1.0.0-SNAPSHOT
  +-net.serenity-bdd:serenity-report-resources:1.0.36
    +-org.ow2.asm:asm:5.0.3
]

It still exposes some transitive deps that are very helpful to mark as optional. This one is simple:

[WARNING] Rule 6: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
Found Banned Dependency: commons-logging:commons-logging:jar:1.2

And then there is this big set:

[WARNING] Rule 7: org.apache.maven.plugins.enforcer.BanTransitiveDependencies failed with message:
net.serenity-bdd:serenity-dependency-enforcer:jar:1.0.0-SNAPSHOT
   net.serenity-bdd:core:jar:1.0.36:compile has transitive dependencies:
      com.google.guava:guava:jar:18.0:compile
      com.google.inject:guice:jar:3.0:compile
         javax.inject:javax.inject:jar:1:compile
         aopalliance:aopalliance:jar:1.0:compile
      cglib:cglib:jar:3.1:compile
      org.ow2.asm:asm:jar:5.0.3:compile
      commons-codec:commons-codec:jar:1.9:compile
      org.objenesis:objenesis:jar:2.1:compile
      org.slf4j:slf4j-api:jar:1.7.7:compile
      xml-apis:xml-apis:jar:1.4.01:compile
      commons-logging:commons-logging:jar:1.2:compile
      com.google.code.gson:gson:jar:2.3.1:compile
      commons-io:commons-io:jar:2.4:compile
      org.apache.httpcomponents:httpclient:jar:4.4:compile
         org.apache.httpcomponents:httpcore:jar:4.4:compile
      com.opera:operadriver:jar:1.5:compile
         com.opera:operalaunchers:jar:1.1:compile
         com.google.protobuf:protobuf-java:jar:2.4.1:compile
         commons-jxpath:commons-jxpath:jar:1.3:compile
         org.apache.commons:commons-exec:jar:1.1:compile
         org.ini4j:ini4j:jar:0.5.2:compile
      org.seleniumhq.selenium:selenium-server:jar:2.45.0:compile
         org.bouncycastle:bcprov-jdk15on:jar:1.48:compile
         org.bouncycastle:bcpkix-jdk15on:jar:1.48:compile
         mx4j:mx4j-tools:jar:3.0.1:compile
         org.mortbay.jetty:servlet-api-2.5:jar:6.1.9:compile
         org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:compile
         org.seleniumhq.selenium:jetty-rc-repacked:jar:5:compile
         net.jcip:jcip-annotations:jar:1.0:compile
         org.seleniumhq.selenium:selenium-java:jar:2.45.0:compile
            org.seleniumhq.selenium:selenium-chrome-driver:jar:2.45.0:compile
               org.seleniumhq.selenium:selenium-remote-driver:jar:2.45.0:compile
                  org.seleniumhq.selenium:selenium-api:jar:2.45.0:compile
            org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.45.0:compile
            org.seleniumhq.selenium:selenium-firefox-driver:jar:2.45.0:compile
            org.seleniumhq.selenium:selenium-ie-driver:jar:2.45.0:compile
               net.java.dev.jna:jna:jar:3.4.0:compile
               net.java.dev.jna:platform:jar:3.4.0:compile
            org.seleniumhq.selenium:selenium-safari-driver:jar:2.45.0:compile
            org.seleniumhq.selenium:selenium-support:jar:2.45.0:compile
            org.webbitserver:webbit:jar:0.4.14:compile
               io.netty:netty:jar:3.5.2.Final:compile
            org.seleniumhq.selenium:selenium-leg-rc:jar:2.45.0:compile
         org.yaml:snakeyaml:jar:1.8:compile
      com.github.detro:phantomjsdriver:jar:1.2.0:compile
      io.appium:java-client:jar:2.1.0:compile
      org.codehaus.groovy:groovy:jar:2.3.6:compile
      net.sf.opencsv:opencsv:jar:2.0:compile
      commons-beanutils:commons-beanutils-core:jar:1.8.3:compile
      com.googlecode.lambdaj:lambdaj:jar:2.3.3:compile
      joda-time:joda-time:jar:2.2:compile
      com.thoughtworks.xstream:xstream:jar:1.4.5:compile
         xmlpull:xmlpull:jar:1.1.3.1:compile
         xpp3:xpp3_min:jar:1.1.4c:compile
      org.apache.commons:commons-lang3:jar:3.3.2:compile
      commons-collections:commons-collections:jar:3.2.1:compile
      org.freemarker:freemarker:jar:2.3.21:compile
      net.sourceforge.jexcelapi:jxl:jar:2.6.12:compile
      org.hamcrest:hamcrest-core:jar:1.3:compile
      org.hamcrest:hamcrest-library:jar:1.3:compile
      net.sourceforge.htmlunit:htmlunit:jar:2.15:compile
         xalan:xalan:jar:2.7.1:compile
            xalan:serializer:jar:2.7.1:compile
         org.apache.httpcomponents:httpmime:jar:4.3.3:compile
         net.sourceforge.htmlunit:htmlunit-core-js:jar:2.15:compile
         xerces:xercesImpl:jar:2.11.0:compile
         net.sourceforge.nekohtml:nekohtml:jar:1.9.21:compile
         net.sourceforge.cssparser:cssparser:jar:0.9.14:compile
            org.w3c.css:sac:jar:1.3:compile
         org.eclipse.jetty:jetty-websocket:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-io:jar:8.1.15.v20140411:compile
            org.eclipse.jetty:jetty-http:jar:8.1.15.v20140411:compile
      org.fluentlenium:fluentlenium-core:jar:0.10.2:compile
      com.jhlabs:filters:jar:2.0.235:compile
      org.asciidoctor:asciidoctor-java-integration:jar:0.1.3:compile
         org.jruby:jruby-complete:jar:1.7.4:compile
         com.beust:jcommander:jar:1.30:compile
      junit:junit:jar:4.11:compile
      javax.validation:validation-api:jar:1.1.0.Final:compile
      org.hibernate:hibernate-validator:jar:5.1.1.Final:compile
         org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
         com.fasterxml:classmate:jar:1.0.0:compile
      javax.el:javax.el-api:jar:2.2.4:compile
      org.glassfish.web:javax.el:jar:2.2.4:compile
   net.serenity-bdd:serenity-cucumber:jar:1.0.12:compile has transitive dependencies:
      info.cukes:cucumber-java:jar:1.2.2:compile
         info.cukes:cucumber-core:jar:1.2.2:compile
            info.cukes:cucumber-html:jar:0.2.3:compile
            info.cukes:cucumber-jvm-deps:jar:1.0.3:compile
            info.cukes:gherkin:jar:2.12.2:compile
      info.cukes:cucumber-junit:jar:1.2.2:compile
   net.serenity-bdd:serenity-jbehave:jar:1.0.18:compile has transitive dependencies:
      de.codecentric:jbehave-junit-runner:jar:1.1.0:compile
      org.jbehave:jbehave-core:jar:3.9.5:compile
         org.hamcrest:hamcrest-integration:jar:1.3:compile
         commons-lang:commons-lang:jar:2.6:compile
         org.codehaus.plexus:plexus-utils:jar:3.0.10:compile
         com.thoughtworks.paranamer:paranamer:jar:2.4:compile
      org.codehaus.groovy:groovy-all:jar:2.3.3:compile
      org.reflections:reflections:jar:0.9.8:compile
         javassist:javassist:jar:3.12.1.GA:compile
         dom4j:dom4j:jar:1.6.1:compile

(snipped duplicate classes output for now)

wakaleo commented 9 years ago

I think this should be fixed in 1.0.37

jeffjensen commented 9 years ago

Since each release since 1.0.27 (the last release that does not fail our build) has transitive dep problems, I think this issue is not resolved yet as it's not preventable. My suggestion is still to setup a CI client build with all of the Serenity deps and Enforcer behavior on full to prevent by proactively fixing these dep problems vs reactively by a select few reporting the problems.

wakaleo commented 9 years ago

We already have failOnVersionConflict() in the Gradle resolutionStrategy which should be picking up conflicts at build time, and a sample maven project with the jbehave and cucumber dependencies and the enforcer plugin activated - I'll see if I can get this working as part of the automated build process as well.

On 14 March 2015 at 04:39, jeffjensen notifications@github.com wrote:

Since each release since 1.0.27 (the last release that does not fail our build) has transitive dep problems, I think this issue is not resolved yet as it's not preventable. My suggestion is still to setup a CI client build with all of the Serenity deps and Enforcer behavior on full to prevent by proactively fixing these dep problems vs reactively by a select few reporting the problems.

— Reply to this email directly or view it on GitHub https://github.com/serenity-bdd/serenity-core/issues/26#issuecomment-79172864 .


John Smart | Wakaleo Consulting | +61 407 247 642 Optimizing your software development process http://www.wakaleo.com | john.smart@wakaleo.com


The dates for the 2014 BDD workshops have been scheduled! Check out our upcoming BDD/TDD Master classes http://wakaleo.com/training/testing-and-tdd-for-java-developers and our Advanced BDD Requirements Workshops http://wakaleo.com/training/advanced-agile-requirements-workshop, coming soon to Sydney http://wakaleo.com/training/testing-and-tdd-for-java-developers/public-courses and Melbourne http://wakaleo.com/training/testing-and-tdd-for-java-developers/public-courses!


jeffjensen commented 9 years ago

Thank you - that's exactly what's missing - failing during a build. :-)

rakeshnambiar commented 7 years ago

@wakaleo ... I am facing the similar issue while upgrading to the latest version - 1.5.0-rc.4

    <serenity.version>1.5.0-rc.4</serenity.version>
    <serenity.maven.version>1.5.0-rc.1</serenity.maven.version>
    <serenity.cucumber.version>1.1.13</serenity.cucumber.version>

Error:

[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce) @ EBI_Cucumber_SerenityFW --- [INFO] artifact org.seleniumhq.selenium:selenium-api: checking for updates from serenity [INFO] artifact org.seleniumhq.selenium:selenium-api: checking for updates from lit-http-ukpmc-repo [INFO] artifact org.seleniumhq.selenium:selenium-api: checking for updates from central [INFO] artifact org.seleniumhq.selenium:selenium-support: checking for updates from serenity [INFO] artifact org.seleniumhq.selenium:selenium-support: checking for updates from lit-http-ukpmc-repo [INFO] artifact org.seleniumhq.selenium:selenium-support: checking for updates from central [WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message: Failed while enforcing RequireUpperBoundDeps. The error(s) are [ Require upper bound dependencies error for commons-codec:commons-codec:1.9 paths to dependency are: +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-core:1.5.0-rc.4 +-commons-codec:commons-codec:1.9 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-junit:1.5.0-rc.4 +-commons-codec:commons-codec:1.9 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-rest-assured:1.5.0-rc.4 +-commons-codec:commons-codec:1.9 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-org.apache.poi:poi:3.13 +-commons-codec:commons-codec:1.9 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-commons-httpclient:commons-httpclient:3.1 +-commons-codec:commons-codec:1.2 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-core:1.5.0-rc.4 +-net.serenity-bdd:serenity-report-resources:1.5.0-rc.4 +-commons-codec:commons-codec:1.9 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-cucumber:1.1.13 +-net.serenity-bdd:serenity-screenplay:1.2.1-rc.5 +-commons-codec:commons-codec:1.10 and +-net.serenity-bdd.demos:EBI_Cucumber_SerenityFW:0.0.1-SNAPSHOT +-net.serenity-bdd:serenity-cucumber:1.1.13 +-net.serenity-bdd:serenity-screenplay-webdriver:1.2.1-rc.5 +-commons-codec:commons-codec:1.10 ]

wakaleo commented 7 years ago

The latest RC versions are not fully deployed yet.

rakeshnambiar commented 7 years ago

Oops sorry. Let me wait then ... thanks