-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7572/
-----------------------------------------------------------
Review request for hcatalog.
Description
-------
Updates to simplify HCatalog dependencies and improve the build system.
The main feature of this patch is being more specific with dependencies for our
different artifacts. For example, hcatalog-core currently pulls in HBase, which
pulls in a LOT of stuff like jersey, avro, etc. This means everyone who depends
on hcatalog-core is going to pull these transitive dependencies in, and they're
far more likely to have jar conflict issues when really these libraries are not
even necessary for hcatalog-core. They are necessary for the hbase storage
handler, so that's where we now depend on them. Similar with jersey -- webhcat
needs that, so we include it there instead of at the hcatalog-core level.
A secondary feature of this patch is the actual/expected libs check. This makes
it really easy to see exactly what jars we transitively depend on for all of
our subprojects. If they change the build will fail, and there's a great error
message (showing the diff) along with a copy/pasteable command to update the
expected libs. What this means is we know exactly what our current dependencies
are, and also know exactly when they change. When they change, the jars that
have changed are included with the diff posted for review. No more surprises.
This also means that stuff we still pull in but don't really need (kfs for
example) we can systematically manage that down.
Lastly, this change continues to simplify the build by using more of the common
targets in areas that have not yet fully switched to the build-common.xml
stuff. We still have some work to do here, but that would really expand the
scope of this change (which is focused on reducing dependencies) so I'd like to
do that as a separate patch.
This addresses bug HCATALOG-520.
https://issues.apache.org/jira/browse/HCATALOG-520
Diffs
-----
.gitignore e421e48
build-support/expected-libs.txt PRE-CREATION
build-support/failwhale.txt PRE-CREATION
build-support/scripts/list-libs.py PRE-CREATION
build.xml 0d8918d
ivy.xml c19972d
ivy/libraries.properties 4c9c3b1
storage-handlers/hbase/build.xml 63824e8
storage-handlers/hbase/pom.xml 73d97c9
webhcat/svr/pom.xml 1bf6ef2
Diff: https://reviews.apache.org/r/7572/diff/
Testing
-------
Lots of local builds & running the tests. I've run queries with the pig
adapter. To see the logs for a full build, see
https://travis.ci.cloudbees.com/job/HCATALOG-520_simfy_deps/7/
Thanks,
Travis Crawford