You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Oleg Gusakov (JIRA)" <ji...@codehaus.org> on 2009/01/06 00:54:20 UTC

[jira] Created: (MNG-3966) Requirements (User Story)

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




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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Delta Manager* story:

* standalone library
* CLI wrapper
* is run for a particular maven instance on disk
** lists all the available "compatible" versions (like 3.0.* family)
** allows to up / down grade current instance to any of available "compatible" version
** works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 

First deliverable shall provide *Delta Manager* implementation

  was:
*Delta Manager* story:

* standalone library
* CLI wrapper
* is run for a particular maven instance on disk
** lists all the available "compatible" versions (like 3.0.* family)
** allows to up / down grade current instance to any of available "compatible" version
** works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 



> 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
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * is run for a particular maven instance on disk
> ** lists all the available "compatible" versions (like 3.0.* family)
> ** allows to up / down grade current instance to any of available "compatible" version
> ** works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 
> First deliverable shall provide *Delta Manager* implementation

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
* user selects a version to up/down grade to
* updater:
** calculates the list of dependencies for new version
** 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
* 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


  was:
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
** snapshot version is shown as set if timestamps
* user selects a version to up/down grade to
* updater:
** calculates the list of dependencies for new version
** 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

*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. So listing them here prevent that from happening
* 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



> 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 uber jar is supplied with Maven, sits in *.cd* folder
> * pre-calculated list of all current dependencies is stored in *.cd* folder
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list
> ** available versions are stored in a preset document in a remote repository
> * user selects a version to up/down grade to
> * updater:
> ** calculates the list of dependencies for new version
> ** 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
> * 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
* standalone application
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote ditributions


> 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
>
> * standalone application
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote ditributions

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov 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 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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


  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.
* user selects a version to up/down grade to
* Maven instance is updated

*Releaser* story:
When creating a new Maven distribution, maintainer 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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



> 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 
> * created a list of all dependencies for the distro
> * creates a configuration descriptor, drops it into repository
> * adds this version to the *available versions* document at a fixed location in the repo 
> * 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
>  *Releaser*:
> * packages in the updater uber-jar into *.cd* folder
> * all dependencies are listed in *.cd/apache-maven.cd* file
> ** for snapshot version - this list contains actual timestams in the versions
> * creates a configuration descriptor has 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov 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 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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


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



