cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Brooks <mich...@michaelbrooks.ca>
Subject Re: CLI lazy loading of libraries
Date Fri, 07 Jun 2013 17:07:31 GMT
1. The Apache GitWeb implementation allows us to download a tar.gz of any
hash or tag. Using this will allow us to download any platform release.
Here is an example of how to download cordova-android 2.8.0 [1]. I think
this is better than downloading the entire release, because lazy-loading is
meant to only grab what's needed. It's also a better choice than GitHub's
downloads because Apache's mirroring is sometimes unreliable.

2. We should use $HOME/.cordova/ There is no reason to invent
yet-another-name for the Cordova configuration directory. When a
".cordova/" is found the $HOME directory, it is considered a global
configuration directory and not a Cordova project. We can use
$HOME/.cordova/lib/cordova-android to store the lazy-loaded libraries. I
chose "lib/" instead of "platforms/" because we will also be lazy-loading
resources such as the Hello World app and someday perhaps even ios-sim.

3. Sure, the hooks sound good.

[1]
https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=snapshot;h=2.8.0;sf=tgz


On Fri, Jun 7, 2013 at 7:41 AM, Michal Mocny <mmocny@chromium.org> wrote:

> Glad to see movement on this.
>
> Few suggestions:
> - use $HOME/.cordova-config/libs  <-- this gives us a folder to put other
> stuff into later, without littering $HOME with .cordova-this and
> .cordova-that
> - I would love to have the ability to use different cordova-lib versions
> within any project easily.  Changing the before-hook or adjusting the libs
> folder sound like global operations.  Can we support --libs-dir= command
> line flag to cordova-cli?  This should only need to be specified on create.
>
> -Michal
>
>
> On Fri, Jun 7, 2013 at 10:07 AM, Braden Shepherdson <braden@chromium.org
> >wrote:
>
> > The Apache Way of having source release bundles is important and we
> follow
> > it. But we can download content for CLI from wherever we please. We're
> > currently downloading the libs from npm, getting the code from npm and
> the
> > libs from Github doesn't change much.
> >
> > This is $HOME, as in /Users/me or /home/me or C:\Users\me\Application
> Data
> > or whatever it is on Windows? SGTM.
> >
> > The before hook should have the ability to substitute their own copy of
> the
> > libs from somewhere else, ideally a git URL/directory and revision. This
> > way it would be trivial to point CLI at master versions of platforms.
> >
> > Braden
> >
> >
> > On Fri, Jun 7, 2013 at 3:58 AM, Filip Maj <fil@adobe.com> wrote:
> >
> > > One of the last key outstanding tasks for the CLI is lazy loading of
> > > platform libraries [1].
> > >
> > > I want to start tackling that tomorrow. I have a few points/questions
> to
> > > bring up and wanted to share my vision of the implementation, give
> folks
> > > an opportunity to comment.
> > >
> > > - where to download the source from?
> Archive.apache.org/dist/cordovaseems
> > > to have all of our releases, but each zip file contains ALL platforms,
> > not
> > > individual ones. Github.com, on the other hand, DOES offer per-platform
> > > downloads, for e.g. [2].
> > > - storing the location in HOME/.cordova-libs cool with people? I want
> to
> > > avoid naming the folder .cordova since that is already used on a
> > > per-project basis to identify the root of a cordova-cli-created project
> > (a
> > > la git).
> > > - I am thinking of exposing hooks/events for this
> > (before_library_download
> > > and after_library_download is my initial thought, which get passed in
> > > platform and version as event parameters/data).
> > >
> > > Comments/suggestions welcome. Thanks!
> > >
> > > Fil
> > >
> > > [1] https://issues.apache.org/jira/browse/CB-3306
> > > [2] https://github.com/apache/cordova-android/archive/2.8.0.zip
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message