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/07/11 22:58:05 UTC
[jira] (MINSTALL-50) provide property filtering on .pom files
placed in local repo
[ https://jira.codehaus.org/browse/MINSTALL-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Scholte updated MINSTALL-50:
-----------------------------------
Description:
When maven installs an artifact, it's pom is also copied into the artifact's directory. Unfortunately, if the pom contains a property reference (e.g. $\{myprop\}), this will not be replaced upon copying the pom file.
I've created a patch for the install plugin that switches on property filtering by setting a mojo parameter "{{filteringEnabled}}". Since this defaults to "{{false}}", backward compatibility is kept 100%.
Some implementation notes:
* the dirty work is done in {{FilteredProjectArtifactMetadata.java}}, the property resolution code has been inspired by {{ResourcesMojo}}.
* I've added a unit test, that replaces ${basedir} with the value of a system property.
* since "svn diff" does not handle binary files, {{src/test/resources/unit/basic-install-test-with-filtering/target/maven-install-test-1.0-SNAPSHOT.jar}} is not included in the patch. This file is the same as
{{src/test/resources/unit/basic-install-test/target/maven-install-test-1.0-SNAPSHOT.jar}}
Since my knowledge of Maven API is more than limited, there might be a more elegant way to provide this feature ... but it works! I'd be happy to see this in a future release of maven.
was:
When maven installs an artifact, it's pom is also copied into the artifact's directory. Unfortunately, if the pom contains a property reference (e.g. ${myprop}), this will not be replaced upon copying the pom file.
I've created a patch for the install plugin that switches on property filtering by setting a mojo parameter "filteringEnabled". Since this defaults to "false", backward compatibility is kept 100%.
Some implementation notes:
* the dirty work is done in FilteredProjectArtifactMetadata.java, the property resolution code has been inspired by ResourcesMojo.
* I've added a unit test, that replaces ${basedir} with the value of a system property.
* since "svn diff" does not handle binary files, src/test/resources/unit/basic-install-test-with-filtering/target/maven-install-test-1.0-SNAPSHOT.jar is not included in the patch. This file is the same as
src/test/resources/unit/basic-install-test/target/maven-install-test-1.0-SNAPSHOT.jar
Since my knowledge of Maven API is more than limited, there might be a more elegant way to provide this feature ... but it works! I'd be happy to see this in a future release of maven.
> provide property filtering on .pom files placed in local repo
> -------------------------------------------------------------
>
> Key: MINSTALL-50
> URL: https://jira.codehaus.org/browse/MINSTALL-50
> Project: Maven 2.x Install Plugin
> Issue Type: New Feature
> Components: install:install
> Affects Versions: 2.3
> Environment: independent
> Reporter: Stefan Armbruster
> Attachments: MNG-maven-install.patch, MNG-maven-install.patch
>
>
> When maven installs an artifact, it's pom is also copied into the artifact's directory. Unfortunately, if the pom contains a property reference (e.g. $\{myprop\}), this will not be replaced upon copying the pom file.
> I've created a patch for the install plugin that switches on property filtering by setting a mojo parameter "{{filteringEnabled}}". Since this defaults to "{{false}}", backward compatibility is kept 100%.
> Some implementation notes:
> * the dirty work is done in {{FilteredProjectArtifactMetadata.java}}, the property resolution code has been inspired by {{ResourcesMojo}}.
> * I've added a unit test, that replaces ${basedir} with the value of a system property.
> * since "svn diff" does not handle binary files, {{src/test/resources/unit/basic-install-test-with-filtering/target/maven-install-test-1.0-SNAPSHOT.jar}} is not included in the patch. This file is the same as
> {{src/test/resources/unit/basic-install-test/target/maven-install-test-1.0-SNAPSHOT.jar}}
> Since my knowledge of Maven API is more than limited, there might be a more elegant way to provide this feature ... but it works! I'd be happy to see this in a future release of maven.
--
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