Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency parity validator is missing dependencies with different versions #10279

Closed
ppalaga opened this issue Jun 25, 2020 · 3 comments · Fixed by #10286
Closed

Dependency parity validator is missing dependencies with different versions #10279

ppalaga opened this issue Jun 25, 2020 · 3 comments · Fixed by #10286
Labels
kind/bug Something isn't working
Milestone

Comments

@ppalaga
Copy link
Contributor

ppalaga commented Jun 25, 2020

Reproducible with the camel-quarkus-amqp module of quarkus-master branch of Camel Quarkus https://github.com/apache/camel-quarkus/tree/quarkus-master

From my point of view, the dependencies of the amqp runtime and deployment modules a in a perfect parity:
https://github.com/apache/camel-quarkus/blob/quarkus-master/extensions/amqp/runtime/pom.xml
https://github.com/apache/camel-quarkus/blob/quarkus-master/extensions/amqp/deployment/pom.xml

The error of the extension-descriptor mojo is as follows:

[ERROR] Quarkus Extension Dependency Verification Error
[ERROR] Deployment artifact org.apache.camel.quarkus:camel-quarkus-amqp-deployment::jar:1.1.0-SNAPSHOT was found to be missing dependencies on Quarkus extension artifacts marked with '-' below:
[ERROR] + org.apache.camel.quarkus:camel-quarkus-amqp-deployment::jar:1.1.0-SNAPSHOT
[ERROR] +     org.apache.camel.quarkus:camel-quarkus-amqp::jar:1.1.0-SNAPSHOT
[ERROR] +     org.amqphub.quarkus:quarkus-qpid-jms-deployment::jar:0.15.0
[ERROR] -         io.quarkus:quarkus-core-deployment::jar:999-SNAPSHOT
[ERROR] -         io.quarkus:quarkus-arc-deployment::jar:999-SNAPSHOT
[ERROR] -         io.quarkus:quarkus-netty-deployment::jar:999-SNAPSHOT
[ERROR] +     org.apache.camel.quarkus:camel-quarkus-core-deployment::jar:1.1.0-SNAPSHOT
[ERROR] +         org.apache.camel.quarkus:camel-quarkus-support-common-deployment::jar:1.1.0-SNAPSHOT
[ERROR] +     org.apache.camel.quarkus:camel-quarkus-jms-deployment::jar:1.1.0-SNAPSHOT
[ERROR] +         org.apache.camel.quarkus:camel-quarkus-support-spring-deployment::jar:1.1.0-SNAPSHOT
[ERROR] +             org.apache.camel.quarkus:camel-quarkus-support-commons-logging-deployment::jar:1.1.0-SNAPSHOT

Those missing dependencies are transitive dependencies of org.amqphub.quarkus:quarkus-qpid-jms-deployment I am not controling.

Perhaps the mojo is too picky about the versions? org.amqphub.quarkus:quarkus-qpid-jms-deployment::jar:0.15.0 depends on quarkus 1.5.x while the mojo expects 999-SNAPSHOT (based on our BOMs)?

cc @aloubyansky

@ppalaga ppalaga added the kind/bug Something isn't working label Jun 25, 2020
@ppalaga ppalaga changed the title Dependency parity validator complains about dependencies present in a dependency Dependency parity validator is missing dependencies with different versions Jun 25, 2020
ppalaga added a commit to ppalaga/quarkus that referenced this issue Jun 25, 2020
ppalaga added a commit to ppalaga/quarkus that referenced this issue Jun 25, 2020
ppalaga added a commit to ppalaga/camel-quarkus that referenced this issue Jun 26, 2020
jamesnetherton pushed a commit to apache/camel-quarkus that referenced this issue Jun 26, 2020
ppalaga added a commit to ppalaga/quarkus that referenced this issue Jun 26, 2020
ppalaga added a commit to ppalaga/quarkus that referenced this issue Jun 26, 2020
gsmet pushed a commit to gsmet/quarkus that referenced this issue Jun 30, 2020
gsmet pushed a commit to gsmet/quarkus that referenced this issue Jun 30, 2020
@gsmet gsmet added this to the 1.6.0.Final milestone Jul 2, 2020
@naah69
Copy link

