[
https://issues.apache.org/jira/browse/HBASE-7971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592427#comment-13592427
]
Nick Dimiduk commented on HBASE-7971:
-------------------------------------
bq. You are generating hbase/target/cached_classpath.txt, but referring to
hbase/hbase-it/target/cached_classpath.txt.
Nope, it's generating and consuming hbase/hbase-it/target/cached_classpath.txt.
The modified pom is not the top-level one, but for hbase-it.
bq. One other thing is that, this cached classpath won't contain test
artifacts, because it is invoked from compile.
What invokes bin/hbase and also depends on the test jars? git-grep shows this
file being produced in hbase-it.pom and consumed only in the launch scripts,
bin/hbase and bin/hbase.cmd.
This looks discouraging:
{noformat}
$ git grep -n bin\/hbase
...
hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java:133:
* CommandProvider to manage the service using bin/hbase-* scripts
hbase-it/src/test/java/org/apache/hadoop/hbase/HBaseClusterManager.java:150:
return String.format("%s/bin/hbase-daemon.sh %s %s %s", getHBaseHome(),
getConfig(),
...
hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java:1596:
System.err.println(" $ bin/hbase " + this.getClass().getName()
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/OOMERegionServer.java:38:
* <code>${HBASE_HOME}/bin/hbase ./bin/hbase
org.apache.hadoop.hbase.OOMERegionServer start</code>.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/HLogPerformanceEvaluation.java:273:
System.err.printf("Usage: bin/hbase %s [options]\n", getClass().getName());
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/HLogPerformanceEvaluation.java:291:
System.err.println(" $ ./bin/hbase
org.apache.hadoop.hbase.regionserver.wal.HLogPerformanceEval
hbase-server/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java:1148:
System.err.println(" $ bin/hbase " + this.getClass().getName()
hbase-server/src/test/java/org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java:114:
hbaseDaemonScript = hbaseHome + "/bin/hbase-daemon.sh";
{noformat}
> mvn clean compile on trunk and 0.95 does not produce
> target/cached_classpath.txt
> --------------------------------------------------------------------------------
>
> Key: HBASE-7971
> URL: https://issues.apache.org/jira/browse/HBASE-7971
> Project: HBase
> Issue Type: Bug
> Components: build
> Affects Versions: 0.95.0, 0.98.0
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Priority: Minor
> Attachments:
> 0001-HBASE-7971-fix-cached_classpath.txt-dev-sandbox.patch,
> 0001-HBASE-7971-fix-cached_classpath.txt-dev-sandbox.patch
>
>
> The usual workflow of {{mvn clean compile}} followed by {{./bin/hbase foo}}
> no longer works. It looks like it was broken by HBASE-7637, switching the
> phase in hbase-it/pom.xml from {{compile}} to {{test}}. Before I propose the
> obvious patch, a couple questions:
> [~nkeywal]: why is this done in hbase-it instead of anywhere else, such as
> the top-level pom?
> [~eclark]: why does this execution in the compile phase break hadoop-2
> profile while running it in test does not?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira