I forgot to look at the different branches, seems we should target 2.1-maint: https://github.com/neo4j/neo4j/blob/2.1-maint/community/cypher/cypher/pom.xml#L103
/anders On Tue, Oct 21, 2014 at 6:09 PM, Davide D'Alto <[email protected]> wrote: > Thanks Anders, > I'll create a patch for it. > > Cheers, > Davide > > On Tue, Oct 21, 2014 at 4:58 PM, Anders Nawroth <[email protected]> > wrote: > >> I think you are right, we should exclude the transitive dependencies and >> add back the correct versions. >> >> This looks like the correct place to do it: >> >> https://github.com/neo4j/neo4j/blob/master/community/cypher/cypher/pom.xml#L96 >> >> /anders >> >> On Tue, Oct 21, 2014 at 5:35 PM, Davide D'Alto <[email protected]> >> wrote: >> >>> > Have you tried excluding the conflicting transitive dependencies and >>> adding them back with the correct version? >>> >>> That's what I've done so far. >>> >>> I have two problems with this solution: >>> 1) I have to do some additional work (this affect only my use case so it >>> might be not that important) >>> 2) I don't know if the dependency has been tested with the particular >>> version of the library I'm going to use >>> >>> Using a BOM or applying this change in the pom of org.neo4j:neo4 would >>> solve the problem, I guess. >>> >>> By the way, I would be happy to create a patch for this. >>> >>> Davide >>> >>> On Tue, Oct 21, 2014 at 4:03 PM, Anders Nawroth < >>> [email protected]> wrote: >>> >>>> Have you tried excluding the conflicting transitive dependencies and >>>> adding them back with the correct version? >>>> >>>> /anders >>>> >>>> >>>> On Tuesday, October 21, 2014 12:11:18 PM UTC+2, Davide D'Alto wrote: >>>> >>>>> > However, we do see in several places in your output that you have >>>>> mention of Neo4j 2.0.3 and Neo4j 2.1.5. Isn't this as simple as you having >>>>> upgraded from 2.0.3 to 2.1.5, and the older version is still in the local >>>>> maven repository, and maven is correctly omitting it as a duplicate? >>>>> Perhaps if you deleted .m2/repository and re-ran maven, the conflicts >>>>> would >>>>> be cleared up? >>>>> >>>>> Nope, this is the dependencies tree of org.neo4j:neo4j:jar:2.1.5: >>>>> >>>>> [INFO] +*- org.neo4j:neo4j:jar:2.1.5:compile* >>>>> [INFO] | +- org.neo4j:neo4j-kernel:jar:2.1.5:compile >>>>> [INFO] | | +- org.neo4j:neo4j-primitive- >>>>> collections:jar:2.1.5:compile >>>>> [INFO] | | \- org.apache.geronimo.specs: >>>>> geronimo-jta_1.1_spec:jar:1.1.1:compile >>>>> [INFO] | +- org.neo4j:neo4j-lucene-index:jar:2.1.5:compile >>>>> [INFO] | | +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | | \- org.apache.lucene:lucene-core:jar:3.6.2:compile >>>>> [INFO] | +- *org.neo4j:neo4j-graph-algo:jar:2.1.5:compile* >>>>> [INFO] | | \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | +- org.neo4j:neo4j-udc:jar:2.1.5:compile >>>>> [INFO] | | \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | +- org.neo4j:neo4j-graph-matching:jar:2.1.5:compile >>>>> [INFO] | | \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | *+- org.neo4j:neo4j-cypher:jar:2.1.5:compile* >>>>> [INFO] | | +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | | +- (org.neo4j:neo4j-lucene-index:jar:2.1.5:compile - >>>>> omitted for duplicate) >>>>> [INFO] | | +- (org.neo4j:neo4j-graph-matching:jar:2.1.5:compile - >>>>> omitted for duplicate) >>>>> [INFO] | | +- (org.neo4j:neo4j-graph-algo:jar:2.1.5:compile - >>>>> omitted for duplicate) >>>>> [INFO] | | *+*- org.neo4j:neo4j-cypher-commons:jar:2.1.5:compile >>>>> [INFO] | | | +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted >>>>> for duplicate) >>>>> [INFO] | | | +- (com.googlecode.concurrentlinkedhashmap: >>>>> concurrentlinkedhashmap-lru:jar:1.3.1:compile - omitted for duplicate) >>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.4:compile - >>>>> omitted for duplicate) >>>>> [INFO] | | * +- >>>>> org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3:compile* >>>>> [INFO] | | | +- (org.neo4j:neo4j-kernel:jar:2.0.3:compile - >>>>> omitted for conflict with 2.1.5) >>>>> [INFO] | | | +- (org.neo4j:neo4j-lucene-index:jar:2.0.3:compile - >>>>> omitted for conflict with 2.1.5) >>>>> [INFO] | | | +- (org.neo4j:neo4j-graph-matching:jar:2.0.3:compile >>>>> - omitted for conflict with 2.1.5) >>>>> [INFO] | | | +- *(org.neo4j:neo4j-graph-algo:jar:2.0.3:compile - >>>>> omitted for conflict with 2.1.5)* >>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.3:compile - >>>>> omitted for conflict with 2.10.4) >>>>> [INFO] | | +- org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3:compile >>>>> [INFO] | | | +- org.parboiled:parboiled-scala_ >>>>> 2.10:jar:1.1.6:compile >>>>> [INFO] | | | | \- (org.parboiled:parboiled-core:jar:1.1.6:compile >>>>> - omitted for duplicate) >>>>> [INFO] | | | +- net.sf.opencsv:opencsv:jar:2.0:compile >>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.3:compile - >>>>> omitted for conflict with 2.10.4) >>>>> [INFO] | | +- org.neo4j:neo4j-cypher-compiler-2.1:jar:2.1.5:compile >>>>> [INFO] | | | +- (org.parboiled:parboiled-scala_2.10:jar:1.1.6:compile >>>>> - omitted for duplicate) >>>>> [INFO] | | | +- (net.sf.opencsv:opencsv:jar:2.3:compile - omitted >>>>> for conflict with 2.0) >>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.4:compile - >>>>> omitted for duplicate) >>>>> [INFO] | | +- com.googlecode.concurrentlinkedhashmap: >>>>> concurrentlinkedhashmap-lru:jar:1.3.1:compile >>>>> [INFO] | | \- org.scala-lang:scala-library:jar:2.10.4:compile >>>>> [INFO] | \- org.neo4j:neo4j-jmx:jar:2.1.5:compile >>>>> >>>>> If I'm not wrong neo4j-graph-algo, for example, get included with >>>>> two different versions 2.0.3 and 2.1.5 >>>>> >>>>> >>>>> >>>>> On Tue, Oct 21, 2014 at 10:46 AM, Davide D'Alto <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Craig, >>>>>> the problem for me is that they have a transitive dependency with a >>>>>> different version of some libraries, like scala-library for example: >>>>>> >>>>>> org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3 requires >>>>>> org.scala-lang:scala-library:jar:2.10.3:compile >>>>>> >>>>>> while >>>>>> >>>>>> org.neo4j:neo4j-cypher:jar:2.1.5:compile requires >>>>>> org.scala-lang:scala-library:jar:2.10.4:compile >>>>>> >>>>>> Basically, I'm wondering if there is a particular reason for them to >>>>>> require different versions of the same library since it seems that using >>>>>> the most up to date is ok for both >>>>>> >>>>>> >>>>>> On Tue, Oct 21, 2014 at 10:31 AM, Craig Taverner <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> My understanding is that these are not two versions of the same >>>>>>> library but the same version of two different libraries: >>>>>>> >>>>>>> - org.neo4j:neo4j-cypher-compiler-*1.9*:jar:*2.0.3* >>>>>>> - org.neo4j:neo4j-cypher-compiler-*2.0*:jar:*2.0.3* >>>>>>> >>>>>>> The version of both is *2.0.3*, the same. The libraries however >>>>>>> have different *names* (one is named 1.9 and one is named 2.0). >>>>>>> Hence two different libraries. Both part of Neo4j 2.0.3. This means, as >>>>>>> Anders said, that Neo4j 2.0.3 contains two levels of support for cypher. >>>>>>> >>>>>>> However, we do see in several places in your output that you have >>>>>>> mention of Neo4j 2.0.3 and Neo4j 2.1.5. Isn't this as simple as you >>>>>>> having >>>>>>> upgraded from 2.0.3 to 2.1.5, and the older version is still in the >>>>>>> local >>>>>>> maven repository, and maven is correctly omitting it as a duplicate? >>>>>>> Perhaps if you deleted .m2/repository and re-ran maven, the conflicts >>>>>>> would >>>>>>> be cleared up? >>>>>>> >>>>>>> Regards, Craig >>>>>>> >>>>>>> On Tue, Oct 21, 2014 at 11:18 AM, Davide D'Alto <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Right, >>>>>>>> I didn't explain my problem properly, sorry. >>>>>>>> >>>>>>>> In our project we are using the maven enforcer plugin ( >>>>>>>> http://maven.apache.org/enforcer/maven-enforcer-plugin/) to check >>>>>>>> when two dependencies refer to different version of the same library. >>>>>>>> With Neo4j this rule fails. >>>>>>>> >>>>>>>> Maven will try to solve this conflict quietly, but you can see them >>>>>>>> running >>>>>>>> >>>>>>>> mvn dependency:tree -Dverbose=true >>>>>>>> >>>>>>>> These are the conflicts caused by >>>>>>>> "org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3" >>>>>>>> and "org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3": >>>>>>>> >>>>>>>> [INFO] | | | +- (org.neo4j:neo4j-kernel:jar:2.0.3:compile - >>>>>>>> omitted for conflict with 2.1.5) >>>>>>>> [INFO] | | | +- (org.neo4j:neo4j-lucene-index:jar:2.0.3:compile >>>>>>>> - omitted for conflict with 2.1.5) >>>>>>>> [INFO] | | | +- (org.neo4j:neo4j-graph-matching:jar:2.0.3:compile >>>>>>>> - omitted for conflict with 2.1.5) >>>>>>>> [INFO] | | | +- (org.neo4j:neo4j-graph-algo:jar:2.0.3:compile - >>>>>>>> omitted for conflict with 2.1.5) >>>>>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.3:compile >>>>>>>> - omitted for conflict with 2.10.4) >>>>>>>> [INFO] | | | \- (org.scala-lang:scala-library:jar:2.10.3:compile >>>>>>>> - omitted for conflict with 2.10.4) >>>>>>>> [INFO] | | | +- (net.sf.opencsv:opencsv:jar:2.3:compile - >>>>>>>> omitted for conflict with 2.0) >>>>>>>> >>>>>>>> Is there any particular reason to use different versions of the >>>>>>>> same library? >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Oct 20, 2014 at 11:20 PM, Anders Nawroth < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> How did you add org.neo4j:neo4j to the project? >>>>>>>>> Any duplicates or conflicts should be resolved automatically, at >>>>>>>>> least when using Maven. >>>>>>>>> The neo4j-cypher-compiler-* modules are special -- they add >>>>>>>>> support for the syntax from previous versions and are not duplicates. >>>>>>>>> >>>>>>>>> This is the final dependency tree I get, and there's no duplicates >>>>>>>>> left in it: >>>>>>>>> >>>>>>>>> org.neo4j:neo4j:jar:2.1.5 >>>>>>>>> +- org.neo4j:neo4j-kernel:jar:2.1.5:compile >>>>>>>>> | +- org.neo4j:neo4j-primitive-collections:jar:2.1.5:compile >>>>>>>>> | \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1. >>>>>>>>> 1:compile >>>>>>>>> +- org.neo4j:neo4j-lucene-index:jar:2.1.5:compile >>>>>>>>> | \- org.apache.lucene:lucene-core:jar:3.6.2:compile >>>>>>>>> +- org.neo4j:neo4j-graph-algo:jar:2.1.5:compile >>>>>>>>> +- org.neo4j:neo4j-udc:jar:2.1.5:compile >>>>>>>>> +- org.neo4j:neo4j-graph-matching:jar:2.1.5:compile >>>>>>>>> +- org.neo4j:neo4j-cypher:jar:2.1.5:compile >>>>>>>>> | +- org.neo4j:neo4j-cypher-commons:jar:2.1.5:compile >>>>>>>>> | +- org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3:compile >>>>>>>>> | +- org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3:compile >>>>>>>>> | | +- org.parboiled:parboiled-scala_2.10:jar:1.1.6:compile >>>>>>>>> | | | \- org.parboiled:parboiled-core:jar:1.1.6:compile >>>>>>>>> | | \- net.sf.opencsv:opencsv:jar:2.0:compile >>>>>>>>> | +- org.neo4j:neo4j-cypher-compiler-2.1:jar:2.1.5:compile >>>>>>>>> | +- com.googlecode.concurrentlinkedhashmap: >>>>>>>>> concurrentlinkedhashmap-lru:jar:1.3.1:compile >>>>>>>>> | \- org.scala-lang:scala-library:jar:2.10.4:compile >>>>>>>>> +- org.neo4j:neo4j-jmx:jar:2.1.5:compile >>>>>>>>> \- com.sun.tools:tools:jar:1.7:system >>>>>>>>> >>>>>>>>> I don't know if the additional cypher-compiler libs could be made >>>>>>>>> optional, I've never looked into how they are loaded. >>>>>>>>> >>>>>>>>> /anders >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Oct 20, 2014 at 7:28 PM, Davide D'Alto <[email protected] >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> when I include the artifact org.neo4j:neo4j in the project, >>>>>>>>>> several other dependencies get added twice with different >>>>>>>>>> versions. >>>>>>>>>> >>>>>>>>>> This seems caused by the following dependencies: >>>>>>>>>> neo4j-cypher-compiler-1.9 and neo4j-cypher-compiler-2.0. >>>>>>>>>> >>>>>>>>>> For example I have: >>>>>>>>>> org.neo4j:neo4j-lucene-index:2.0.3 and 2.1.5 >>>>>>>>>> net.sf.opencsv:opencsv:2.3 and 2.0 >>>>>>>>>> org.scala-lang:scala-library 2.10.4 and 2.10.3 >>>>>>>>>> >>>>>>>>>> and so on ... >>>>>>>>>> >>>>>>>>>> Wouldn't be possible to uniform the dependencies and select just >>>>>>>>>> one version or at least make the cypher compiler libraries optional? >>>>>>>>>> On exception at start up is thrown if I remove them. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Davide >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "Neo4j" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>>> the Google Groups "Neo4j" group. >>>>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/ >>>>>>>>> topic/neo4j/fDLiKEnKnAM/unsubscribe. >>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>> to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Neo4j" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "Neo4j" group. >>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/ >>>>>>> topic/neo4j/fDLiKEnKnAM/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "Neo4j" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Neo4j" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Neo4j" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "Neo4j" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
