All,
I'm trying to sort out some discrepancies in the httpclient
dependencies in ARQ and Fuseki. Basically I'm wondering why specific
versions of httpcore and commons-codec are specified.
httpclient:4.2.3 depends on httpcore:4.2.2 and commons-codec:1.6 (the
dependency on the previous version of httpcore is pretty odd).
However, ARQ itself directly depends on httpcore:4.2.3 and
commons-codec:1.5, which means they override the transitive
dependencies specified by httpclient. Is there a reason for these
different versions? If no, then we should probably eliminate the
direct dependencies and if no, we should explicitly exclude the
transitive dependencies.
I am going to take the first approach of eliminating the direct
dependencies (and thus reverting to httpcore:4.2.2). Let me know if
this is not good or if we really need httpcore:4.2.3 and I'll go the
other route. The other thing I'm going to do is turn on the enforcer
plugin to run for every compile, so hopefully it'll help keep our
dependencies kosher in the future.
-Stephen
Output from "mvn validate":
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Jena - ARQ (SPARQL 1.1 Query Engine) 2.10.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (default-cli) @ jena-arq ---
[WARNING]
Dependency convergence error for
org.apache.httpcomponents:httpcore:4.2.2 paths to dependency are:
+-org.apache.jena:jena-arq:2.10.0-SNAPSHOT
+-org.apache.httpcomponents:httpclient:4.2.2
+-org.apache.httpcomponents:httpcore:4.2.2
and
+-org.apache.jena:jena-arq:2.10.0-SNAPSHOT
+-org.apache.httpcomponents:httpcore:4.2.3
[WARNING]
Dependency convergence error for commons-codec:commons-codec:1.5 paths
to dependency are:
+-org.apache.jena:jena-arq:2.10.0-SNAPSHOT
+-commons-codec:commons-codec:1.5
and
+-org.apache.jena:jena-arq:2.10.0-SNAPSHOT
+-org.apache.httpcomponents:httpclient:4.2.2
+-commons-codec:commons-codec:1.6
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Jena - Fuseki (SPARQL 1.1 Server) 0.2.6-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (default-cli) @ jena-fuseki ---
[WARNING]
Dependency convergence error for
org.apache.httpcomponents:httpclient:4.2.3 paths to dependency are:
+-org.apache.jena:jena-fuseki:0.2.6-SNAPSHOT
+-org.apache.jena:jena-arq:2.10.0-SNAPSHOT
+-org.apache.httpcomponents:httpclient:4.2.3
and
+-org.apache.jena:jena-fuseki:0.2.6-SNAPSHOT
+-org.apache.httpcomponents:httpclient:4.2.2