iti-ict / wakamiti

BDD testing tool using step libraries
https://iti-ict.github.io/wakamiti/
Mozilla Public License 2.0
33 stars 5 forks source link

Conflictos en los módulos de groovy #189

Closed mgalbis closed 1 year ago

mgalbis commented 1 year ago

Se está especificando la versión 4.0.13 de groovy, pero rest-assured utiliza la versión 4.0.11. A pesar de excluir las dependencias en el pom del rest-wakamiti-plugin, se siguen descargando y utilizando las de rest-assured:

Conflicting module versions. Module [groovy-xml is loaded in version 4.0.13 and you are trying to load version 4.0.11

En el pom del rest-wakamiti-plugin se especifica de la siguiente forma:

    <dependency>
      <groupId>org.apache.groovy</groupId>
      <artifactId>groovy</artifactId>
      <version>4.0.13</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.groovy</groupId>
      <artifactId>groovy-xml</artifactId>
      <version>4.0.13</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.groovy</groupId>
          <artifactId>groovy</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.groovy</groupId>
          <artifactId>groovy-xml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured-all</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.groovy</groupId>
          <artifactId>groovy</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.groovy</groupId>
          <artifactId>groovy-xml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

Se están buscando los módulos:

  launcher:
    modules:
      - es.iti.wakamiti:groovy-wakamiti-plugin:2.3.0-SNAPSHOT
      - es.iti.wakamiti:rest-wakamiti-plugin:2.3.0-SNAPSHOT

Y se recibe lo siguiente:

|- es.iti.wakamiti:groovy-wakamiti-plugin:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\groovy-wakamiti-plugin\2.3.0-SNAPSHOT\groovy-wakamiti-plugin-2.3.0-SNAPSHOT.jar]
   |- org.apache.groovy:groovy:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy\4.0.13\groovy-4.0.13.jar]
   |- org.apache.groovy:groovy-dateutil:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-dateutil\4.0.13\groovy-dateutil-4.0.13.jar]
   |- org.apache.groovy:groovy-datetime:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-datetime\4.0.13\groovy-datetime-4.0.13.jar]
   |- org.apache.groovy:groovy-json:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-json\4.0.13\groovy-json-4.0.13.jar]
   |- org.apache.groovy:groovy-xml:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-xml\4.0.13\groovy-xml-4.0.13.jar]
   |- es.iti.wakamiti:wakamiti-api:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\wakamiti-api\2.3.0-SNAPSHOT\wakamiti-api-2.3.0-SNAPSHOT.jar]
      |- io.github.luiinge:immutable-config:1.1.0  [C:\Users\mgalbis\.m2\repository\io\github\luiinge\immutable-config\1.1.0\immutable-config-1.1.0.jar]
         |- commons-beanutils:commons-beanutils:1.9.4  [C:\Users\mgalbis\.m2\repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar]
         |- commons-collections:commons-collections:3.2.2  [C:\Users\mgalbis\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar]
         |- commons-logging:commons-logging:1.2  [C:\Users\mgalbis\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar]
         |- org.apache.commons:commons-configuration2:2.7  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-configuration2\2.7\commons-configuration2-2.7.jar]
         |- org.apache.commons:commons-lang3:3.12.0  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar]
         |- com.fasterxml.jackson.core:jackson-databind:2.11.1  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11.1\jackson-databind-2.11.1.jar]
            |- com.fasterxml.jackson.core:jackson-annotations:2.11.1  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.1\jackson-annotations-2.11.1.jar]
            |- com.fasterxml.jackson.core:jackson-core:2.11.1  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.1\jackson-core-2.11.1.jar]
         |- org.yaml:snakeyaml:1.29  [C:\Users\mgalbis\.m2\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar]
         |- org.slf4j:slf4j-api:1.7.30  [C:\Users\mgalbis\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar]
      |- es.iti.commons:jext:1.0.0  [C:\Users\mgalbis\.m2\repository\es\iti\commons\jext\1.0.0\jext-1.0.0.jar]
         |- javax.annotation:javax.annotation-api:1.3.2  [C:\Users\mgalbis\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar]
      |- org.hamcrest:hamcrest:2.2  [C:\Users\mgalbis\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar]
      |- io.github.luiinge:slf4j-ansi:1.0.0  [C:\Users\mgalbis\.m2\repository\io\github\luiinge\slf4j-ansi\1.0.0\slf4j-ansi-1.0.0.jar]
         |- org.fusesource.jansi:jansi:1.18  [C:\Users\mgalbis\.m2\repository\org\fusesource\jansi\jansi\1.18\jansi-1.18.jar]
      |- xerces:xercesImpl:2.12.2  [C:\Users\mgalbis\.m2\repository\xerces\xercesImpl\2.12.2\xercesImpl-2.12.2.jar]
         |- xml-apis:xml-apis:1.4.01  [C:\Users\mgalbis\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar]
      |- org.apache.poi:poi-ooxml:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi-ooxml\5.2.3\poi-ooxml-5.2.3.jar]
         |- org.apache.poi:poi:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi\5.2.3\poi-5.2.3.jar]
            |- commons-codec:commons-codec:1.15  [C:\Users\mgalbis\.m2\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar]
            |- org.apache.commons:commons-collections4:4.4  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar]
            |- org.apache.commons:commons-math3:3.6.1  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar]
            |- commons-io:commons-io:2.11.0  [C:\Users\mgalbis\.m2\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar]
            |- com.zaxxer:SparseBitSet:1.2  [C:\Users\mgalbis\.m2\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar]
            |- org.apache.logging.log4j:log4j-api:2.18.0  [C:\Users\mgalbis\.m2\repository\org\apache\logging\log4j\log4j-api\2.18.0\log4j-api-2.18.0.jar]
         |- org.apache.poi:poi-ooxml-lite:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi-ooxml-lite\5.2.3\poi-ooxml-lite-5.2.3.jar]
            |- org.apache.xmlbeans:xmlbeans:5.1.1  [C:\Users\mgalbis\.m2\repository\org\apache\xmlbeans\xmlbeans\5.1.1\xmlbeans-5.1.1.jar]
         |- org.apache.commons:commons-compress:1.21  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar]
         |- com.github.virtuald:curvesapi:1.07  [C:\Users\mgalbis\.m2\repository\com\github\virtuald\curvesapi\1.07\curvesapi-1.07.jar]
      |- com.jayway.jsonpath:json-path:2.8.0  [C:\Users\mgalbis\.m2\repository\com\jayway\jsonpath\json-path\2.8.0\json-path-2.8.0.jar]
