[ 
https://issues.apache.org/jira/browse/FLINK-11026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712929#comment-16712929
 ] 

ASF GitHub Bot commented on FLINK-11026:
----------------------------------------

zentol commented on issue #7251: [FLINK-11026][ES6] Rework creation of fat 
sql-client jars 
URL: https://github.com/apache/flink/pull/7251#issuecomment-445252542
 
 
   It might make sense to move the SQL classes, but I believe this is an 
orthogonal issue to how the modules are structured. This PR is only about 
making the required module-structure changes to support licensing; moving these 
classes however is more about how to structure our own code.
   
   In the long run, particularly for consistency that is my main concern in 
this PR, I would very much like to have sql-client specific extensions (and 
possibly table-stuff in general) in separate modules for _all_ 
connectors/formats, regardless of packaging, but that's a separate issue.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Rework creation of sql-client connector/format jars
> ---------------------------------------------------
>
>                 Key: FLINK-11026
>                 URL: https://issues.apache.org/jira/browse/FLINK-11026
>             Project: Flink
>          Issue Type: Improvement
>          Components: Build System, SQL Client
>    Affects Versions: 1.5.5, 1.6.2, 1.7.0
>            Reporter: Chesnay Schepler
>            Assignee: Chesnay Schepler
>            Priority: Major
>              Labels: pull-request-available
>
> For the SQL client we currently have a separate {{sql-jars}} profile in 
> various connectors/formats that create an additional fat jar with a separate 
> classifier.
> One of the core maven mantras is "One artifact per module.", and we see the 
> importance of this mantra as our current packaging strategy makes it 
> impossible to provide different NOTICE files for the created jars (regular 
> and sql-jar).
> Currently we would be forced to provide the same file for both jars, which 
> will cause problems for any downstream users that wants to handle NOTICE 
> files properly. We would cause the same issue we had with netty, which 
> categorically claims to be bundling dependencies although it doesn't, forcing 
> us to manually cut out the valid parts.
> My proposal is to move custom packaging strategies into their own module that 
> depend on the original module.
>  I will use {{flink-connector-elasticsearch6}} as an example, which packages 
> both a regular jar without any included dependencies, and a sql jar bundling 
> everything.
>  * create a separate 
> {{flink-sql-connector-elasticsearch6/}}{{flink-connector-elasticsearch6-uber}}{{}}
>  module
>  * this module depends on {{flink-connector-elasticsearch6}}, and bundles all 
> dependencies
>  * move the current shading logic for the sql jar out of the {{sql-jars}} 
> profile{{}}
>  * add a {{sql-jars}} profile to {{flink-connectors}} for skipping the 
> creation of these jars



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

Reply via email to