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

Josh Elser updated PHOENIX-5213:
--------------------------------
    Description: 
To make the existing phoenix-client, I'm proposing the following changes:
1)  Add additional relocations of some packages

2)  Exclude the slf4j-log4j12 binding.  Apparently this isn't pulled in 
directly from phoenix-core itself, but transitively from other projects.  It's 
generally considered best practice to not impose a log binding on downstream 
projects.  The slf4j-log4j12 jar will still be in the phoenix tarball's /lib 
folder.

3)  Changing the jar naming from phoenix\-\[version\]\-client.jar to 
phoenix-client-\[version\].jar
The reason for this is that there is no way, AFAIK, to change the naming 
convention in maven's repo.  You can change the jar name locally, but when it 
gets installed to the repo, it always has to follow the artfiactname-version 
naming convention.  To avoid confusion of having two separate jar file names, I 
propose we just change it to Maven's convention so we can publish releases of 
phoenix-client.

4)  Create a source jar for phoenix-client.

5)  Create a dependency-reduced pom, so that the client can be used directly in 
downstream projects without having to exclude transitive artifacts.

  was:
To make the existing phoenix-client, I'm proposing the following changes:
1)  Add additional relocations of some packages

2)  Exclude the slf4j-log4j12 binding.  Apparently this isn't pulled in 
directly from phoenix-core itself, but transitively from other projects.  It's 
generally considered best practice to not impose a log binding on downstream 
projects.  The slf4j-log4j12 jar will still be in the phoenix tarball's /lib 
folder.

3)  Changing the jar naming from phoenix-[version]-client.jar to 
phoenix-client-[version].jar
The reason for this is that there is no way, AFAIK, to change the naming 
convention in maven's repo.  You can change the jar name locally, but when it 
gets installed to the repo, it always has to follow the artfiactname-version 
naming convention.  To avoid confusion of having two separate jar file names, I 
propose we just change it to Maven's convention so we can publish releases of 
phoenix-client.

4)  Create a source jar for phoenix-client.

5)  Create a dependency-reduced pom, so that the client can be used directly in 
downstream projects without having to exclude transitive artifacts.


> Phoenix-client improvements:  add more relocations, exclude log binding, 
> change naming
> --------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5213
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5213
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.0.0, 4.15.0
>            Reporter: Vincent Poon
>            Assignee: Vincent Poon
>            Priority: Major
>         Attachments: PHOENIX-5213.4.x-HBase-1.4.v1.patch
>
>
> To make the existing phoenix-client, I'm proposing the following changes:
> 1)  Add additional relocations of some packages
> 2)  Exclude the slf4j-log4j12 binding.  Apparently this isn't pulled in 
> directly from phoenix-core itself, but transitively from other projects.  
> It's generally considered best practice to not impose a log binding on 
> downstream projects.  The slf4j-log4j12 jar will still be in the phoenix 
> tarball's /lib folder.
> 3)  Changing the jar naming from phoenix\-\[version\]\-client.jar to 
> phoenix-client-\[version\].jar
> The reason for this is that there is no way, AFAIK, to change the naming 
> convention in maven's repo.  You can change the jar name locally, but when it 
> gets installed to the repo, it always has to follow the artfiactname-version 
> naming convention.  To avoid confusion of having two separate jar file names, 
> I propose we just change it to Maven's convention so we can publish releases 
> of phoenix-client.
> 4)  Create a source jar for phoenix-client.
> 5)  Create a dependency-reduced pom, so that the client can be used directly 
> in downstream projects without having to exclude transitive artifacts.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to