[
https://issues.apache.org/jira/browse/WAGON-44?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Osipov updated WAGON-44:
--------------------------------
Fix Version/s: (was: 1.1)
> Add support for downloading and uploading JARDiff-ed Maven artifacts
> --------------------------------------------------------------------
>
> Key: WAGON-44
> URL: https://issues.apache.org/jira/browse/WAGON-44
> Project: Maven Wagon
> Issue Type: Improvement
> Components: New Wagons
> Reporter: Cédric Vidal
>
> I originally posted this idea in the MRM project but realized that it could
> nicely be applied to all wagons.
> It would save bandwith, accelerate artifact downloading and enhance the maven
> 2 experience to use the same JARDiff algorithm as the one used in the
> JnlpDownloadServlet which is fully documented here:
> http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/downloadservletguide.html
> The idea is to download (or upload) the incremental updates to a JAR instead
> of the full JAR.
> There is already support for this algorithm in the maven community in the
> JNLP related Maven Webstart Plugin:
> http://mojo.codehaus.org/webstart-maven-plugin-parent/webstart-maven-plugin/
> Here a possible scenario for upload and download:
> - UPLOAD: Given that version 1.1 of my-artifact-1.1.jar is already deployed
> and that I deploy version 1.2 of that same artifact:
> - upload my-artifact-1.2.jar
> - download my-artifact-1.1.jar
> - compute JARDiff between my-artifact-1.1.jar and my-artifact-1.2.jar
> - upload the jardiff
> - DOWNLOAD: Given that I already have version 1.1 of my artifact locally and
> that I want version 1.2 and that the JARDiff between versions 1.1 and 1.2
> exists on the remote repository:
> - download JARDiff between my-artifact-1.1.jar and my-artifact-1.2.jar
> - generate my-artifact-1.2.jar locally by applying the JARDiff to
> my-artifact-1.1.jar
> If the JARDiff doesn't exist, no problem, just download the whole
> my-artifact-1.2.jar
> Today's repositories stay valid, the JARDiffs informations are used only when
> available. The drawback for static maven 2 repositories is the increase in
> disk storage required to store the JARDiffs. In MRM repositories, the JARDiff
> could be dynamically generated on demand.
> Cheers
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)