maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jochen Wiedmann (JIRA)" <>
Subject [jira] Created: (MNG-2854) Recreating always breaks the archivers uptodate check
Date Sat, 03 Mar 2007 21:37:00 GMT
Recreating always breaks the archivers uptodate check

                 Key: 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 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 file is in the projects directory.
  patch moves the file to ${}/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 file to
  ${groupId}/$ Hopefully, this is sufficiently unique.
- Finally, the patch makes the maven-archiver check, whether the 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
  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 file remains unchanged. In particular, the jar file doesn't need to be

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message