[ http://jira.codehaus.org/browse/MNG-2854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_95979 ]
Carlos Sanchez commented on MNG-2854: ------------------------------------- Please add the apache license to PomPropertiesUtil.java if you grant the license to the ASF > Recreating pom.properties always breaks the archivers uptodate check > -------------------------------------------------------------------- > > Key: MNG-2854 > URL: http://jira.codehaus.org/browse/MNG-2854 > Project: Maven 2 > Issue Type: Bug > Components: maven-archiver > Affects Versions: 2.0.5 > Reporter: Jochen Wiedmann > Attachments: maven-archiver-properties-2.patch, > maven-archiver-properties-3.patch, maven-archiver-properties.patch > > > The maven-archiver creates a file called pom.properties on every invocation. > (Unless the flag "addMavenDescriptor" is set to false, which few people do.) > This forced recreation makes the uptodate check fail. In other words, jar > files are always recreated, regardless whether anything was recompiled. > Obviously, this makes the uptodate check of war files etc. fail as well, > because the included jar files are always changed.. This is a major drawback, > because it makes Maven much slower than, for example, Ant-. > The attached patch proposes a solution for the same problem. What the patch > does: > - It is obviously bad, that the generated pom.properties file is in the > projects directory. The > patch moves the file to ${project.build.directory}/maven-archiver, which > seems to me to > be a more sensible solution. > - Second, whether we like it or not, there are projects, which create > multiple artifacts. In other > words, it isn't good to have a single file. The patch renames the > pom.properties file to > ${groupId}/$artifactFinalName.properties. Hopefully, this is sufficiently > unique. > - Finally, the patch makes the maven-archiver check, whether the > pom.properties file has > actually changed. (In other words, whether groupId, artifactId, or version > have changed.) > It does so, by writing the file to an internal buffer and comparing the > file on the disk and > the internal buffer (after skipping the line with the timestamp). > In other words, in the usual case, where groupId, artifactId and version > haven't changed, the pom.properties file remains unchanged. In particular, > the jar file doesn't need to be recreated. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira