• S
    [FLINK-5369] [build] Rework jsr305 and logging dependencies. · cefb8db3
    Stephan Ewen 提交于
    Currently, every project in Flink has a hard (compile scope) dependency on the jsr305, slf4j, and log4j
    artifacts. That way they are pulled into every fat jar, including user fat jars as soon as they refer to
    a connector or library.
    
    This commit changes the behavior in two ways:
    
      1. It removes the concrete logger dependencies from the root pom file. Instead, it adds them to the
         'flink-core' project. That way, all modules that refer to 'flink-core' will have those dependencies
         as well, but the projects that have 'flink-core' as provided (connectors, libraries, user programs,
         etc) will have those dependencies transitively as provided as well.
    
      2. The commit overrides the slf4j and jsr305 dependencies in the parents of 'flink-connectors',
         'flink-libraries', and 'flink-metrics' and sets the to 'provided'. That way all core projects
         pull the logger classes, but all projects that are not part of flink-dist (and rather bundled
         in fat jars) will not bundle these dependencies again.
    
    The flink-dist puts the dependencies into the fat jar (slf4j, jsr305) or the lib folder (log4j).
    cefb8db3
pom.xml 40.2 KB