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