|- es.iti.wakamiti:rest-wakamiti-plugin:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\rest-wakamiti-plugin\2.3.0-SNAPSHOT\rest-wakamiti-plugin-2.3.0-SNAPSHOT.jar]
   |- io.rest-assured:rest-assured:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured\5.3.1\rest-assured-5.3.1.jar]
-      |- org.apache.groovy:groovy:4.0.11  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy\4.0.11\groovy-4.0.11.jar]
-      |- org.apache.groovy:groovy-xml:4.0.11  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-xml\4.0.11\groovy-xml-4.0.11.jar]
      |- org.apache.httpcomponents:httpclient:4.5.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar]
         |- org.apache.httpcomponents:httpcore:4.4.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpcore\4.4.13\httpcore-4.4.13.jar]
         |- commons-codec:commons-codec:1.11  [C:\Users\mgalbis\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar]
      |- org.apache.httpcomponents:httpmime:4.5.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpmime\4.5.13\httpmime-4.5.13.jar]
      |- org.ccil.cowan.tagsoup:tagsoup:1.2.1  [C:\Users\mgalbis\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar]
      |- io.rest-assured:json-path:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\json-path\5.3.1\json-path-5.3.1.jar]
         |- org.apache.groovy:groovy-json:4.0.11  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-json\4.0.11\groovy-json-4.0.11.jar]
         |- io.rest-assured:rest-assured-common:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured-common\5.3.1\rest-assured-common-5.3.1.jar]
            |- org.apache.commons:commons-lang3:3.11  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-lang3\3.11\commons-lang3-3.11.jar]
      |- io.rest-assured:xml-path:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\xml-path\5.3.1\xml-path-5.3.1.jar]
   |- io.rest-assured:rest-assured-all:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured-all\5.3.1\rest-assured-all-5.3.1.jar]
   |- com.fasterxml.jackson.core:jackson-core:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.2\jackson-core-2.15.2.jar]
   |- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.15.2\jackson-dataformat-xml-2.15.2.jar]
      |- com.fasterxml.jackson.core:jackson-annotations:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.2\jackson-annotations-2.15.2.jar]
      |- com.fasterxml.jackson.core:jackson-databind:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.2\jackson-databind-2.15.2.jar]
      |- org.codehaus.woodstox:stax2-api:4.2.1  [C:\Users\mgalbis\.m2\repository\org\codehaus\woodstox\stax2-api\4.2.1\stax2-api-4.2.1.jar]
      |- com.fasterxml.woodstox:woodstox-core:6.5.1  [C:\Users\mgalbis\.m2\repository\com\fasterxml\woodstox\woodstox-core\6.5.1\woodstox-core-6.5.1.jar]
   |- org.everit.json:org.everit.json.schema:1.5.1  [C:\Users\mgalbis\.m2\repository\org\everit\json\org.everit.json.schema\1.5.1\org.everit.json.schema-1.5.1.jar]
      |- org.json:json:20160810  [C:\Users\mgalbis\.m2\repository\org\json\json\20160810\json-20160810.jar]
      |- com.google.guava:guava:19.0  [C:\Users\mgalbis\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar]
      |- commons-validator:commons-validator:1.5.1  [C:\Users\mgalbis\.m2\repository\commons-validator\commons-validator\1.5.1\commons-validator-1.5.1.jar]
   |- junit:junit:4.13.2  [C:\Users\mgalbis\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar]