> 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 
> * created a list of all dependencies for the distro
> * creates a configuration descriptor, drops it into repository
> * adds this version to the *available versions* document at a fixed location in the repo 
> * 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
>  *Releaser*:
> * packages in the updater uber-jar into *.cd* folder
> * all dependencies are listed in *.cd/apache-maven.cd* file
> ** for snapshot version - this list contains actual timestams in the versions
> * creates a configuration descriptor has 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
     [ 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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
     [ 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.
** 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


  was:
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** 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:
* 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.
> ** 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Delta Manager* story:

* standalone library
* CLI wrapper
* is run for a particular maven instance on disk
** lists all the available "compatible" versions (like 3.0.* family)
** allows to up / down grade current instance to any of available "compatible" version
** works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 


  was:
*Delta Manager* story:

* standalone library
* CLI wrapper
* starts for a particular maven instance on disk
* lists all the available "compatible" versions (like 3.0.* family)
* allows to up / down grade current instance to any of available "compatible" version
* works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 



> 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
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * is run for a particular maven instance on disk
> ** lists all the available "compatible" versions (like 3.0.* family)
> ** allows to up / down grade current instance to any of available "compatible" version
> ** works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Comment: was deleted

(was: done)

> 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 uber jar is supplied with Maven, sits in *.cd* folder
> * pre-calculated list of all current dependencies is stored in *.cd* folder
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list
> ** available versions are stored in a preset document in a remote repository
> * user selects a version to up/down grade to
> * 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
> * 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

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

        

[jira] Reopened: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov reopened MNG-3966:
-------------------------------


need more detailed workflow descriptions

> 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
>
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * is run for a particular maven instance on disk
> ** lists all the available "compatible" versions (like 3.0.* family)
> ** allows to up / down grade current instance to any of available "compatible" version
> ** works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 
> First deliverable shall provide *Delta Manager* implementation

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

        

[jira] Closed: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov closed MNG-3966.
-----------------------------

    Resolution: Fixed

done

> 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
>
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * is run for a particular maven instance on disk
> ** lists all the available "compatible" versions (like 3.0.* family)
> ** allows to up / down grade current instance to any of available "compatible" version
> ** works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 
> First deliverable shall provide *Delta Manager* implementation

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov 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 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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


  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.
* user selects a version to up/down grade to
* Maven instance is updated

*Releaser* story:
When creating a new Maven distribution, maintainer 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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



> 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 
> * created a list of all dependencies for the distro
> * creates a configuration descriptor, drops it into repository
> * adds this version to the *available versions* document at a fixed location in the repo 
> * 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
>  *Releaser*:
> * packages in the updater uber-jar into *.cd* folder
> * all dependencies are listed in *.cd/apache-maven.cd* file
> ** for snapshot version - this list contains actual timestams in the versions
> * creates a configuration descriptor has 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
* user selects a version to up/down grade to
* 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
* 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


  was:
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
* user selects a version to up/down grade to
* updater:
** calculates the list of dependencies for new version
** 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
* 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



> 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 uber jar is supplied with Maven, sits in *.cd* folder
> * pre-calculated list of all current dependencies is stored in *.cd* folder
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list
> ** available versions are stored in a preset document in a remote repository
> * user selects a version to up/down grade to
> * 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
> * 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov 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 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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, defined by gav *org.apache.maven:maven-versions:1.0::ver*
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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


  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.
* user selects a version to up/down grade to
* Maven instance is updated

*Releaser* story:
When creating a new Maven distribution, maintainer 
* created a list of all dependencies for the distro
* creates a configuration descriptor, drops it into repository
* adds this version to the *available versions* document at a fixed location in the repo 
* 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

 *Releaser*:
* packages in the updater uber-jar into *.cd* folder
* all dependencies are listed in *.cd/apache-maven.cd* file
** for snapshot version - this list contains actual timestams in the versions
* creates a configuration descriptor has 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



> 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 
> * created a list of all dependencies for the distro
> * creates a configuration descriptor, drops it into repository
> * adds this version to the *available versions* document at a fixed location in the repo 
> * 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, defined by gav *org.apache.maven:maven-versions:1.0::ver*
> * 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
>  *Releaser*:
> * packages in the updater uber-jar into *.cd* folder
> * all dependencies are listed in *.cd/apache-maven.cd* file
> ** for snapshot version - this list contains actual timestams in the versions
> * creates a configuration descriptor has 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
     [ 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 uber jar is supplied with Maven, sits in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** 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:
* 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 uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
* user selects a version to up/down grade to
* 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
* 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



> 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 uber jar is supplied with Maven, sits in *.cd* folder
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list
> ** 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:
> * 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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Fix Version/s: 3.0-alpha-2

> 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
>
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * is run for a particular maven instance on disk
> ** lists all the available "compatible" versions (like 3.0.* family)
> ** allows to up / down grade current instance to any of available "compatible" version
> ** works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 
> First deliverable shall provide *Delta Manager* implementation

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

        

[jira] Closed: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov closed MNG-3966.
-----------------------------

    Resolution: Fixed

approved

> 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 
> * created a list of all dependencies for the distro
> * creates a configuration descriptor, drops it into repository
> * adds this version to the *available versions* document at a fixed location in the repo 
> * 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, defined by gav *org.apache.maven:maven-versions:1.0::ver*
> * 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
>  *Releaser*:
> * packages in the updater uber-jar into *.cd* folder
> * all dependencies are listed in *.cd/apache-maven.cd* file
> ** for snapshot version - this list contains actual timestams in the versions
> * creates a configuration descriptor has 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

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Delta Manager* story:

* standalone library
* CLI wrapper
* starts for a particular maven instance on disk
* lists all the available "compatible" versions (like 3.0.* family)
* allows to up / down grade current instance to any of available "compatible" version
* works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 


  was:
* standalone application
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote ditributions



> 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
>
> *Delta Manager* story:
> * standalone library
> * CLI wrapper
> * starts for a particular maven instance on disk
> * lists all the available "compatible" versions (like 3.0.* family)
> * allows to up / down grade current instance to any of available "compatible" version
> * works on binaries only ( the ./lib folder), all other files presumed installed and compatible
> *Installer* story:
> * standalone library
> * CLI wrapper
> * maintains a set of "maven distributions" on user disk
> * allows user to
> ** list local "installed" distributions (inventory function)
> ** list available remote distributions
> ** install a version
> ** remove a version
> ** switch 

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

        

[jira] Updated: (MNG-3966) Requirements (User Story)

Posted by "Oleg Gusakov (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gusakov updated MNG-3966:
------------------------------

    Description: 
*Installer* story:

* updater uber jar is supplied with Maven, sits in *.cd* folder
* pre-calculated list of all current dependencies is stored in *.cd* folder
* updater script starts java in the maven home folder
* user is presented a choice of all available Maven versions as one list
** available versions are stored in a preset document in a remote repository
** snapshot version is shown as set if timestamps
* user selects a version to up/down grade to
* updater:
** calculates the list of dependencies for new version
** 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

*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. So listing them here prevent that from happening
* 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


  was:
*Delta Manager* story:

* standalone library
* CLI wrapper
* is run for a particular maven instance on disk
** lists all the available "compatible" versions (like 3.0.* family)
** allows to up / down grade current instance to any of available "compatible" version
** works on binaries only ( the ./lib folder), all other files presumed installed and compatible


*Installer* story:

* standalone library
* CLI wrapper
* maintains a set of "maven distributions" on user disk
* allows user to
** list local "installed" distributions (inventory function)
** list available remote distributions
** install a version
** remove a version
** switch 

First deliverable shall provide *Delta Manager* implementation


> 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 uber jar is supplied with Maven, sits in *.cd* folder
> * pre-calculated list of all current dependencies is stored in *.cd* folder
> * updater script starts java in the maven home folder
> * user is presented a choice of all available Maven versions as one list
> ** available versions are stored in a preset document in a remote repository
> ** snapshot version is shown as set if timestamps
> * user selects a version to up/down grade to
> * updater:
> ** calculates the list of dependencies for new version
> ** 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
> *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. So listing them here prevent that from happening
> * 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

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