[ 
https://issues.apache.org/jira/browse/CB-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Filip Maj updated CB-2163:
--------------------------

        Fix Version/s: 2.7.0
          Description: 
We will lock the CLI to a version of cordova using its npm version. i.e. 2.5.x 
on npm uses 2.5.x of Cordova.

We will use The Grunt Vision to enable users to move between versions: In Grunt 
.4 the global executable is dumb. It just shells to locally installed 
./node_module version of Grunt. This enables project level versioning of Grunt. 
Nice feature. We can do the same thing: with the caveat that you would then 
require a package.json and ./node_modules folder in our Cordova projects.

However, I'd like to propose a different approach to the CLI versioning and
it can also solve the `create` command issue to help move towards a dumb
global `cordova`.

## Cordova-CLI

- npm version is still associated with a Cordova distribution
- Cordova-CLI does not vendor the Cordova distribution
- Adding a platform will lazy load the platform distribution into
~/.cordova/platform/name/version/
    - We can lazy load by downloading a gzip from the Apache Git web server
- Next time the platform is needed, it is copied from
~/.cordova/platform/name/version/

## Cordova Create

- Creating an app should be a lazy load of the Hello World app
   - Cached in ~/.cordova/platform/name/version/
- We can update the Hello World app to match a standard Cordova CLI project
- Now the global Cordova CLI is a dumb tool
   - On create: lazy loading or copying the hello world app
   - On project command: shelling to ./node_modules/bin/cordova <command>

  was:
Need to be able to move between cordova versions using the cli tools.

how to achieve this?

    Affects Version/s: 2.6.0
                       2.4.0
                       2.5.0

Updating description based on ML thread.
                
> Version handling and upgrading in cli tools
> -------------------------------------------
>
>                 Key: CB-2163
>                 URL: https://issues.apache.org/jira/browse/CB-2163
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CLI
>    Affects Versions: 2.3.0, 2.4.0, 2.5.0, 2.6.0
>            Reporter: Filip Maj
>            Assignee: Filip Maj
>             Fix For: 2.7.0
>
>
> We will lock the CLI to a version of cordova using its npm version. i.e. 
> 2.5.x on npm uses 2.5.x of Cordova.
> We will use The Grunt Vision to enable users to move between versions: In 
> Grunt .4 the global executable is dumb. It just shells to locally installed 
> ./node_module version of Grunt. This enables project level versioning of 
> Grunt. Nice feature. We can do the same thing: with the caveat that you would 
> then require a package.json and ./node_modules folder in our Cordova projects.
> However, I'd like to propose a different approach to the CLI versioning and
> it can also solve the `create` command issue to help move towards a dumb
> global `cordova`.
> ## Cordova-CLI
> - npm version is still associated with a Cordova distribution
> - Cordova-CLI does not vendor the Cordova distribution
> - Adding a platform will lazy load the platform distribution into
> ~/.cordova/platform/name/version/
>     - We can lazy load by downloading a gzip from the Apache Git web server
> - Next time the platform is needed, it is copied from
> ~/.cordova/platform/name/version/
> ## Cordova Create
> - Creating an app should be a lazy load of the Hello World app
>    - Cached in ~/.cordova/platform/name/version/
> - We can update the Hello World app to match a standard Cordova CLI project
> - Now the global Cordova CLI is a dumb tool
>    - On create: lazy loading or copying the hello world app
>    - On project command: shelling to ./node_modules/bin/cordova <command>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to