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)

Reply via email to