Sin embargo, si se cambia el orden de los artefactos a:

  launcher:
    modules:
      - es.iti.wakamiti:rest-wakamiti-plugin:2.3.0-SNAPSHOT
      - es.iti.wakamiti:groovy-wakamiti-plugin:2.3.0-SNAPSHOT

Se recibe lo siguiente:

|- es.iti.wakamiti:rest-wakamiti-plugin:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\rest-wakamiti-plugin\2.3.0-SNAPSHOT\rest-wakamiti-plugin-2.3.0-SNAPSHOT.jar]
   |- io.rest-assured:rest-assured:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured\5.3.1\rest-assured-5.3.1.jar]
      |- org.apache.httpcomponents:httpclient:4.5.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar]
         |- org.apache.httpcomponents:httpcore:4.4.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpcore\4.4.13\httpcore-4.4.13.jar]
         |- commons-logging:commons-logging:1.2  [C:\Users\mgalbis\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar]
         |- commons-codec:commons-codec:1.11  [C:\Users\mgalbis\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar]
      |- org.apache.httpcomponents:httpmime:4.5.13  [C:\Users\mgalbis\.m2\repository\org\apache\httpcomponents\httpmime\4.5.13\httpmime-4.5.13.jar]
      |- org.hamcrest:hamcrest:2.2  [C:\Users\mgalbis\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar]
      |- org.ccil.cowan.tagsoup:tagsoup:1.2.1  [C:\Users\mgalbis\.m2\repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar]
      |- io.rest-assured:json-path:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\json-path\5.3.1\json-path-5.3.1.jar]
         |- io.rest-assured:rest-assured-common:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured-common\5.3.1\rest-assured-common-5.3.1.jar]
      |- io.rest-assured:xml-path:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\xml-path\5.3.1\xml-path-5.3.1.jar]
   |- io.rest-assured:rest-assured-all:5.3.1  [C:\Users\mgalbis\.m2\repository\io\rest-assured\rest-assured-all\5.3.1\rest-assured-all-5.3.1.jar]
