You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (JIRA)" <ji...@codehaus.org> on 2013/11/14 23:04:20 UTC

[jira] (MEAR-171) Full customization of FileNameMapping is needed (WTF is the "full" mode? This

     [ https://jira.codehaus.org/browse/MEAR-171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte updated MEAR-171:
--------------------------------

    Description: 
What is the logic with the seemingly non-standard conversion groupId by replacing '.' with '-' in the "full" mode ?  Surely this mode should have been called "full-with-groupId-rewrite".

The purpose of this decision should have been documented in the code, someone needs to do so or make this format obsolete.

Alternately the field should look at the maven-war-plugin and the ability to support mapping like:
{noformat} @{groupId}@.@{artifactId}@@{dashClassifier?}@-@{version}@.@{extension}@ {noformat}

Also the $\{project.finalName} and $\{project.name} would be useful (taken out of the dependency's own POM, not the EAR project).

If this unusual replacement of groupId is required, then maybe @{groupIdReplaceDots}@ can be provided.


The problem is that the names used are IMPORTANT to know and automate because it maybe necessary to place them on the Class-Path in MANIFEST.MF files.

This non-standard choice needs to be explained because it really is non-intuitive and there are no other mechanisms across the maven plugins to manage and rewrite Class-Path values in accordance with this convention.  There is on the other hand clear ways to configure a project and decide on the output file names on a project by project basis.  This is what should be the default, what the project itself decided it wanted to be called like ${project.finalName}.

The Maven documentation should include complete example of this "full" behaviour along with explanation of why it is useful to the user.

  was:
What is the logic with the seemingly non-standard conversion groupId by replacing '.' with '-' in the "full" mode ?  Surely this mode should have been called "full-with-groupId-rewrite".

The purpose of this decision should have been documented in the code, someone needs to do so or make this format obsolete.

Alternately the field should look at the maven-war-plugin and the ability to support mapping like:

@{groupId}@.@{artifactId}@@{dashClassifier?}@-@{version}@.@{extension}@

Also the ${project.finalName} and ${project.name} would be useful (taken out of the dependency's own POM, not the EAR project).

If this unusual replacement of groupId is required, then maybe @{groupIdReplaceDots}@ can be provided.


The problem is that the names used are IMPORTANT to know and automate because it maybe necessary to place them on the Class-Path in MANIFEST.MF files.

This non-standard choice needs to be explained because it really is non-intuitive and there are no other mechanisms across the maven plugins to manage and rewrite Class-Path values in accordance with this convention.  There is on the other hand clear ways to configure a project and decide on the output file names on a project by project basis.  This is what should be the default, what the project itself decided it wanted to be called like ${project.finalName}.

The Maven documentation should include complete example of this "full" behaviour along with explanation of why it is useful to the user.

    
> Full customization of FileNameMapping is needed (WTF is the "full" mode?  This
> ------------------------------------------------------------------------------
>
>                 Key: MEAR-171
>                 URL: https://jira.codehaus.org/browse/MEAR-171
>             Project: Maven Ear Plugin
>          Issue Type: Bug
>    Affects Versions: 2.8
>            Reporter: Darryl L. Miles
>
> What is the logic with the seemingly non-standard conversion groupId by replacing '.' with '-' in the "full" mode ?  Surely this mode should have been called "full-with-groupId-rewrite".
> The purpose of this decision should have been documented in the code, someone needs to do so or make this format obsolete.
> Alternately the field should look at the maven-war-plugin and the ability to support mapping like:
> {noformat} @{groupId}@.@{artifactId}@@{dashClassifier?}@-@{version}@.@{extension}@ {noformat}
> Also the $\{project.finalName} and $\{project.name} would be useful (taken out of the dependency's own POM, not the EAR project).
> If this unusual replacement of groupId is required, then maybe @{groupIdReplaceDots}@ can be provided.
> The problem is that the names used are IMPORTANT to know and automate because it maybe necessary to place them on the Class-Path in MANIFEST.MF files.
> This non-standard choice needs to be explained because it really is non-intuitive and there are no other mechanisms across the maven plugins to manage and rewrite Class-Path values in accordance with this convention.  There is on the other hand clear ways to configure a project and decide on the output file names on a project by project basis.  This is what should be the default, what the project itself decided it wanted to be called like ${project.finalName}.
> The Maven documentation should include complete example of this "full" behaviour along with explanation of why it is useful to the user.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira