Certainly shows some rough spots of the CLI interface e.g.: - Need to add plugins before platforms - Need to chdir() before calling functions
And yes - love that this makes cordova fit in more nicely with other parts of an app's build system. One thing I wondered when reading it is if Cordova should have an api for a bare-bones "prepare" step. E.g. - don't copy from root www -> platform ww, but just copy in cordova.js & plugin files, assume that the user will take care of putting everything else into the platform www/ On Wed, Aug 13, 2014 at 9:31 PM, Brian LeRoux <[email protected]> wrote: > "Topic for a PGDay talk!" <--yes pls submit > > > On Wed, Aug 13, 2014 at 5:31 PM, Michal Mocny <[email protected]> wrote: > > > :D So cool! > > > > If I understand correct, this is a combination of: > > (a) using the cordova-lib node interface directly > > (b) iterating node_modules and inferring the set of platforms from that > > (c) plugins are listed explicitly since we don't use real npm > > (d) treating www/ as the output of an initial gulp stream > > > > There are some hardcoded paths, but I guess thats just your sample > > gulpfile. Probably we would either publish a gulp plugin that takes in > > args, or just leave this repo as boilerplate and let users tweak > > accordingly? > > > > I've not played with Carlos' grunt based workflow, but wonder how similar > > that approach is. > > > > I think this could be a sweet workflow and find it encouraging to see how > > it could be thrown together. Topic for a PGDay talk!? ;) > > > > -Michal > > > > > > On Wed, Aug 13, 2014 at 6:18 PM, Mark Koudritsky <[email protected]> > > wrote: > > > > > Hi all, > > > > > > Inspired by several recent conversations on this mailing list I've been > > > thinking about a Cordova workflow based on some build system. As an > > > experiment I've put together this app using Gulp and cordova-lib: > > > > > > https://github.com/kamrik/CordovaGulpTemplate > > > > > > To try it out > > > git clone https://github.com/kamrik/CordovaGulpTemplate.git > > > cd CordovaGulpTemplate > > > npm install > > > npm install gulp -g # if you don't yet have gulp installed. > > > gulp recreate > > > gulp build|emulate|run > > > > > > The important files are: > > > * package.json > > > * gulpfile.js > > > * src/config.xml (the cordova config.xml) > > > * src/www/ (copied as is from the default cordova www template) > > > The whole cordova project dir is treated as a build artifact. It lives > > > under ./build (ignored by git and nuked by "gulp clean"). > > > > > > > > > Some benefits of this workflow: > > > - Cordova can blend in as just another tool in the app workflow > > alongside > > > stuff like Sass, template and CoffeeScript/Dart preprocessing etc. > > > - Can use any folder structure under ./src, the cordova project > > structure > > > is created under ./build by linking or copying from ./src (or by > > filtering > > > via transpilers). > > > - Platforms are listed as app dependencies in package.json. As a > result, > > > npm downloads them and platform version preferences are set just like > > with > > > any npm deps. (plugins are not treated this way, see comments in > > gulpfile). > > > - No need to programmatically edit config.xml to store platform list. > > > - As a bonus, people disliking XML can make a simple Gulp plugin that > > > would generate Cordova's config.xml from a more human friendly > > > json/yaml/ini/whatever file ;) > > > > > >
