[ 
http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason van Zyl updated MNG-3966:
-------------------------------

    Description: 
*Installer* story:

* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list. This 
list will include released versions and incremental snapshot versions.
* user selects a version to up/down grade to
* Maven instance is updated

*Releaser* story:
When creating a new Maven distribution, maintainer 
* packages in the updater uber-jar into *.cd* folder
* created an apache-maven.cd file of all dependencies in the *.cd* folder
** if this a snapshot version - this list contains actual timestams in the 
versions
* creates a configuration descriptor under the gav 
*org.apache.maven:maven-cd:VERSION::cd*
** VERSION is the actual version of this distribution
** for *releases* this descriptor can contain only upper level gav, which will 
calculate into the transitive closure 
** for *snapshots* this descriptor will have to list all the timestamed 
dependencies, because otherwise - POM dependenies in the repo are still 
-SNAPSHOT versions and would resolve into the latest snapshot. Because updater 
calculates a transitive closure of this list, listing timestamps here prevent 
latest from sneaking in
* adds **org.apache.maven:maven-cd:VERSION::cd** version to the document, 
defined by gav *org.apache.maven:maven-versions:1.0::ver* 
* the new version is now available for users to install

Technical details:
Installer:
* updater uber jar is supplied with Maven, sits in *.cd* folder
* available versions are stored in a preset document in a remote repository
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater:
** calculates the list of dependencies for the new version as a runtime scope 
transitive closure of all gavs, listed in the descriptor
** reads in the list of currently installed binaries
** calculates #1 "to remove" and #2 "to install" deltas
** removes the #1 binaries from *lib* folder
** downloads, if necessary, #2 binaries and adds them into *lib* folder


  was:
*Installer* story:

* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list. This 
list will include released versions and incremental snapshot versions.
** available versions are stored in a preset document in a remote repository
* user selects a version to up/down grade to
* Maven instance is updated

*Releaser* story:
When creating a new Maven distribution, maintainer 
* packages in the updater uber-jar into *.cd* folder
* created an apache-maven.cd file of all dependencies in the *.cd* folder
** if this a snapshot version - this list contains actual timestams in the 
versions
* creates a configuration descriptor under the gav 
*org.apache.maven:maven-cd:VERSION::cd*
** VERSION is the actual version of this distribution
** for *releases* this descriptor can contain only upper level gav, which will 
calculate into the transitive closure 
** for *snapshots* this descriptor will have to list all the timestamed 
dependencies, because otherwise - POM dependenies in the repo are still 
-SNAPSHOT versions and would resolve into the latest snapshot. Because updater 
calculates a transitive closure of this list, listing timestamps here prevent 
latest from sneaking in
* adds **org.apache.maven:maven-cd:VERSION::cd** version to the document, 
defined by gav *org.apache.maven:maven-versions:1.0::ver* 
* the new version is now available for users to install

Technical details:
Installer:
* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater:
** calculates the list of dependencies for the new version as a runtime scope 
transitive closure of all gavs, listed in the descriptor
** reads in the list of currently installed binaries
** calculates #1 "to remove" and #2 "to install" deltas
** removes the #1 binaries from *lib* folder
** downloads, if necessary, #2 binaries and adds them into *lib* folder



> Requirements (User Story)
> -------------------------
>
>                 Key: MNG-3966
>                 URL: http://jira.codehaus.org/browse/MNG-3966
>             Project: Maven 2
>          Issue Type: Sub-task
>          Components: Artifacts and Repositories
>    Affects Versions: 3.0-alpha-1
>            Reporter: Oleg Gusakov
>            Assignee: Oleg Gusakov
>             Fix For: 3.0-alpha-2
>
>
> *Installer* story:
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list. 
> This list will include released versions and incremental snapshot versions.
> * user selects a version to up/down grade to
> * Maven instance is updated
> *Releaser* story:
> When creating a new Maven distribution, maintainer 
> * packages in the updater uber-jar into *.cd* folder
> * created an apache-maven.cd file of all dependencies in the *.cd* folder
> ** if this a snapshot version - this list contains actual timestams in the 
> versions
> * creates a configuration descriptor under the gav 
> *org.apache.maven:maven-cd:VERSION::cd*
> ** VERSION is the actual version of this distribution
> ** for *releases* this descriptor can contain only upper level gav, which 
> will calculate into the transitive closure 
> ** for *snapshots* this descriptor will have to list all the timestamed 
> dependencies, because otherwise - POM dependenies in the repo are still 
> -SNAPSHOT versions and would resolve into the latest snapshot. Because 
> updater calculates a transitive closure of this list, listing timestamps here 
> prevent latest from sneaking in
> * adds **org.apache.maven:maven-cd:VERSION::cd** version to the document, 
> defined by gav *org.apache.maven:maven-versions:1.0::ver* 
> * the new version is now available for users to install
> Technical details:
> Installer:
> * updater uber jar is supplied with Maven, sits in *.cd* folder
> * available versions are stored in a preset document in a remote repository
> * pre-calculated list of all current dependencies is stored in *.cd* folder
> * updater:
> ** calculates the list of dependencies for the new version as a runtime scope 
> transitive closure of all gavs, listed in the descriptor
> ** reads in the list of currently installed binaries
> ** calculates #1 "to remove" and #2 "to install" deltas
> ** removes the #1 binaries from *lib* folder
> ** downloads, if necessary, #2 binaries and adds them into *lib* folder

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