cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Maj <...@adobe.com>
Subject Re: [cordova-cli] versioning
Date Tue, 26 Mar 2013 17:24:43 GMT
Yep, on it, and agree.

One thing, though: cordova-cli currently runs up the file tree searching
for '.cordova' to identify a cordova-cli-generated project root (like
git). Can we rename the cache folder to something other than .cordova?
.cordovalibs or something?

On 3/26/13 10:22 AM, "Brian LeRoux" <b@brian.io> wrote:

>Ok. I really like Mike's proposal. Think we should do this. Its solves
>most of our woe. Slight caveat that I would like the cache to be in
>the format of:
>
> ~/.cordova/<thing>/<name>/<version>
>
>(To prevent weird string splitting logic/bugs emerging.)
>
>Fil: can you backlog this? I think it should come AFTER we finish
>fixing up plugman/jsinstall and at least one plugin xplatform done.
>
>
>On Mon, Mar 25, 2013 at 3:26 PM, Michael Brooks
><michael@michaelbrooks.ca> wrote:
>> With respect to the lazy-loading suggestion, I know Brian has raised the
>> offline scenario on a previous thread.
>>
>> At install time of the CLI (`npm install -g cordova`), we can lazy-load
>>all
>> platforms and sample app(s) for a given version.
>>
>> At install time of the CLI as a library (`npm install cordova`), we can
>>not
>> lazy-load the platforms. This allows other distributions (e.g.
>> `phonegap-cli`) to not be forced to download a large number of
>> unnecessary files.
>>
>> Michael
>>
>> On Mon, Mar 25, 2013 at 3:18 PM, Filip Maj <fil@adobe.com> wrote:
>>
>>> Really like this. It a) slims down the cli tools by lazy loading the
>>> libraries as they are needed and b) solves the upgrade/downgrade story,
>>> since eventually you'll be able to simply change the version of the
>>> cordova npm dependency at a project-level.
>>>
>>> The only "downside" (not really) is that every generated cordova-cli
>>> project now is implicitly an npm project as it needs a package.json at
>>>the
>>> top-level.
>>>
>>> On 3/25/13 11:06 AM, "Michael Brooks" <michael@michaelbrooks.ca> wrote:
>>>
>>> >+1 to locking the CLI to a version
>>> >+1 to the Grunt vision
>>> >
>>> >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/app/<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>
>>> >
>>> >On Fri, Mar 22, 2013 at 1:08 PM, Filip Maj <fil@adobe.com> wrote:
>>> >
>>> >> As Tommay pointed out, you need to create the cordova project
>>>structure
>>> >>in
>>> >> the first place with some manner of tool..
>>> >>
>>> >> On 3/22/13 11:58 AM, "tommy-carlos Williams" <tommy@devgeeks.org>
>>> wrote:
>>> >>
>>> >> >I don't have much to add except that I really like this about
>>>Grunt.
>>> >> >
>>> >> >However, it would get "interesting" with Cordova since the global
>>>is
>>> >>what
>>> >> >creates a project in the first place. I still think it could work
>>>and
>>> >> >have the global only responsible for creating dirs and setting up
>>> >> >package.json stuff etc...
>>> >> >
>>> >> >+1 for looking into this.
>>> >> >
>>> >> >On 23/03/2013, at 4:53, Brian LeRoux <b@brian.io> wrote:
>>> >> >
>>> >> >> Right now the global executable is version locked to a Cordova
>>> >> >> release. If you have a project running 2.5 you are required
to
>>>have
>>> >> >> Cordova/CLI 2.5. If you need to then work in Cordova 2.4 you
>>>need to
>>> >> >> downgrade (not really but you would to be safe).
>>> >> >>
>>> >> >> 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.
>>> >> >>
>>> >> >> Discuss.
>>> >>
>>> >>
>>>
>>>


Mime
View raw message