[ https://issues.apache.org/jira/browse/PHOENIX-2535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15232595#comment-15232595 ]
Sergey Soldatov commented on PHOENIX-2535: ------------------------------------------ [~elserj] {quote} Why make this change in phoenix-assembly/pom.xml? It seems like you're just working around Maven wanting to create a jar then. If you set this to pom, AFAIUI, that should not be trying to create any JAR for the module. {quote} Actually not. If set it to pom - it's just create a pom file. The only way I have found to disable it - set a non existing phase for {{maven-jar-plugin}} {quote} Is there a reason why you aren't putting JARs generated by a module within that module's target/ directory? This is really confusing to see in practice "I built this module. Where the heck are the artifacts?" {quote} {{phoenix-assembly}} is generating tarball exactly at the {{target}} directory. All this stuff is related to the relative path of jars in this tarball. {quote} Might be a bit more concise to make a property instead of repeating the shaded relocation prefix. E.g. <shaded.location>org.apache.phoenix.shaded</shaded.location> and then <shadedPattern>${shaded.location}.com.fasterxml</shadedPattern>. Is this more concise? {quote} sounds reasonable. will do that. {quote} This looks unnecessary. The maven-shade-plugin should already be defined in pluginManagement in /pom.xml. {quote} I don't know whether it's a {{maven-assembly-plugin}} specific feature or just a bug there, but if we remove those dependencies it will not collect the jar dependencies. {quote} I'm surprised to see phoenix-server and phoenix-server-client in this list. My initial thought was that phoenix-client would be a shaded jar for the thick driver. Either way, neither thick or thin driver will need phoenix-server. {quote} Well, that was in the original {{pom.xml}} at phoenix-assembly which was producing client jar, so the client had query server as well as calcite inside. I will get rid of it. {quote} I hate to be the bearer of bad news, but these are most likely not meeting ASF licensing requirements. For every bundled jar that Phoenix ships in a shaded jar, we're going to have to Copy any NOTICE text into a NOTICE file in the shaded jar Copy necessary license and copyright information for non-ASLv2 licensed jars into a LICENSE file in the shaded jar. Yes, this will be horrible, but it is required. {quote} And that's exactly that those transforms are doing (or supposed to do). At least for licenses in client jar it creates a directory {{META-INF/license}} with all non ASF license files like: {noformat} META-INF//license: total 176 -rw-r--r-- 1 ssoldatov staff 1592 Apr 7 23:41 LICENSE.base64.txt -rw-r--r-- 1 ssoldatov staff 10174 Apr 7 23:41 LICENSE.commons-logging.txt -rw-r--r-- 1 ssoldatov staff 10174 Apr 7 23:41 LICENSE.felix.txt -rw-r--r-- 1 ssoldatov staff 26441 Apr 7 23:41 LICENSE.jboss-logging.txt -rw-r--r-- 1 ssoldatov staff 1592 Apr 7 23:41 LICENSE.jsr166y.txt -rw-r--r-- 1 ssoldatov staff 1465 Apr 7 23:41 LICENSE.jzlib.txt -rw-r--r-- 1 ssoldatov staff 10174 Apr 7 23:41 LICENSE.log4j.txt -rw-r--r-- 1 ssoldatov staff 1732 Apr 7 23:41 LICENSE.protobuf.txt -rw-r--r-- 1 ssoldatov staff 1203 Apr 7 23:41 LICENSE.slf4j.txt -rw-r--r-- 1 ssoldatov staff 1598 Apr 7 23:41 LICENSE.webbit.txt {noformat} And we don't have it in the current client jar :) > Create shaded clients (thin + thick) > ------------------------------------- > > Key: PHOENIX-2535 > URL: https://issues.apache.org/jira/browse/PHOENIX-2535 > Project: Phoenix > Issue Type: Bug > Reporter: Enis Soztutar > Assignee: Sergey Soldatov > Fix For: 4.8.0 > > Attachments: PHOENIX-2535-1.patch, PHOENIX-2535-2.patch, > PHOENIX-2535-3.patch, PHOENIX-2535-4.patch, PHOENIX-2535-5.patch > > > Having shaded client artifacts helps greatly in minimizing the dependency > conflicts at the run time. We are seeing more of Phoenix JDBC client being > used in Storm topologies and other settings where guava versions become a > problem. > I think we can do a parallel artifact for the thick client with shaded > dependencies and also using shaded hbase. For thin client, maybe shading > should be the default since it is new? -- This message was sent by Atlassian JIRA (v6.3.4#6332)