Here is an example of a (possible) *dependency conflict* caused by *Apache Geode* requiring a different version of Jackson than is pulled in by HBase, which also has a dependency on Jackson, where HBase is a also dependency of *Apache Geode*.
This dependency graph comes from *Spring Data GemFire* (with *Apache Geode* support), hence the dependency on org.apache.geode:gemfire-core... [INFO] +- *org.apache.geode:gemfire-core:jar:1.0.0-incubating-SNAPSHOT:compile* [INFO] | +- org.apache.geode:gemfire-common:jar:1.0.0-incubating-SNAPSHOT:compile [INFO] | +- javax.resource:javax.resource-api:jar:1.7:compile [INFO] | +- org.eclipse.jetty:jetty-xml:jar:9.3.6.v20151106:compile [INFO] | +- mx4j:mx4j-tools:jar:3.0.1:compile [INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile [INFO] | +- it.unimi.dsi:fastutil:jar:7.0.2:compile [INFO] | +- org.eclipse.jetty:jetty-servlet:jar:9.3.6.v20151106:compile [INFO] | +- org.xerial.snappy:snappy-java:jar:1.1.1.6:compile [INFO] | +- org.apache.logging.log4j:log4j-jul:jar:2.5:runtime [INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.5:compile [INFO] | +- commons-modeler:commons-modeler:jar:2.0:compile [INFO] | | +- commons-digester:commons-digester:jar:1.2:compile [INFO] | | +- commons-logging:commons-logging-api:jar:1.0.4:compile [INFO] | | +- mx4j:mx4j-jmx:jar:2.1.1:compile [INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile [INFO] | +- io.netty:netty-all:jar:4.0.4.Final:compile [INFO] | +- jline:jline:jar:2.12:compile [INFO] | +- com.github.stephenc.findbugs:findbugs-annotations:jar:1.3.9-1:compile [INFO] | +- javax.activation:activation:jar:1.1.1:compile [INFO] | +- org.apache.logging.log4j:log4j-jcl:jar:2.5:runtime [INFO] | +- org.apache.logging.log4j:log4j-core:jar:2.5:compile [INFO] | +- org.fusesource.jansi:jansi:jar:1.8:compile [INFO] | +- org.eclipse.jetty:jetty-io:jar:9.3.6.v20151106:compile [INFO] | +- javax.mail:javax.mail-api:jar:1.4.5:compile [INFO] | +- mx4j:mx4j-remote:jar:3.0.1:compile [INFO] | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.5:runtime [INFO] | +- mx4j:mx4j:jar:3.0.1:compile [INFO] | +- org.eclipse.jetty:jetty-security:jar:9.3.6.v20151106:compile [INFO] | +- org.eclipse.jetty:jetty-util:jar:9.3.6.v20151106:compile [INFO] | +- *com.fasterxml.jackson.core:jackson-core:jar:2.2.0:compile* [INFO] | +- org.eclipse.jetty:jetty-server:jar:9.3.6.v20151106:compile [INFO] | +- org.eclipse.jetty:jetty-webapp:jar:9.3.6.v20151106:compile [INFO] | +- *org.apache.hbase:hbase:jar:0.94.27:compile* [INFO] | | +- com.yammer.metrics:metrics-core:jar:2.1.2:compile [INFO] | | +- com.google.guava:guava:jar:11.0.2:compile [INFO] | | +- commons-cli:commons-cli:jar:1.2:compile [INFO] | | +- commons-configuration:commons-configuration:jar:1.6:compile [INFO] | | | +- commons-collections:commons-collections:jar:3.2.1:compile [INFO] | | | \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile [INFO] | | +- com.github.stephenc.high-scale-lib:high-scale-lib:jar:1.1.1:compile [INFO] | | +- commons-codec:commons-codec:jar:1.4:compile [INFO] | | +- commons-httpclient:commons-httpclient:jar:3.1:compile [INFO] | | +- commons-io:commons-io:jar:2.1:compile [INFO] | | +- log4j:log4j:jar:1.2.16:compile [INFO] | | +- org.apache.avro:avro:jar:1.5.3:compile [INFO] | | +- org.apache.avro:avro-ipc:jar:1.5.3:compile [INFO] | | | +- org.jboss.netty:netty:jar:3.2.4.Final:compile [INFO] | | | \- org.apache.velocity:velocity:jar:1.7:compile [INFO] | | +- org.apache.zookeeper:zookeeper:jar:3.4.5:compile [INFO] | | +- org.apache.thrift:libthrift:jar:0.8.0:compile [INFO] | | | +- org.apache.httpcomponents:httpclient:jar:4.1.2:compile [INFO] | | | \- org.apache.httpcomponents:httpcore:jar:4.1.3:compile [INFO] | | +- org.jruby:jruby-complete:jar:1.6.5:compile [INFO] | | +- org.mortbay.jetty:jetty:jar:6.1.26:compile [INFO] | | +- org.mortbay.jetty:jetty-util:jar:6.1.26:compile [INFO] | | +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile [INFO] | | | \- org.eclipse.jdt:core:jar:3.1.1:compile [INFO] | | +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile [INFO] | | +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile [INFO] | | +- *org.codehaus.jackson:jackson-core-asl:jar:1.8.8:compile* [INFO] | | +- *org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile* [INFO] | | +- *org.codehaus.jackson:jackson-jaxrs:jar:1.8.8:compile* [INFO] | | +- *org.codehaus.jackson:jackson-xc:jar:1.8.8:compile* [INFO] | | +- org.slf4j:slf4j-log4j12:jar:1.4.3:compile It is possible that packaging between these similar Jackson JARs (codehaus is the older set) is different and may not cause a conflict for *Apache Geode* itself. However, it did cause a conflict for *Spring Data GemFire* with *Apache Geode* support, which would be no different than an application using *Apache Geode* where the application itself also has a dependency on Jackson. SDG has an explicit dependency on Jackson for reason outside of *Apache Geode*. -John On Wed, Feb 10, 2016 at 10:27 AM, Anthony Baker <[email protected]> wrote: > My only concern with slotting GEODE-37 into M2 is that we’ve already added > some significant new features to the code base (Pulse, WAN, CQ, Modules). > It would be nice to stabilize those and get them into our user’s hands > before tackling another potentially destabilizing set of changes that could > extend the release timeframe. > > If we do have extra bandwidth during this release I think disincorporating > the jopt-simple / JSON code would be nice, IMHO. > > Anthony > > > > On Feb 9, 2016, at 5:52 PM, Swapnil Bawaskar <[email protected]> > wrote: > > > > I think we should prioritize GEODE-37 (package renaming), so that we > don't > > break our early users' applications, and GEODE-36 (Rename gfsh) so that > we > > don't break their scripts. > > > > -- -John 503-504-8657 john.blum10101 (skype)