naah69 commented Aug 1, 2022

i had the same problem. and i can't find any error in the pom.xml.

this is my git repo link. quarkus-seata

image

deployment pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>io.quarkiverse.seata</groupId>
        <artifactId>quarkus-seata-parent</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>quarkus-seata-deployment</artifactId>
    <name>Quarkus - Seata - Deployment</name>
    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-arc-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-agroal-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-resteasy-reactive-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-rest-client-reactive-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkiverse.seata</groupId>
            <artifactId>quarkus-seata</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-junit5-internal</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>io.quarkus</groupId>
                            <artifactId>quarkus-extension-processor</artifactId>
                            <version>${quarkus.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

runtime pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>io.quarkiverse.seata</groupId>
    <artifactId>quarkus-seata-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>quarkus-seata</artifactId>
  <name>Quarkus - Seata - Runtime</name>
  <dependencies>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-arc</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-reactive</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-client-reactive</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-agroal</artifactId>
    </dependency>
    <dependency>
      <groupId>io.seata</groupId>
      <artifactId>seata-tm</artifactId>
      <version>${seata.version}</version>
    </dependency>
    <dependency>
      <groupId>io.seata</groupId>
      <artifactId>seata-rm-datasource</artifactId>
      <version>${seata.version}</version>
    </dependency>
    <dependency>
      <groupId>io.seata</groupId>
      <artifactId>seata-rm</artifactId>
      <version>${seata.version}</version>
    </dependency>
    <dependency>
      <groupId>io.seata</groupId>
      <artifactId>seata-serializer-all</artifactId>
      <version>${seata.version}</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-extension-maven-plugin</artifactId>
        <version>${quarkus.version}</version>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>extension-descriptor</goal>
            </goals>
            <configuration>
              <deployment>io.seata:${project.artifactId}-deployment:${project.version}</deployment>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <annotationProcessorPaths>
            <path>
              <groupId>io.quarkus</groupId>
              <artifactId>quarkus-extension-processor</artifactId>
              <version>${quarkus.version}</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

@aloubyansky
Copy link
Member

I tried to build your repo @naah69 with mvn clean package -DskipTests and got a different error:

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.10.0.Final:build (default) on project quarkus-seata-integration-tests: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] 	[error]: Build step io.quarkus.deployment.steps.CapabilityAggregationStep#aggregateCapabilities threw an exception: java.lang.IllegalStateException: Please make sure there is only one provider of the following capabilities:
[ERROR] capability io.quarkus.rest is provided by:
[ERROR]   - io.quarkus:quarkus-resteasy-reactive:2.10.0.Final
[ERROR]   - io.quarkus:quarkus-resteasy:2.10.0.Final

Which can be solved by

diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index cadc526..0af21d6 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -13,10 +13,6 @@
     <skipITs>true</skipITs>
   </properties>
   <dependencies>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy</artifactId>
-    </dependency>

Have you already resolved your issue or am I missing something?

@naah69
Copy link

naah69 commented Aug 3, 2022

I tried to build your repo @naah69 with mvn clean package -DskipTests and got a different error:

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.10.0.Final:build (default) on project quarkus-seata-integration-tests: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] 	[error]: Build step io.quarkus.deployment.steps.CapabilityAggregationStep#aggregateCapabilities threw an exception: java.lang.IllegalStateException: Please make sure there is only one provider of the following capabilities:
[ERROR] capability io.quarkus.rest is provided by:
[ERROR]   - io.quarkus:quarkus-resteasy-reactive:2.10.0.Final
[ERROR]   - io.quarkus:quarkus-resteasy:2.10.0.Final

Which can be solved by

diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index cadc526..0af21d6 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -13,10 +13,6 @@
     <skipITs>true</skipITs>
   </properties>
   <dependencies>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy</artifactId>
-    </dependency>

Have you already resolved your issue or am I missing something?

yes, i had resloved it.the reson of error is the below:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants