cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Brooks <mich...@michaelbrooks.ca>
Subject Re: [cordova-cli] versioning
Date Tue, 26 Mar 2013 17:34:55 GMT
>
>  ~/.cordova/<thing>/<name>/<version>


I originally wrote this but expected some backlash on breaking our
<name>-<version> convention. I agree, it makes the tool parsing easier.

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?


I think we can solve this without renaming:

    if .cordova path is HOME_DIR
       then path is not a project

Thoughts?
Michael

On Tue, Mar 26, 2013 at 10:24 AM, Filip Maj <fil@adobe.com> wrote:

> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message