+   |- org.apache.groovy:groovy:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy\4.0.13\groovy-4.0.13.jar]
+   |- org.apache.groovy:groovy-xml:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-xml\4.0.13\groovy-xml-4.0.13.jar]
   |- com.jayway.jsonpath:json-path:2.8.0  [C:\Users\mgalbis\.m2\repository\com\jayway\jsonpath\json-path\2.8.0\json-path-2.8.0.jar]
   |- com.fasterxml.jackson.core:jackson-core:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.2\jackson-core-2.15.2.jar]
   |- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.15.2\jackson-dataformat-xml-2.15.2.jar]
      |- com.fasterxml.jackson.core:jackson-annotations:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.2\jackson-annotations-2.15.2.jar]
      |- com.fasterxml.jackson.core:jackson-databind:2.15.2  [C:\Users\mgalbis\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.2\jackson-databind-2.15.2.jar]
      |- org.codehaus.woodstox:stax2-api:4.2.1  [C:\Users\mgalbis\.m2\repository\org\codehaus\woodstox\stax2-api\4.2.1\stax2-api-4.2.1.jar]
      |- com.fasterxml.woodstox:woodstox-core:6.5.1  [C:\Users\mgalbis\.m2\repository\com\fasterxml\woodstox\woodstox-core\6.5.1\woodstox-core-6.5.1.jar]
   |- org.everit.json:org.everit.json.schema:1.5.1  [C:\Users\mgalbis\.m2\repository\org\everit\json\org.everit.json.schema\1.5.1\org.everit.json.schema-1.5.1.jar]
      |- org.json:json:20160810  [C:\Users\mgalbis\.m2\repository\org\json\json\20160810\json-20160810.jar]
      |- com.google.guava:guava:19.0  [C:\Users\mgalbis\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar]
      |- commons-validator:commons-validator:1.5.1  [C:\Users\mgalbis\.m2\repository\commons-validator\commons-validator\1.5.1\commons-validator-1.5.1.jar]
   |- junit:junit:4.13.2  [C:\Users\mgalbis\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar]
   |- es.iti.wakamiti:wakamiti-api:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\wakamiti-api\2.3.0-SNAPSHOT\wakamiti-api-2.3.0-SNAPSHOT.jar]
      |- io.github.luiinge:immutable-config:1.1.0  [C:\Users\mgalbis\.m2\repository\io\github\luiinge\immutable-config\1.1.0\immutable-config-1.1.0.jar]
         |- commons-beanutils:commons-beanutils:1.9.4  [C:\Users\mgalbis\.m2\repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar]
         |- commons-collections:commons-collections:3.2.2  [C:\Users\mgalbis\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar]
         |- org.apache.commons:commons-configuration2:2.7  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-configuration2\2.7\commons-configuration2-2.7.jar]
         |- org.apache.commons:commons-lang3:3.12.0  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar]
         |- org.yaml:snakeyaml:1.29  [C:\Users\mgalbis\.m2\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar]
         |- org.slf4j:slf4j-api:1.7.30  [C:\Users\mgalbis\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar]
      |- es.iti.commons:jext:1.0.0  [C:\Users\mgalbis\.m2\repository\es\iti\commons\jext\1.0.0\jext-1.0.0.jar]
         |- javax.annotation:javax.annotation-api:1.3.2  [C:\Users\mgalbis\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar]
      |- io.github.luiinge:slf4j-ansi:1.0.0  [C:\Users\mgalbis\.m2\repository\io\github\luiinge\slf4j-ansi\1.0.0\slf4j-ansi-1.0.0.jar]
         |- org.fusesource.jansi:jansi:1.18  [C:\Users\mgalbis\.m2\repository\org\fusesource\jansi\jansi\1.18\jansi-1.18.jar]
      |- xerces:xercesImpl:2.12.2  [C:\Users\mgalbis\.m2\repository\xerces\xercesImpl\2.12.2\xercesImpl-2.12.2.jar]
         |- xml-apis:xml-apis:1.4.01  [C:\Users\mgalbis\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar]
      |- org.apache.poi:poi-ooxml:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi-ooxml\5.2.3\poi-ooxml-5.2.3.jar]
         |- org.apache.poi:poi:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi\5.2.3\poi-5.2.3.jar]
            |- org.apache.commons:commons-collections4:4.4  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar]
            |- org.apache.commons:commons-math3:3.6.1  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar]
            |- commons-io:commons-io:2.11.0  [C:\Users\mgalbis\.m2\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar]
            |- com.zaxxer:SparseBitSet:1.2  [C:\Users\mgalbis\.m2\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar]
            |- org.apache.logging.log4j:log4j-api:2.18.0  [C:\Users\mgalbis\.m2\repository\org\apache\logging\log4j\log4j-api\2.18.0\log4j-api-2.18.0.jar]
         |- org.apache.poi:poi-ooxml-lite:5.2.3  [C:\Users\mgalbis\.m2\repository\org\apache\poi\poi-ooxml-lite\5.2.3\poi-ooxml-lite-5.2.3.jar]
            |- org.apache.xmlbeans:xmlbeans:5.1.1  [C:\Users\mgalbis\.m2\repository\org\apache\xmlbeans\xmlbeans\5.1.1\xmlbeans-5.1.1.jar]
         |- org.apache.commons:commons-compress:1.21  [C:\Users\mgalbis\.m2\repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar]
         |- com.github.virtuald:curvesapi:1.07  [C:\Users\mgalbis\.m2\repository\com\github\virtuald\curvesapi\1.07\curvesapi-1.07.jar]
      |- org.apache.groovy:groovy-json:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-json\4.0.13\groovy-json-4.0.13.jar]
