[
https://issues.apache.org/jira/browse/BIGTOP-1222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13944802#comment-13944802
]
Martin Bukatovic commented on BIGTOP-1222:
------------------------------------------
I agree with [~jayunit100] that we should use hadoop instance already installed
on the system (which is quite a requirement for a this kind of test anyway)
instead of having maven to fetch "some" hadoop libraries. I know that some of
hadoop dependencies are specified in the smoke execution pom files, which is
something I don't like but forgot to mention here - so thanks Jay for pointing
this out.
{quote}
I still dont understand fully why, for smoke tests, we care about maven
dependencies at all? To me, they are just a means to an end (we need ITest on
the classpath to run hadoop commands and leverage the awesome bigtop smoke
tests , so we go ahead and find a way to add it - but we dont care much about
having the exact right version of it)....
{quote}
What I mean by dependencies are all the libraries needed to run groovy and the
testing framework, eg. following list are maven generated runtime dependencies
for groovy runtime on one of my machines:
~~~
/opt/m2-local-repo/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar
/opt/m2-local-repo/org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar
/opt/m2-local-repo/junit/junit/4.10/junit-4.10.jar
/opt/m2-local-repo/org/apache/ant/ant-antlr/1.8.2/ant-antlr-1.8.2.jar
/opt/m2-local-repo/org/codehaus/jsr166-mirror/jsr166y/1.7.0/jsr166y-1.7.0.jar
/opt/m2-local-repo/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
/opt/m2-local-repo/com/thoughtworks/xstream/xstream/1.4.1/xstream-1.4.1.jar
/opt/m2-local-repo/org/codehaus/gpars/gpars/0.12/gpars-0.12.jar
/opt/m2-local-repo/org/apache/ivy/ivy/2.2.0/ivy-2.2.0.jar
/opt/m2-local-repo/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
/opt/m2-local-repo/org/codehaus/jsr166-mirror/extra166y/1.7.0/extra166y-1.7.0.jar
/opt/m2-local-repo/bsf/bsf/2.4.0/bsf-2.4.0.jar
/opt/m2-local-repo/org/apache/ant/ant/1.8.2/ant-1.8.2.jar
/opt/m2-local-repo/org/fusesource/jansi/jansi/1.7/jansi-1.7.jar
/opt/m2-local-repo/org/apache/ant/ant-junit/1.8.2/ant-junit-1.8.2.jar
/opt/m2-local-repo/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar
/opt/m2-local-repo/jline/jline/0.9.94/jline-0.9.94.jar
/opt/m2-local-repo/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar
/opt/m2-local-repo/org/codehaus/groovy/groovy-all/1.8.6/groovy-all-1.8.6.jar
/opt/m2-local-repo/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
~~~
And the testing framework requires this:
~~~
/opt/m2-local-repo/commons-logging/commons-logging/1.1/commons-logging-1.1.jar
/opt/m2-local-repo/org/codehaus/groovy/groovy-all/1.8.6/groovy-all-1.8.6.jar
/opt/m2-local-repo/junit/junit/4.11/junit-4.11.jar
/opt/m2-local-repo/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
/opt/m2-local-repo/org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar
/opt/m2-local-repo/org/apache/ant/ant/1.8.2/ant-1.8.2.jar
/opt/m2-local-repo/log4j/log4j/1.2.14/log4j-1.2.14.jar
/opt/m2-local-repo/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar
/opt/m2-local-repo/logkit/logkit/1.0.1/logkit-1.0.1.jar
/opt/m2-local-repo/org/apache/ant/ant-junit/1.8.2/ant-junit-1.8.2.jar
/opt/m2-local-repo/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar
/opt/m2-local-repo/org/apache/bigtop/itest/itest-common/0.8.0-SNAPSHOT/itest-common-0.8.0-SNAPSHOT.jar
~~~
Looking at those lists, I don't find it a good idea to construct them by hand,
so I'm ok with manen (or some other tool) generating them for me. Actually I
find the manual way kind of scary, considering the number of dependencies and
how java handles multiple versions of the same library. (Also it seems I
misused the potato/carrot analogy for this, sorry for this :-)
> Completely gradleize the bigtop smokes
> --------------------------------------
>
> Key: BIGTOP-1222
> URL: https://issues.apache.org/jira/browse/BIGTOP-1222
> Project: Bigtop
> Issue Type: Improvement
> Components: Build
> Affects Versions: 0.7.0
> Reporter: jay vyas
>
> Currently, there is a JIRA underway to make running the maven based smoke
> tests easier: BIGTOP-1195.
> Eventually, however, maybe we could run these smokes from gradle. I think
> that will obviate BIGTOP-1195 (Although i still assert a bash driver is a big
> win/gain for bigtop's goals : which are to unify the hadoop packaging and
> deployment paradigm).
> - run the smokes using a simple gradle goal
> - smokes should be easily runnable as scripts, with no need for jar file
> intermediates.
> - The bash driver for BIGTOP-1195 (if accepted, still under debate) should be
> upgraded to use the new gradle smokes
> - Delete old maven smokes.
> This might be a little ambitious, if so others chime in. I'm not a
> gradle/groovy expert but getting more well versed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)