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

Stephan Ewen updated FLINK-5369:
--------------------------------
    Description: 
Currently, every project in Flink has a hard (compile scope) dependency on the 
{{jsr305}}, {{slf4j}}, {{log4j}}, and {{commons-land3}} artifacts, because 
these dependencies are declared in the root pom.xml. That way they are pulled 
into every fat jar, including user fat jars as soon as they refer to a 
connector or library.

We should get the {{log4j}} related dependencies out of the root pom file. 
Ideally these dependencies are only in test scope (as the default logger for 
testing) and in {{flink-dist}} and the quickstart poms. But to keep 
compatibility with the current project setups by users, we could also add them 
to {{flink-core}}.

In addition, the projects whose artifacts usually get bundles in fat jars 
(namely {{flink-libraries}}, {{flink-connectors}}, and {{flink-metrics}} should 
override the {{slf4j}} and {{jsr305}} dependencies as provided.

  was:
Currently, every project in Flink has a hard (compile scope) dependency on the 
{{jsr305}}, {{slf4j}}, {{log4j}}, and {{commons-land3}} artifacts, because 
these dependencies are declared in the root pom.xml. That way they are pulled 
into every fat jar, including user fat jars as soon as they refer to a 
connector or library.
    
We should set jsr305, slf4j, log4j, etc to *provided* in the root pom file. 
That means every project can refer to those classes, but should never re-bundle 
them (instead assume they are present already). That is achieved by adding them 
only to the *flink-core* project as actual (compile scope) dependencies.


> jsr305 and logging dependencies should be 'provided' by default
> ---------------------------------------------------------------
>
>                 Key: FLINK-5369
>                 URL: https://issues.apache.org/jira/browse/FLINK-5369
>             Project: Flink
>          Issue Type: Bug
>          Components: Build System
>            Reporter: Stephan Ewen
>            Assignee: Stephan Ewen
>             Fix For: 1.2.0
>
>
> Currently, every project in Flink has a hard (compile scope) dependency on 
> the {{jsr305}}, {{slf4j}}, {{log4j}}, and {{commons-land3}} artifacts, 
> because these dependencies are declared in the root pom.xml. That way they 
> are pulled into every fat jar, including user fat jars as soon as they refer 
> to a connector or library.
> We should get the {{log4j}} related dependencies out of the root pom file. 
> Ideally these dependencies are only in test scope (as the default logger for 
> testing) and in {{flink-dist}} and the quickstart poms. But to keep 
> compatibility with the current project setups by users, we could also add 
> them to {{flink-core}}.
> In addition, the projects whose artifacts usually get bundles in fat jars 
> (namely {{flink-libraries}}, {{flink-connectors}}, and {{flink-metrics}} 
> should override the {{slf4j}} and {{jsr305}} dependencies as provided.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to