Github user StephanEwen commented on the issue:
    Thanks for checking this out!
    Concerning the removed `flink-clients` dependency - that was done on 
purpose. Here is my motivation for that:
      - For the 'provided' API dependency, it should actually not be there.
      - It mainly matters to the in-Eclipse execution, which needs a 'provided' 
      - I would prefer to remove it now, because the dependencies probably 
change anyways in the future.
    The proposal I want to make for the next Flink version is to have something 
like `flink-all` (or `flink-base`) which exactly refers to what is in the 
`flink-dist` jar (and `flink-dist` draws its jar from there). We set that as a 
provided dependency anywhere (connector, library, quickstart), we have exactly 
everything provided that will available through Flink's runtime, and nothing 
that will not be there. Easiest way to keep these things in sync.
    Now I am unsure if `flink-dist` can currently take a `flink-all` like role, 
because it declares a lot of additional provided dependencies, for the sake of 
putting them into `opt` or `examples`. Now, according to the maven dependency 
management, a transitive provided dependency of a provided dependency is not 
propagated (in which case it would be okay to use flink-dist), but I am not 
sure we want to rely that across maven command line, IntelliJ and Eclipse, etc.
    The last sentence incidentally just made me realize that I should probably 
change the `flink-dist` dependency in the IDEA profile to 
`flink-streaming-java` / `flink-clients` for exactly that reason... 


Reply via email to