Andrew Purtell created PHOENIX-1272:
---------------------------------------
Summary: Avoid pulling in unintended HBase dependencies in
phoenix-core
Key: PHOENIX-1272
URL: https://issues.apache.org/jira/browse/PHOENIX-1272
Project: Phoenix
Issue Type: Bug
Reporter: Andrew Purtell
Assignee: Andrew Purtell
I think Phoenix might be pulling in all of the other HBase modules because
phoenix-core specifies the 'hbase-testing-util' HBase module as a dependency,
and not at test scope:
{noformat}
<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-testing-util</artifactId>
<exclusions>
<exclusion>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
</exclusion>
</exclusions>
</dependency>
...
{noformat}
hbase-testing-util doesn't contain any code. It is a module you can use that
will pull in everything needed to start up mini cluster tests, all of the HBase
modules including hbase-server and the compat modules, with compile scope.
Maven doc says about compile scope: "This is the default scope, used if none is
specified. Compile dependencies are available in all classpaths of a project.
Furthermore, those dependencies are propagated to dependent projects."
Other test dependencies in the phoenix-core POM are included at test scope and
tagged as optional, e.g.
{noformat}
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-test</artifactId>
<optional>true</optional>
<scope>test</scope>
</dependency>
{noformat}
Perhaps the same should be done for hbase-testing-util ?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)