Bug 1345752
Summary: | Unnecessary artifacts in maven repository | ||||||
---|---|---|---|---|---|---|---|
Product: | [JBoss] JBoss Data Virtualization 6 | Reporter: | Juraj Duráni <jdurani> | ||||
Component: | Distribution | Assignee: | Petr Kočandrle <pkocandr> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Juraj Duráni <jdurani> | ||||
Severity: | low | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 6.3.0 | CC: | aszczucz, drieden, jolee, lfabriko, mbaluch, thauser | ||||
Target Milestone: | ER5 | ||||||
Target Release: | 6.3.0 | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2016-08-24 11:38:07 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
The repo builder uses one of the most complete dependency detection systems (not all dependencies are properly declared in POM files unfortunately), but it is pretty complicated, so might be including things by mistake. I don't know what process the validator uses for its depedency-not-found check, but if it's just looking at the dependency entries in the poms, that's only going to be valid in some/most cases. Yes, that's exactly what it is doing. It tries to resolve all dependencies in POM in provided repositories (validated repository, maven central, and optionally some more). * org.scannotation:scannotation:pom:1.0.3.redhat-4 is required to build org.jboss.teiid.quickstart:webservices-as-a-datasource:3.0.0.redhat-63-8 * org.jboss.remotingjmx:remoting-jmx:1.1.3.Final-redhat-2 is a transitive dependency of teiid-adminshell and teiid-jboss-admin * net.java.dev.msv:msv-core:2011.1-redhat-2 is a transitive dependency of org.modeshape:modeshape-web-jcr-rest-war:3.8.4.GA-redhat-8 which is one of the roots used for repo generation, but is not included in the end because it is a war artifact; apart from that it is optional transitive dependency of many quickstarts introduced by maven-compiler-plugin and the version is managed by our BOM... but in this case I'm not sure if a plugin's dependencies can be managed by a BOM, so this is probably wrong The rest (and also those mentioned above) are pulled in as dependencies of org.jboss.teiid:test-integration-common:8.12.5.redhat-6 which unpacks jboss-as-dist on which they depend transitively. I think they should not be included, because we don't need to have test-integration-common rebuildable with the repo and the jboss-as-dist is a buildtime dependency. BTW should we include test-integration-* at all? And regarding the missing dependencies - they are managed by our BOM to different version or not managed by the BOM, so the version from the pom is used, e.g. * jaxb-impl is managed to version 2.2.5.redhat-9 (included) * jaxws-rt is not managed, so 2.1.4 available in central is used * commons-collections is managed to version 3.2.1.redhat-7 * ... So I think the validator is not set up correctly to use the same BOM as we do with the repository build or there is a bug. And please note that not all artifacts in the repository should match the versions in the BOM, because for quickstart builds the BOM is not injected by the repository builder, but it relies on the one used in the quickstart's pom, so they can resolve different versions if they use different BOM. In maven repository of ER5, all mentioned artifacts are removed except for: org.scannotation:scannotation:pom:1.0.3.redhat-4 org.jboss.remotingjmx:remoting-jmx:pom:1.1.3.Final-redhat-2 Setting to VERIFIED. See comments 3 and 5. |
Created attachment 1167243 [details] dependency-not-found errors Description of problem: Maven repository contains some artifacts, which seem to be not referenced by any Teiid/ModeShape related artifact [1]. Those artifacts cause depedency-not-found errors (which, I suppose, are not very serious) in testing because there are unsatisfied dependencies for those artifacts. For more details see attachment [2]. In the report, you can see that none of the paths contains Teiid/ModeShape related artifact. Therefore, I think that those dependencies could be removed from the repository. Removing them from the repo could also decrease size of the repository. Additional info: I removed mentioned artifacts and tried to build quickstarts and create new connector and translator project via archetype. Both tests pass. [1] unnecessary artifacts: org.apache.juddi.scout:scout:pom:1.2.6.redhat-3 org.apache.juddi:juddi-client:pom:3.1.3.redhat-3 org.apache.cxf:cxf-tools-java2ws:pom:2.7.18.redhat-1 org.apache.cxf.services.ws-discovery:cxf-services-ws-discovery-api:pom:2.7.18.redhat-1 org.apache.neethi:neethi:pom:3.0.2.redhat-3 org.hibernate:hibernate-search-orm:pom:4.6.0.Final-redhat-2 org.scannotation:scannotation:pom:1.0.3.redhat-4 org.jboss.as:jboss-as-core-model-test-framework:pom:7.5.8.Final-redhat-2 org.jboss.as:jboss-as-core-model-test:pom:7.5.8.Final-redhat-2 org.jboss.as:jboss-as-jsf-injection:pom:7.5.8.Final-redhat-2 org.jboss.jbossts.arjunacore:arjunacore:pom:4.17.32.Final-redhat-1 org.jboss.jbossts.xts:jbossxts:pom:4.17.32.Final-redhat-1 org.jboss.jbossts:jbosstxbridge:pom:4.17.32.Final-redhat-1 org.jboss.remotingjmx:remoting-jmx:pom:1.1.3.Final-redhat-2 org.jboss.seam.integration:jboss-seam-int-jbossas:pom:6.0.0.GA-redhat-3 org.hornetq:hornetq-jms-server:pom:2.3.25.SP9-redhat-1 org.picketbox:picketbox-infinispan:pom:4.1.2.Final-redhat-1 org.opensaml:xmltooling:pom:1.3.4.redhat-3 net.java.dev.msv:msv-core:pom:2011.1-redhat-2 relaxngcc:relaxngcc:pom:1.12-redhat-2 [2] For each missing dependency (miss:...) you can see which artifact depends on it (one or more from:...) with optional "transitive path" if it is not a direct dependency (path:...).