Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-7562

Mechanism for preventing inheritance of sections such as <licence>.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.8.6
    • None
    • None

    Description

      There needs to a way in the Maven POM to prevent an element from being inherited altogether in child POMs.

      We are currently publishing a Maven POM that is useful to serve as the parent POM for various projects. Some of the projects that use the POM will be open source, but some will not be. To designate our parent POM as open source, we include this:

      <licenses>
        <license>
          <name>Apache-2.0</name>
          <url>https://www.apache.org/licenses/LICENSE-2.0</url>
          <distribution>repo</distribution>
        </license>
      </licenses>
      

      This essentially says, "this project is open source".

      Unfortunately because of POM inheritance, any project that uses this parent POM will also effectively be saying "this project is also open source", because the effective POM of all descendant projects will also include this same license section.

      Developers could try to remember to include some <licenses> section to override this license, but the whole point of the parent POM is that it should given developers less to do, not more. Besides, some private projects (even ours) might not wish to indicate a license at all!

      There needs to be a way for our public parent POM to indicate that it is open source without effectively making all child projects open source as well through POM inheritance. Preventing the <licenses> section from being inherited is one example of a more general mechanism needed to say, "Do not inherit this element at all in child POMs".

      Attachments

        Activity

          People

            Unassigned Unassigned
            garretwilson Garret Wilson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: