You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/10/01 01:43:33 UTC

[jira] [Updated] (PHOENIX-1272) Avoid pulling in unintended HBase dependencies in phoenix-core

     [ https://issues.apache.org/jira/browse/PHOENIX-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated PHOENIX-1272:
------------------------------------
    Attachment: phoenix-1272-3.0-v2.patch

What I committed to 3.0

> 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
>         Attachments: PHOENIX-1272.patch, phoenix-1272-3.0-v2.patch, phoenix-1272-master-v2.patch
>
>
> 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)