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.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

        

Reply via email to