I think the idea of this feature is to have ZERO impact on existing workflows. This would be a very useful feature for IDEs who may do additional things like caching platforms, providing customized versions of platforms, etc. The implementation we have follows that philosophy. Brian, Jesse, it would be great if you could look at our implementation and let me know if your concerns are addressed.
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Brian LeRoux Sent: Monday, August 11, 2014 11:06 AM To: [email protected] Subject: Re: Directory Structure - CLI directory config proposal I can see the value but have found configurable path look ups tend to be very fragile. (The more config the more variable paths create more opportunities for weird side effects.) I echo the sentiment that we need to be 100% certain this feature does not break existing (default) workflow. On Mon, Aug 11, 2014 at 10:44 AM, Jesse <[email protected]> wrote: > I see zero value in this feature, so I will simply ask that we please > don't break any expectations that already exist. > If this can be achieved without altering the current workflow then I > will keep quiet. > > > @purplecabbage > risingj.com > > > On Mon, Aug 11, 2014 at 10:13 AM, Carlos Santana > <[email protected]> > wrote: > > > Yep I agree with using .cordova/config.json for this directory config. > and > > it would be in 3.x should not wait for 4.x > > > > > > > > On Mon, Aug 11, 2014 at 1:07 PM, Michal Mocny <[email protected]> > wrote: > > > > > Lets not add a new public config file until we have many long > > > talks to figure out all the requirements for a future CLI. > > > Perhaps PGDay US > will > > be > > > a good opportunity to get together in person and hash out some ideas? > > > > > > And since I don't think we should block work like what is being > discussed > > > here, we should continue to use the .cordova/config.json. We can > migrate > > > those features to a public config file without issue. > > > > > > -Michal > > > > > > > > > On Mon, Aug 11, 2014 at 12:49 PM, Carlos Santana > > > <[email protected] > > > > > wrote: > > > > > > > I like what Mark suggested of not passing json string in the > > > > command > > > line, > > > > and better to pass a json file. > > > > Why are we talking about 4.0 release? This can be landed on 3.x > unless > > > I'm > > > > missing something very obvious. > > > > > > > > I would also would like to propose that we expose the hidden > > config.json > > > as > > > > a plublic file on the root of the project like cordova.json > > > > (easy to > > > find, > > > > easy to edit, easy to understand what's going on). > > > > Allowing the www template come with a default cordova.json with > default > > > > values, and allow downstream distributions like IBM :-), to have > > > > a different template for "cordova create > > > > --copy-from=ibmtemplate/) > with a > > > > different cordova.json > > > > Also cordova.json can serve as a way to identity a cordova > > > > project > root > > > > directory by high level IDE/Tools maybe this change of > > > > cordova.json is a big enough for a 4.x > > > > > > > > > > > > > > > > On Mon, Aug 11, 2014 at 11:27 AM, Parashuram Narasimhan (MS OPEN > TECH) > > < > > > > [email protected]> wrote: > > > > > > > > > Should we go ahead and create a branch in the main project so > > > > > that > > you > > > > can > > > > > also add your ideas to it? We could target this feature for a > > > > > 4.0 > > > > release. > > > > > > > > > > -----Original Message----- > > > > > From: Mark Koudritsky [mailto:[email protected]] > > > > > Sent: Monday, August 11, 2014 7:56 AM > > > > > To: [email protected] > > > > > Subject: Re: Directory Structure - CLI directory config > > > > > proposal > > > > > > > > > > I like the way it looks now, but I would argue that we need to > > > > > take > > it > > > > > another step further and make it a CordovaProject class that > > > > > should > > > only > > > > be > > > > > instantiated once and contain all the info of ProjectMeta + > > > > > most of > > the > > > > > info passed around in the ad-hoc opts objects. > > > > > > > > > > I'm somewhat against passing JSON strings as command line > parameters. > > > > > Would prefer to expose this to the command line via something > > > > > along > > the > > > > > lines of --config-mixin=some_file.json and as part of the JS > > > > > API > via > > > > > something like cordova.create(...., config_mixin). > > > > > > > > > > All this said, I like the change the way it is right now. > > > > > > > > > > > > > > > > > > > > On Sun, Aug 10, 2014 at 12:39 PM, Sergey Grebnov (Akvelon) < > > > > > [email protected]> wrote: > > > > > > > > > > > Hi guys, sharing implementation prototype for this feature[1] . > > > please > > > > > > let me know what do you think. > > > > > > > > > > > > Highlights: > > > > > > 1. Introduced project settings class (ProjectMeta) which > > > > > > wraps config.json and exposes project setting info including > > > > > > folders locations (now passed to cordova methods instead of > > > > > > config.json) > 2. > > > > > > Support of the following cordova folders and their default > > > > > > values > > (no > > > > > > changes here) > > > > > > ProjectMeta.defaultWwwPath = 'www'; > > > > > > ProjectMeta.defaultPlatformsPath = 'platforms'; > > > > > > ProjectMeta.defaultHooksPath = 'hooks'; > > > > > > ProjectMeta.defaultMergesPath = 'merges'; > > > > > > ProjectMeta.defaultPluginsPath = 'plugins'; > > > > > > > > > > > > 3. Non-default folders structure could be passed during > > > > > > 'cordova > > > create > > > > > ..' > > > > > > cordova create hello io.cordova.hellocordova > > > > > > HelloCordova > > "{ > > > > > > ""id"": ""io.cordova.hellocordova"", ""name"": > > > > > > ""HelloCordova"", > > > > > > ""wwwPath"": ""."", ""platformsPath"": > > > > > > ""cordova_components/platforms"", > > > > > > ""pluginsPath"": ""cordova_components/plugins"", ""hooksPath"": > > > > > > ""cordova_components/hooks"", ""mergesPath"": > > > > > > ""cordova_components/merges"" }" > > > > > > > > > > > > 4. More details and examples could be found here [2] 5. > > > > > > Source > code > > > > > > could be found here: [3], [4] > > > > > > > > > > > > [1] https://issues.apache.org/jira/browse/CB-7205 > > > > > > [2] https://gist.github.com/daserge/aee3d3503c93accf3f0a > > > > > > [3] > > > > > > > > > https://github.com/MSOpenTech/cordova-lib/tree/configurable-direct > > > orie > > > > > > s/ > > > > > > [4] > > > > > > > > > https://github.com/MSOpenTech/cordova-cli/tree/configurable-direct > > > orie > > > > > > s/ > > > > > > > > > > > > Thx! > > > > > > Sergey > > > > > > From: Lisa Seacat DeLuca [mailto:[email protected]] > > > > > > Sent: Thursday, July 10, 2014 11:50 AM > > > > > > To: [email protected] > > > > > > Subject: Re: Directory Structure - CLI directory config > > > > > > proposal > > > > > > > > > > > > I didn't have anything in mind as far as where the settings > > > > > > could > > be > > > > > > made available. I was more broaching the subject to see if > > > > > > it's possible or if there would be a lot of code rewrite to > > > > > > make it > > work. > > > > > > I'm not as familiar with how the CLI works or how the code > decides > > to > > > > > > place certain files in certain locations on build and creation. > So > > > > > > defaulting to the rest of you for that expertise. IBM would > > > > > > like > > to > > > > > > see this happen from a product standpoint. > > > > > > > > > > > > > > > > > > Lisa > > > > > > @LisaSeacat > > > > > > > > > > > > > > > > > > > > > > > > Gorkem Ercan ---07/08/2014 03:36:54 PM---On Tue, Jul 08, > > > > > > 2014 at 09:02:03AM -0400, Michal Mocny wrote: > Lets see > > > > > > what Lisa had in mind, but > > > > > > > > > > > > From: Gorkem Ercan <[email protected]> > > > > > > To: [email protected] > > > > > > Date: 07/08/2014 03:36 PM > > > > > > Subject: Re: Directory Structure - CLI directory config > > > > > > proposal ________________________________________ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 08, 2014 at 09:02:03AM -0400, Michal Mocny wrote: > > > > > > > Lets see what Lisa had in mind, but I always assumed it > > > > > > > fit > into > > > > > > > .cordova/config.json. > > > > > > > > > > > > > > > > > > > Do you consider the contents of .cordova/config.json to be > > > > > > shared among developers of a project. > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 8, 2014 at 8:46 AM, Andrew Grieve < > > > [email protected]> > > > > > > wrote: > > > > > > > > > > > > > > > Wondering what this will look like. config.xml settings? > > > > > > > > .cordova/config.json? A new config file? > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 7, 2014 at 2:43 PM, Parashuram Narasimhan > > > > > > > > (MS > OPEN > > > > > > > > TECH) < [email protected]> wrote: > > > > > > > > > > > > > > > > > +1 to this proposal. If we are able to agree on a > > > > > > > > > +proposal, > > we > > > > > > > > > +can > > > > > > > > > contribute with code too. > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > From: [email protected] [mailto:[email protected]] On > Behalf > > > Of > > > > > > Michal > > > > > > > > > Mocny > > > > > > > > > Sent: Monday, July 7, 2014 7:52 AM > > > > > > > > > To: dev > > > > > > > > > Subject: Re: Directory Structure - CLI directory > > > > > > > > > config > > > proposal > > > > > > > > > > > > > > > > > > I'd like to see this happen. > > > > > > > > > > > > > > > > > > Specifically, I would like to see support for a > > > > > > > > > directory structure > > > > > > like > > > > > > > > > this: > > > > > > > > > > > > > > > > > > MyApp/ > > > > > > > > > cordova_components/ > > > > > > > > > platforms/ > > > > > > > > > plugins/ > > > > > > > > > bower_components/... > > > > > > > > > node_modules/... > > > > > > > > > ...Rest of contents of MyApp are basically www/ > > > > > > > > > > > > > > > > > > And this cannot use a symlink from > > > MyApp/cordova_components/www/ > > > > > > > > > to > > > > > > MyApp > > > > > > > > > for obvious reasons. > > > > > > > > > > > > > > > > > > Basically, this would allow adding cordova to an > > > > > > > > > existing project, as opposed to creating a new cordova > > > > > > > > > workspace. > It > > > > > > > > > also plays nicer > > > > > > will > > > > > > > > all > > > > > > > > > the other tools. > > > > > > > > > > > > > > > > > > -Michal > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 7, 2014 at 10:41 AM, Lisa Seacat DeLuca < > > > > > > [email protected]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > I wanted to start a discussion on this dev list > > > > > > > > > > about potentially adding a config setting for the > > > > > > > > > > CLI that > > defines > > > > > > > > > > the directory structure to use for creating and > > > > > > > > > > building cordova projects. There are many products > > > > > > > > > > that are built > > on > > > > > > > > > > top of Cordova that have > > > > > > different > > > > > > > > > > directory structures than Cordova. This can be > > > > > > > > > > scary to > > the > > > > > > product > > > > > > > > > > teams when it comes to migration as there is no > > > > > > > > > > guarantee > > > that > > > > > > > > > > the directory structure for Cordova isn't going to > > > drastically > > > > > change. > > > > > > > > > > > > > > > > > > > > Is anyone aware of any semantic issues that would > > > > > > > > > > cause problems by creating the proposed config setting? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Lisa > > > > > > > > > > > > > > > > > > > > Lisa Seacat DeLuca > > > > > > > > > > Mobile Engineer | t: +415.787.4589 | > > > > > > > > > > *[email protected] > * > > > > > > > > > > <[email protected]> | | *[email protected]* > > > > > > > > > > <[email protected]> > > > > > > | > > > > > > > > > > *lisaseacat.com* <http://www.lisaseacat.com/> | [image: > > > follow > > > > > > > > > > @LisaSeacat on twitter] < > http://www.twitter.com/LisaSeacat > > >| > > > > > > [image: > > > > > > > > > > follow Lisa Seacat DeLuca on linkedin] > > > > > > > > > > <http://www.linkedin.com/in/lisaseacat> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Carlos Santana > > > > <[email protected]> > > > > > > > > > > > > > > > -- > > Carlos Santana > > <[email protected]> > > >
