[
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)