> On Aug. 2, 2012, 6:30 a.m., Francis Liu wrote: > > Instead of using "-dev" suffix can we use the maven style "-SNAPSHOT" > > instead? > > > > Some issues: > > > > * Is ant jar/test in webhcat/svr supposed to work? > > * ant jar didn't build the storage handlers. > > * Tried ant jar-storage-handlers and it fails as well. > > Travis Crawford wrote: > Hey Francis, thanks for taking a look. > > Suffix: absolutely, let's switch to -SNAPSHOT. > > The build only works from the top-level. That is, if you "ant test" at > the top level it will build+test all subprojects. If you "cd webhcat/svr" and > "ant test" it will fail. I don't like this at all, but given the current > structure it makes the most sense. What I'd like to do as a subsequent patch > is move "core" to a subproject and use the common build stuff. Then we can > make subproject builds work, and the top-level is just a driver for all > builds. > > Thoughts on that approach? Given the patch is already quite large I > thought it would be best to do things in stages.
Yes that sounds fine. Just wanted to make sure this behavior will work eventually. - Francis ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/6012/#review9739 ----------------------------------------------------------- On July 29, 2012, 8 p.m., Travis Crawford wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/6012/ > ----------------------------------------------------------- > > (Updated July 29, 2012, 8 p.m.) > > > Review request for hcatalog. > > > Description > ------- > > Update HCatalog build to use transitive dependencies instead of explicitly > listing them. The primary goal of this change is publishing meaningful POM > files so we can get HCatalog into the central maven repo. > > ant/dependencies.xml > > This is a new file that has much of the Ivy stuff in it. Notice we now do one > resolution per subproject, fetching into per-configuration directories. This > greatly simplifies things, and ensure we only need to resolve once per > subproject. > > ant/deploy.xml > > This has much of the maven-ant-tasks stuff, which is not fully used. I left > this in here because we'll need to sign packages when publishing them. The > only thing truly needed is mvn-init - the other stuff is kept for convenience > in a subsequent change. > > build-common-new.xml > > Main change here is using the shared ivy config stuff. > > build-common.xml > > Mainly set some properties and remove some cruft. I don't really like how > properties are duplicated among several xml files, and would like to > consolidate these into one file or perhaps a build.properties file. I decided > against that at this time because the patch is already getting pretty large > and want to stay focused on getting the artifacts into maven. > > build.xml > > Lots of ivy stuff is removed, using dependencies.xml instead. We also publish > hcatalog-core.jar into the local maven repo at build time, so we can depend > on it from other subprojects. You'll notice later how simple the subproject > ivy files become because of this. > > hcatalog-pig-adapter/build.xml > > Mainly update classpaths. > > hcatalog-pig-adapter/ivy.xml > > Our dependencies are greatly simplified because now we get most things from > hcatalog-core.jar, instead of listing them explicitly. > > ivy.xml > > Lots of simplification here :) Now we primarily get dependencies > transitively, with lots of stuff coming from Hadoop/Hive. A consequence of > this is some jar versions have changed. For example, we get guava from Hive > now, which is r09 instead of 11 like we had specified. I think this is better > actually, because if we're integrating with these other tools we want the > same library versions for the most part. If we do want to explicitly list a > dependency (bump guava for example) we could do that but I haven't at this > time. > > Also not that I've simplified the configurations to two - default and test. > Some jars like jdeb & rat are not technically "test" jars but I decided it > was better to put them there and keep things simple than have a large number > of configurations because that's confusing. The "default" jars are mapped to > the "compile" maven scope when generating the pom file, so things work > roughly as you would expect when depending on hcatalog-core.jar. > > ivy/libraries.properties > > Add maven-ant-tasks, which we use to publish jars in the local repo. We'll > also use these when publishing to the central repo. > > storage-handlers/build.xml > > Mainly classpath stuff, and deleting a bunch of ivy tasks that are now > consolidated into dependencies.xml. > > storage-handlers/hbase/ivy.xml > > Again a really simplified dependencies file now that we can depend on > hcatalog-core.jar. > > > This addresses bug HCATALOG-450. > https://issues.apache.org/jira/browse/HCATALOG-450 > > > Diffs > ----- > > ant/dependencies.xml PRE-CREATION > ant/deploy.xml PRE-CREATION > ant/test.xml PRE-CREATION > build-common-new.xml 3c5e1a0 > build-common.xml 9030d28 > build.properties PRE-CREATION > build.xml 529658f > hcatalog-pig-adapter/build.xml 8b4f6a4 > hcatalog-pig-adapter/ivy.xml 2a278f0 > ivy.xml 268706c > ivy/libraries.properties 74033d7 > src/test/all-tests a945de6 > src/test/excluded-tests 645ad15 > src/test/org/apache/hcatalog/cli/TestEximSemanticAnalysis.java eedda9e > src/test/org/apache/hcatalog/cli/TestEximSemanticAnalysis.java.broken > PRE-CREATION > src/test/org/apache/hcatalog/cli/TestPermsGrp.java 506a4e2 > src/test/org/apache/hcatalog/cli/TestPermsGrp.java.broken PRE-CREATION > storage-handlers/build.xml 6777ce8 > storage-handlers/hbase/build.xml f8ae11a > storage-handlers/hbase/ivy.xml eaa4ed0 > webhcat/svr/build.xml 87d72ab > webhcat/svr/ivy.xml 428c0ae > > Diff: https://reviews.apache.org/r/6012/diff/ > > > Testing > ------- > > > Thanks, > > Travis Crawford > >
