Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: 3.1
-
Component/s: Inheritance and Interpolation
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
Currently, whenever a child pom inherits from a parent (and doesn't override the relevant settings), both project.url and project.distributionManagement.site.url have the name of the child artifact appended.
It would be nice to be able to have something like
:code:
<url>scpexe://host/blah/${project.artifactId}/${project.version}</url>
:code:
and have this inherited to all child poms in the obvious way.
My usecase for this is that we have a single parent pom for all our projects, with useful settings such as distributionManagement, and I'd like to be able to deploy their sites to a single directory and have Apache generate me a directory listing for all the child projects. However, I curently have no way of releasing the parent project without obliterating the list of child projects.
Issue Links
| This issue is duplicated by: | ||||
| MNG-4878 | Inheritance of URLs behaves differently for aggregated and non-aggregated child projects |
|
|
|
| MNG-2872 | Don't append artifactId when parent pom already has artifactId in URL |
|
|
|
| This issue relates to: | ||||
| MNG-3244 | inherited site url not properly handling parameters |
|
|
|
| This issue is related to: | ||||
| MNG-3075 | Project properties, project.artifactId and project.version, are incorrectly translated when use defined in a parent POM. |
|
|
|
| MNG-4506 | Split site deployment URLs into release vs. snapshot, just like artifacts |
|
|
|
Place to fix: maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
perhaps check wheter the parentpath already contains an expression for artifactId, or maybe add a decision
whether to append based on the path ending in a slash or not.