Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

New content to include in the POM

There are six general sub-themes around content to include in the POM.

The following issues look to add content for documentational purposes. This content would be consumed both by developers reading the POM "by hand" as well as by more automated tooling such as the Maven Site generation

...

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-2916
     looks for the ability to define information to display to the user if they invoke maven with no goals specified and no default goal defined in the POM. Additionally the message should be customizable per profile
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5563
     looks for a way to validate plugin configuration. An interesting thought experiment would be to allow a POM to be parameterized with some parameters requiring input at invocation time such that Maven would always ask for that parameter (using a custom prompt) if it wasn't supplied.

The following issues TODO I STOPPED HERE concern configuration that needs to be shared between plugins

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-4506
     (probably could be handled as maven-site-plugin configuration) looks to allow defining a different site deployment URL for SNAPSHOT versions of the project compared with release versions)
  • MNG-3608
    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-2216
    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    key
     looks for the ability to define the default encodings to be used when reading files (and optionally when writing files)
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-38793608
     looks for the ability to define the default encodings to be used when writing the site reporting files

The following issues concern providing explanations of dependencies within the POM

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-59263879
     looks for the ability to provide comments within the <dependency> tags as consumers are often unclear of the rationale for inclusion of some dependencies
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5900
    Open question do we want properties? and if we do, what interpolation rules would apply... how would parent, mix-in, platform, profiles etc take effect...
    MNG-5926
     looks for the ability to provide comments within the <dependency> and <excludes> tags for the same reason as MNG-3879

The following issue concerns property evaluation

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5900
     looks for the ability to declare property references that would be evaluated before pulling in parent / mix-in / etc such that those property references could be used to control the parent / mix-in being pulled in.

The following issues repeat / revert changes that previous experience has deemed to be a mistake. As such the current opinion is that these issues should not be fixed.

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5657
     looks to move the <distributionManagement> section out of the pom and into settings.xml. It is unclear how this would work as different projects would need different distribution management details. The only use case where this becomes valid is when deploying a custom fork of a project to an internal repository... 
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5659
     looks to resurrect profiles.xml which was generally considered to be a mistake.

Supports / provides style concepts

The following issues are all essentially the same theme, namely look to add additional classes of dependency information to the dependency graph.

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-177
     looks to provide a mechanism for a dependency to declare itself as being a drop-in replacement for another artifact. 
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5652
     is a superset of MNG-177 and basically defines a new type of dependency graph declaration which indicates that an artifact is a drop-in replacement for another artifact.
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-1977
     looks to provide a mechanism to globally ban specific dependencies. The driving use case for this is that dependency A and dependency B are equivalent and the duplicate content needs to be resolved by removing one from the dependency graph.
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-2316
     looks to provide a mechanism for a dependency to declare itself as being a drop-in replacement for another artifact.
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5867
     looks to provide a mechanism for a dependency to declare itself as being a drop-in replacement for another artifact.

Versioning related issues

There is no specific set of themes here:

  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-624
     looks for the ability to have automatic parent versioning. Some attempts in core have been made to enable the project version to be deterministic from e.g. source control such that the pom does not need to be modified in order to release.
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5657
    WONT FIX I do not see the value in splitting content out of the pom... that way leads to profiles.xml which was madness
    4173
     looks to force users to always specify the versions of plugins.
  • Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyMNG-5659
    WONT FIX I do not see the value in splitting content out of the pom... that way leads to profiles.xml which was madness
    5517
     looks to change the version range syntax from the mathematical range syntax used by Maven. 

Overview

TODO write this up... I'm just dumping stuff I have done on the mail thread here to make it easier to collaborate:

...