Love these suggestions! I am a little uneasy about storing the platforms on registry.cordova.io. Right now that database is just for plugins + views + ui and adding platforms will require us to change some of the requests on plugins.cordova.io. It is easy enough to do, but I think we have better options available.
Alternative: Publish platforms on npm Has the same advantages as storing on registry.cordova.io. CLI can just add the platform dependencies in their package.json. Easy to handle versioning. Public viewable page for each platform. No more grabbing from apache git servers. On Thu, Mar 13, 2014 at 2:53 PM, Shazron <[email protected]> wrote: > Thanks Andrew, this is the sane path, big +1 > > > On Thu, Mar 13, 2014 at 2:27 PM, Michael Brooks <[email protected] > >wrote: > > > Great suggestions Andrew! > > > > > > On Thu, Mar 13, 2014 at 9:33 AM, Brian LeRoux <[email protected]> wrote: > > > > > I love it / lots of wins in there > > > > > > > > > On Thu, Mar 13, 2014 at 8:25 AM, Andrew Grieve <[email protected]> > > > wrote: > > > > > > > Right now, CLI downloads & caches platforms & plugins using two > > different > > > > mechanisms, with totally independent code paths. > > > > > > > > plugman uses the request library, with proxy settings in > > .plugman/config. > > > > It downloads the tars directly from registry.cordova.io. It does not > > > cache > > > > them. > > > > > > > > CLI uses the request library as well, with proxy settings from > .npmrc. > > It > > > > downloads tars directly from our git server's archive endpoint. It > > caches > > > > them in ~/.cordova. > > > > > > > > > > > > I'd like to propose that we unify them. Specifically: > > > > > > > > 1. Store platforms on registry.cordova.io > > > > - This would allow CLI to easily see what versions of platforms are > > > > available, and be able to choose between them. > > > > - This (I'm sure), INFRA would be much happier about than our > current > > > > fetch-from-git approach > > > > > > > > 2. Unify CLI & Plugman's downloading logic > > > > - Use the same code-path for both. > > > > - Have them use the same caching logic. > > > > > > > > 3. Use npm's cache logic instead of our own: > > > > - Just type npm help cache to see what it does > > > > - Would allow for: "cordova cache clean" > > > > > > > > I would *not* want to lose our support for --searchpath, as I think > > it's > > > > really handy. I don't see a problem with this though. > > > > > > > > This would also enable CLI to answer queries like "what platform > > versions > > > > are available", and make it trivial to do "install > > [email protected] > > > " > > > > > > > > This isn't something I have time to work on in the near future, but > > > wanted > > > > to see if everyone would be onboard with the change. I'll end up just > > > > filing bugs for the changes if it sounds good... but if anyone else > > wants > > > > to work on it... :) > > > > > > > > > >