|- es.iti.wakamiti:groovy-wakamiti-plugin:2.3.0-SNAPSHOT  [C:\Users\mgalbis\.m2\repository\es\iti\wakamiti\groovy-wakamiti-plugin\2.3.0-SNAPSHOT\groovy-wakamiti-plugin-2.3.0-SNAPSHOT.jar]
   |- org.apache.groovy:groovy-dateutil:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-dateutil\4.0.13\groovy-dateutil-4.0.13.jar]
   |- org.apache.groovy:groovy-datetime:4.0.13  [C:\Users\mgalbis\.m2\repository\org\apache\groovy\groovy-datetime\4.0.13\groovy-datetime-4.0.13.jar]

Se confirma que es un problema de maven-fetcher.

linesta-iti commented 1 year ago

El MavenFetcher no es capaz de coordinar las versiones de las dependencias, por eso es importante que, hasta que implementemos un nuevo sistema de carga de plugins, usemos el bom para asegurar la compatibilidad.

La forma correcta de forzar versiones de dependencias no es tanto usar exclusions sino la seccion dependencyManagement.

El problema real aqui es el plugin de Maven que aplica el "aplanado" de los pom. Ahora mismo está ignorando los dependencyManagement.

La solución sería dejarlo así en el pom del wakamiti-starter:

<!-- flatten prior install, required since ${revision} is used -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>1.2.7</version>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>flatten-clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <flattenMode>bom</flattenMode>
                </configuration>
            </plugin>

tal como se indica en la documentacion del plugin: https://www.mojohaus.org/flatten-maven-plugin/flatten-mojo.html#updatePomFile

mgalbis commented 1 year ago

Esta solución no funciona, pero si lo ponemos en modo resolveCiFriendliesOnly sí.