Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-28016

Support Maven 3.3+

    XMLWordPrintableJSON

Details

    • Technical Debt
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.18.0
    • Build System
    • None

    Description

      We are currently de-facto limited to Maven 3.2.5 because our packaging relies on the shade-plugin modifying the dependency tree at runtime when bundling dependencies, which is no longer possible on Maven 3.3+.

      Being locked in to such an old Maven version isn't a good state to be in, and the contributor experience suffers as well.

      I've been looking into removing this limitation by explicitly marking every dependency that we bundle as optional in the poms, which really means non-transitive. This ensures that the everything being bundled by one module is not visible to other modules. Some tooling to capture developer mistakes were also written.

      Overall this is actually quite a nice change, as it makes things more explicit and reduces inconsistencies (e.g., the dependency plugin results are questionable if the shade-plugin didn't run!); and it already highlighted several problems in Flink.

      This change will have no effect on users or the released poms, because the dependency-reduced poms will be generated as before and remove all modified dependencies.

      Attachments

        Issue Links

          Activity

            People

              chesnay Chesnay Schepler
              chesnay Chesnay Schepler
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: