You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Brett Porter <br...@gmail.com> on 2005/10/07 13:18:59 UTC
Re: [m2] plugin as module, timestamp checking and jar install
Hi John,
Sorry for the late reply.
On 9/8/05, John Fallows <jo...@gmail.com> wrote:
> Where is the default implementation class for the ArtifactInstaller
> interface?
DefaultArtifactInstaller (consult components.xml to find this) in
maven-artifact-manager.
> It may very well already be implemented as incremental,
> since it seems like the target JAR is actually being recreated on each
> build.
Presently it always copies, but it could be changed as you say.
> How incremental is the Plexus JAR archiver? Does it avoid updating
> the JAR if the contents are not different or is it based solely on
> timestamp? I would expect the latter, which explains the eager JAR
> creation due to the more recent timestamp on the per-build generated
> POM-derived metadata.
It recreates everything every time at present. It's not a heavy
operation, but the catalyst of all of them adds up.
> Perhaps certain entries in the JAR archiver could be compared for
> content as well as timestamp, even when the timestamp indicates that
> they are more recent? This mode could be enabled for the Manifest,
> the pom.properties and the exported pom.xml files, giving a no-op on
> JAR creation when the output unchanged. This would then enable the
> ArtifactInstaller to behave truly incrementally, using a simple
> timestamp check.
This seems like a reasonable approach, as long as the cost of first
reading the archive doesn't negate the benefit.
- Brett
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org