Fails to resolve all dependencies of Infinispan
renatoathaydes opened this issue · comments
Several levels of POM parents seem to break dependency resolution... the dependencies are declared up 2 POMs, which should work but fails for some reason:
jbuild install -s runtime org.infinispan:infinispan-jcache:13.0.10.Final -d infinispan
Will install 1 artifact at infinispan
Successfully installed 1 artifact at infinispan
JBuild success in 478 ms!
Installing infinispan-core
seems to work fine though.
Here's what Maven installs for inifnispan-jcache
with runtime
scope:
cache-api-1.1.1.jar infinispan-jcache-13.0.10.Final.jar jboss-threads-2.3.3.Final.jar reactive-streams-1.0.3.jar
caffeine-2.8.4.jar infinispan-jcache-commons-13.0.10.Final.jar jgroups-4.2.18.Final.jar rxjava-3.0.4.jar
infinispan-commons-13.0.10.Final.jar jakarta.transaction-api-1.3.3.jar protostream-4.4.3.Final.jar slf4j-simple-1.7.36.jar
infinispan-core-13.0.10.Final.jar jboss-logging-3.4.1.Final.jar protostream-types-4.4.3.Final.jar wildfly-common-1.3.0.Final.jar
mvn dependency:tree fails for this artifact, interestingly:
▶ mvn dependency:tree org.infinispan:infinispan-jcache:13.0.10.Final
[INFO] Scanning for projects...
Downloading from central: https://repo.maven.apache.org/maven2/org/infinispan/infinispan-jcache/maven-metadata.xml
...
Downloaded from central: https://repo.maven.apache.org/maven2/org/infinispan/infinispan-jcache/14.0.0.Dev04/infinispan-jcache-14.0.0.Dev04.jar (120 kB at 543 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.875 s
[INFO] Finished at: 2022-07-26T11:30:18+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to parse plugin descriptor for org.infinispan:infinispan-jcache:14.0.0.Dev04 (/Users/renatoathaydes/.m2/repository/org/infinispan/infinispan-jcache/14.0.0.Dev04/infinispan-jcache-14.0.0.Dev04.jar): No plugin descriptor found at META-INF/maven/plugin.xml -> [Help 1]
POM hierarchy:
- org.infinispan:infinispan-jcache:13.0.10.Final (dependencies exist without scope or version, they come from parent POMs).
- org.infinispan:infinispan-jcache-parent:13.0.10.Final (no deps)
- org.infinispan:infinispan-parent:13.0.10.Final (deps exist without scope or version, dependencyManagement includes many deps, including a BOM)
- org.infinispan:infinispan-bom:13.0.10.Final (BOM - dependencyManagement contains all versions for infinispan).
- org.infinispan:infinispan-parent:13.0.10.Final (deps exist without scope or version, dependencyManagement includes many deps, including a BOM)
- org.infinispan:infinispan-jcache-parent:13.0.10.Final (no deps)
There was no bug fetching BOMs or parent POMs... the problem is that dependencies appear both with scope compile
and test
, and JBuild is overwriting scopes when that happens.
e.g. in infinispan-parent
:
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
<type>test-jar</type>
<scope>test</scope>
<version>${version.infinispan}</version>
</dependency>
The root cause of the issue is that JBuild ignores dependency's <type>
.
Should support the default ones: https://maven.apache.org/ref/3.8.6/maven-core/artifact-handlers.html
As JBuild can already download sources and javadocs, it's just a matter of adding this to the POM definition as well.