[ https://jira.codehaus.org/browse/MSHARED-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=318566#comment-318566 ]
Michal Letynski commented on MSHARED-154: ----------------------------------------- I also have same problem. Any fix date or workaround for this issue ? > pomPropertiesFile does not actually permit override > --------------------------------------------------- > > Key: MSHARED-154 > URL: https://jira.codehaus.org/browse/MSHARED-154 > Project: Maven Shared Components > Issue Type: Bug > Components: maven-archiver > Affects Versions: maven-archiver-2.4 > Environment: RHEL 5.4 > Apache Maven 2.2.1 (r801777; 2009-08-06 13:16:01-0600) > Java version: 1.6.0_19 > Default locale: en_US, platform encoding: ANSI_X3.4-1968 > OS name: "linux" version: "2.6.18-164.2.1.el5pae" arch: "i386" Family: "unix" > Reporter: Dan Nelson > > h4. The What > My understanding is that the {{pomPropertiesFile}} configuration element will > allow you to override the default {{pom.properties}} file that is created by > the maven-archiver when {{addMavenDescriptor}} is {{true}}. I wanted to use > this feature to include some [Hudson|https://hudson.dev.java.net/] build data > into the {{pom.properties}} file. We already have utility classes that read > version information from this file, so it wasn't a leap to add some > build-server information to this same file. > From the [Maven Archiver > Reference|http://maven.apache.org/shared/maven-archiver/index.html] page: > {quote} > | pomPropertiesFile | Use this to override the auto generated pom.properties > file (only if addMavenDescriptor is set to true) | File | 2.3 | > {quote} > h4. My Expectations > So my assumption is that I can provide a customized pom.properties file that > will be written/copied to the {{META-INF/maven/" + ${pom.groupId} + "/" + > ${pom.artifactId} + "/pom.properties}} file. > h4. The Actual Result > The File I pass to the {{pomPropertiesFile}} element is actually overwritten > with the default pom.properties file format. One could say it is overriding > my override. Maybe I am misunderstanding this configuration element > altogether, I can't see how it can possibly be helpful the way that it is > behaving right now... > h4. Background Information > I am witnessing this behaviour with the apache war plugin: > {code:xml|title=Snippet of my pom.xml} > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-war-plugin</artifactId> > <version>2.1-beta-1</version> > <configuration> > <archive> > <addMavenDescriptor>true</addMavenDescriptor> > > <pomPropertiesFile>configurations/custom-pom.properties</pomPropertiesFile> > </archive> > </configuration> > </plugin> > {code} > And here is my customized properties file that I want used to replace the > default pom.properties content: > {code:java|title=Snippet of my custom-pom.properties override file} > version=$\{pom.version\} > groupId=$\{pom.groupId\} > artifactId=$\{pom.artifactId\} > buildTag=${BUILD_TAG} > buildNumber=${BUILD_NUMBER} > buildId=${BUILD_ID} > {code} > I see from my Maven output that {{maven-war-plugin-2.1-beta-1}} uses > {{maven-archiver-2.4}}: > {code:title=Maven output} > ... > [DEBUG] Plugin dependencies for: > org.apache.maven.plugins:maven-war-plugin:2.1-beta-1 > are: > org.apache.maven:maven-plugin-api:jar:2.0.6:runtime > org.apache.maven:maven-artifact:jar:2.0.6:runtime > org.apache.maven:maven-archiver:jar:2.4:runtime > org.codehaus.plexus:plexus-archiver:jar:1.0-alpha-9:runtime > org.codehaus.plexus:plexus-io:jar:1.0-alpha-1:runtime > com.thoughtworks.xstream:xstream:jar:1.3.1:runtime > org.codehaus.plexus:plexus-utils:jar:1.5.5:runtime > org.apache.maven.shared:maven-filtering:jar:1.0-beta-2:runtime > ... > [DEBUG] Configuring mojo > 'org.apache.maven.plugins:maven-war-plugin:2.1-beta-1:war' --> > [DEBUG] (s) addMavenDescriptor = false > [DEBUG] (s) pomPropertiesFile = > /SOME_PATH/configurations/custom-pom.properties > ... > {code} > h4. > [MavenArchiver#createArchive(...)|http://maven.apache.org/shared/maven-archiver/xref/org/apache/maven/archiver/MavenArchiver.html#493] > I notice that the {{createArchive(...)}} method ALWAYS writes the > standard/default [pom.properties > contents|http://maven.apache.org/shared/maven-archiver/index.html#pom-properties-content] > to the supplied file. That provides no benefit. > If I can offer a suggestion: > # get the pomPropertiesFile configuration property. > #* if the property is not null and the property maps to an existing file > #*# {{archiver.addFile( pomPropertiesFile, "META-INF/maven/" + groupId + "/" > + artifactId + "/pom.properties" );}} > #* else the file property was null > #*# Create the temporary maven-archiver folder > #*# Create a ref to the maven-archiver/pom.properties file > #*# Call PomPropertiesUtil#createPomProperties -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira