Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Not A Bug
-
Affects Version/s: 1.0.1
-
Fix Version/s: None
-
Component/s: Standard Rules
-
Labels:None
-
Environment:MacOSX && Linux RedHead
-
Number of attachments :
Description
Hi there,
I'm a bit lost. We are using Hibernate4. Unfortunately they mixed up their dependencies a bit, so that we managed them in our pom:
<dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.GA</version> </dependency>
The dependency tree looks good. The dependency jboss-logging 3.1.0.CR2 is "overwritten" by the above definition:
[INFO] | \- ourgroup:nic-api:jar:103:compile [INFO] | +- ourgroup:persistence:jar:2.22-Hibernate4:compile [INFO] | | +- org.springframework:spring-test:jar:3.1.1.RELEASE:compile [INFO] | | +- javax.annotation:jsr250-api:jar:1.0:compile [INFO] | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | +- de.hypoport.ef2:ef2-core:jar:2.22-Hibernate4:compile [INFO] | | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-context:jar:3.1.1.RELEASE:compile [INFO] | | | +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-expression:jar:3.1.1.RELEASE:compile [INFO] | | +- org.hibernate:hibernate-core:jar:4.1.2.Final:compile [INFO] | | | +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile [INFO] | | | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile [INFO] | | | +- dom4j:dom4j:jar:1.6.1:compile [INFO] | | | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile [INFO] | | | +- org.javassist:javassist:jar:3.15.0-GA:compile [INFO] | | | \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile [INFO] | | | \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted for conflict with 3.1.0.GA)
Running the enforcer rule DependencyConvergence results in an error:
[ERROR]
Dependency convergence error for org.jboss.logging:jboss-logging:3.1.0.GA paths to dependency are:
+-ourgroup:rules-assembly:11-SNAPSHOT
+-ourgroup:scoring:139
+-ourgroup:nic-api:103
+-ourgroup:persistence:2.22-Hibernate4
+-org.hibernate:hibernate-core:4.1.2.Final
+-org.jboss.logging:jboss-logging:3.1.0.GA
and
+-ourgroup:rules-assembly:11-SNAPSHOT
+-ourgroup:scoring:139
+-ourgroup:nic-api:103
+-ourgroup:persistence:2.22-Hibernate4
+-org.hibernate:hibernate-core:4.1.2.Final
+-org.hibernate.common:hibernate-commons-annotations:4.0.1.Final
+-org.jboss.logging:jboss-logging:3.1.0.CR2
This feels unexpected. Is this a bug, or do I understand s.th. wrong
Thanks a lot, Leif
Activity
Robert Scholte
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Description |
Hi there,
I'm a bit lost. We are using Hibernate4. Unfortunately they mixed up their dependencies a bit, so that we managed them in our pom: <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.GA</version> </dependency> The dependency tree looks good. The dependency jboss-logging 3.1.0.CR2 is "overwritten" by the above definition: [INFO] | \- ourgroup:nic-api:jar:103:compile [INFO] | +- ourgroup:persistence:jar:2.22-Hibernate4:compile [INFO] | | +- org.springframework:spring-test:jar:3.1.1.RELEASE:compile [INFO] | | +- javax.annotation:jsr250-api:jar:1.0:compile [INFO] | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | +- de.hypoport.ef2:ef2-core:jar:2.22-Hibernate4:compile [INFO] | | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-context:jar:3.1.1.RELEASE:compile [INFO] | | | +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-expression:jar:3.1.1.RELEASE:compile [INFO] | | +- org.hibernate:hibernate-core:jar:4.1.2.Final:compile [INFO] | | | +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile [INFO] | | | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile [INFO] | | | +- dom4j:dom4j:jar:1.6.1:compile [INFO] | | | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile [INFO] | | | +- org.javassist:javassist:jar:3.15.0-GA:compile [INFO] | | | \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile [INFO] | | | \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted for conflict with 3.1.0.GA) Running the enforcer rule DependencyConvergence results in an error: [ERROR] Dependency convergence error for org.jboss.logging:jboss-logging:3.1.0.GA paths to dependency are: +-ourgroup:rules-assembly:11-SNAPSHOT +-ourgroup:scoring:139 +-ourgroup:nic-api:103 +-ourgroup:persistence:2.22-Hibernate4 +-org.hibernate:hibernate-core:4.1.2.Final +-org.jboss.logging:jboss-logging:3.1.0.GA and +-ourgroup:rules-assembly:11-SNAPSHOT +-ourgroup:scoring:139 +-ourgroup:nic-api:103 +-ourgroup:persistence:2.22-Hibernate4 +-org.hibernate:hibernate-core:4.1.2.Final +-org.hibernate.common:hibernate-commons-annotations:4.0.1.Final +-org.jboss.logging:jboss-logging:3.1.0.CR2 This feels unexpected. Is this a bug, or do I understand s.th. wrong:) Thanks a lot, Leif |
Hi there,
I'm a bit lost. We are using Hibernate4. Unfortunately they mixed up their dependencies a bit, so that we managed them in our pom: {code:xml} <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.GA</version> </dependency> {code} The dependency tree looks good. The dependency jboss-logging 3.1.0.CR2 is "overwritten" by the above definition: {noformat} [INFO] | \- ourgroup:nic-api:jar:103:compile [INFO] | +- ourgroup:persistence:jar:2.22-Hibernate4:compile [INFO] | | +- org.springframework:spring-test:jar:3.1.1.RELEASE:compile [INFO] | | +- javax.annotation:jsr250-api:jar:1.0:compile [INFO] | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | +- de.hypoport.ef2:ef2-core:jar:2.22-Hibernate4:compile [INFO] | | | +- (de.hypoport.ef2:ef2-types:jar:2.22-Hibernate4:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-context:jar:3.1.1.RELEASE:compile [INFO] | | | +- (org.springframework:spring-beans:jar:3.1.1.RELEASE:compile - omitted for duplicate) [INFO] | | | \- org.springframework:spring-expression:jar:3.1.1.RELEASE:compile [INFO] | | +- org.hibernate:hibernate-core:jar:4.1.2.Final:compile [INFO] | | | +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile [INFO] | | | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile [INFO] | | | +- dom4j:dom4j:jar:1.6.1:compile [INFO] | | | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile [INFO] | | | +- org.javassist:javassist:jar:3.15.0-GA:compile [INFO] | | | \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile [INFO] | | | \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted for conflict with 3.1.0.GA) {noformat} Running the enforcer rule DependencyConvergence results in an error: {noformat} [ERROR] Dependency convergence error for org.jboss.logging:jboss-logging:3.1.0.GA paths to dependency are: +-ourgroup:rules-assembly:11-SNAPSHOT +-ourgroup:scoring:139 +-ourgroup:nic-api:103 +-ourgroup:persistence:2.22-Hibernate4 +-org.hibernate:hibernate-core:4.1.2.Final +-org.jboss.logging:jboss-logging:3.1.0.GA and +-ourgroup:rules-assembly:11-SNAPSHOT +-ourgroup:scoring:139 +-ourgroup:nic-api:103 +-ourgroup:persistence:2.22-Hibernate4 +-org.hibernate:hibernate-core:4.1.2.Final +-org.hibernate.common:hibernate-commons-annotations:4.0.1.Final +-org.jboss.logging:jboss-logging:3.1.0.CR2 {noformat} This feels unexpected. Is this a bug, or do I understand s.th. wrong:) Thanks a lot, Leif |
Robert Scholte
made changes -
| Status | Open [ 1 ] | Closed [ 6 ] |
| Assignee | Robert Scholte [ rfscholte ] | |
| Resolution | Not A Bug [ 6 ] |
The dependencyConvergence rule checks if all dependencies (direct and transitive) refer to the same version. This way you know for sure that every dependency uses the same dependencies as it was released.
You might be interested in requireUpperBoundDeps, a new rule which has just been released.