On Tue, Oct 8, 2013 at 10:27 AM, Jeffrey Heifetz <jheif...@blackberry.com>wrote:
> So I'm not sure if we ever came to a true consensus about this, but the > code has been up for a while now [1]. If there are no complaints in say > 24hrs I think its reasonable to merge it in. > Hooray for lazy consensus! :) Seriously, though, this is great -- I looked at the code in reviewboard a couple of times, and it looked good. I wasn't confident enough to hit the "Ship it" button, I guess. I've hit a snag running CLI today, though. It looks like the new prepare method always: 1) runs plugman prepare for each installed plugin, which copies the plugin js modules into the platform www dir, and then 2) calls parser.update_project(), which deletes the platform www dir, and recreates it. The end result is that plugin native code is installed, but JS code is not. I've sent up a small change to reviewboard[1]; it's working for me now for Android and iOS -- let me know if you think it's going to introduce any new problems, though. Ian [1] https://reviews.apache.org/r/14621/ > Cheers, > > Jeff > > > > 1. https://reviews.apache.org/r/14376/ > > On 13-09-16 5:06 PM, "Michal Mocny" <mmo...@chromium.org> wrote: > > >I've emailed github about that in the past. Hopefully they can address > >it, > >since their review system is far superior for all other reasons. > > > > > >On Mon, Sep 16, 2013 at 1:16 PM, Andrew Grieve <agri...@chromium.org> > >wrote: > > > >> We do get emails for some pull requests, but some repos aren't set up to > >> email and looks like CLI is one of them. Think you need to file an INFRA > >> ticket to fix it :(. > >> > >> I'm liking reviewboard more than github for reviews since it lets you > >> review your comments without sending an email for each and every one of > >> them. I'm fine with using github as well though since that's what most > >> people tend to use. > >> > >> > >> On Mon, Sep 16, 2013 at 4:06 PM, Michal Mocny <mmo...@chromium.org> > >>wrote: > >> > >> > We don't get email notified (or, at least I don't) of github pull > >> requests, > >> > but we do get emails for review-board (or at least the assignee > >>does?). > >> > Either way, if you post a link you'll likely get better luck with a > >> review > >> > quicker next time, sorry that we missed it. I can't peek until > >> > tomorrow/wed, so if no one gets to it, I'll do it then. > >> > > >> > -Michal > >> > > >> > On Mon, Sep 16, 2013 at 11:16 AM, Jeffrey Heifetz > >> > <jheif...@blackberry.com>wrote: > >> > > >> > > So I believe this pull request is ready to go, however I have yet to > >> get > >> > > any feedback on the request itself. Can anyone familiar with the > >>other > >> > > platforms volunteer to test this with them? > >> > > > >> > > Is this a question of presentation, should I close the github pull > >> > request > >> > > in favour of the cordova review board ? > >> > > > >> > > On 13-09-12 2:13 PM, "Michal Mocny" <mmo...@chromium.org> wrote: > >> > > > >> > > >Thats awesome, looking forward to it! > >> > > > > >> > > > > >> > > >On Thu, Sep 12, 2013 at 10:22 AM, Jeffrey Heifetz > >> > > ><jheif...@blackberry.com>wrote: > >> > > > > >> > > >> Yup I'm on the same page with you Michal, and I believe Braden as > >> > well. > >> > > >> I'm sorry I should have said so earlier, we resolved this on > >>irc. I > >> > > >>have a > >> > > >> basic implementation here > >> > https://github.com/apache/cordova-cli/pull/39 > >> > > >> but I'm still testing it. > >> > > >> > >> > > >> On 13-09-12 12:36 PM, "Michal Mocny" <mmo...@chromium.org> > wrote: > >> > > >> > >> > > >> >Trying to clarify the misunderstanding... > >> > > >> > > >> > > >> >Jeffrey, if I understand your email, your understanding of point > >> (4) > >> > of > >> > > >> >bradens flow is that the app.xml is *being* munged, whereas we > >> meant > >> > > >>that > >> > > >> >its the app.xml config that is *doing* the munging to the > >>platform > >> > > >>config. > >> > > >> > I think that means we both agree that app.xml should never be > >> > > >>modified, > >> > > >> >and it was just a miscommunication. Am I right with that > >> > > >>understanding? > >> > > >> > > >> > > >> >Also, in your proposal you have plugins munging/preparing > >>*after* > >> > > >>app.xml > >> > > >> >does its munging. I assume you did not do intentionally, that > >>you > >> had > >> > > >>just > >> > > >> >not considered the order important. If it was intentional, why? > >> We > >> > > >>were > >> > > >> >thinking app.xml should be last and thus have the most > >> "importance". > >> > > >> > > >> > > >> > > >> > > >> >On Wed, Sep 11, 2013 at 11:38 AM, Braden Shepherdson > >> > > >> ><bra...@chromium.org>wrote: > >> > > >> > > >> > > >> >> I think we've gotten a bit confused. Let me try to describe > >>again > >> > the > >> > > >> >>way I > >> > > >> >> was envisioning things. > >> > > >> >> > >> > > >> >> 1. If defaults.xml exists, replace platform config.xml with > >>it. > >> > > >> >> 2. Use plugman to add each plugin's <config-file> changes onto > >> the > >> > > >> >>platform > >> > > >> >> config.xml. > >> > > >> >> 3. Add in the values from the app config.xml: <name>, <author> > >> > etc., > >> > > >> >>which > >> > > >> >> it currently does, plus the proposed new <config-file> tags. > >> > > >> >> 4. Somewhere in there, call plugman prepare to update the JS > >> > modules. > >> > > >> >>This > >> > > >> >> doesn't change or depend on config.xml at all. > >> > > >> >> > >> > > >> >> NB: I don't suggest anywhere that we edit the user's > >>top-level, > >> app > >> > > >> >> config.xml. This is just a process for building the platform > >> > > >>config.xml, > >> > > >> >> and making it a pure build artifact. > >> > > >> >> > >> > > >> >> I also suggest that the "last word"; the file whose changes > >>are > >> > added > >> > > >> >>last, > >> > > >> >> is the app config.xml. This allows the user the power to > >>override > >> > any > >> > > >> >> default or setting from a plugin. > >> > > >> >> > >> > > >> >> Braden > >> > > >> >> > >> > > >> >> > >> > > >> >> On Wed, Sep 11, 2013 at 2:16 PM, Jeffrey Heifetz > >> > > >> >><jheif...@blackberry.com > >> > > >> >> >wrote: > >> > > >> >> > >> > > >> >> > I'd like to clarify the changes to prepare before I continue > >> the > >> > > >> >> > implementation. > >> > > >> >> > > >> > > >> >> > The current prepare flow works like this > >> > > >> >> > 1. Call parser.update_project. This includes calling > >> > > >> >> > parser.update_from_config which updates the platform config > >>and > >> > > >> >>resources > >> > > >> >> > based on app config (but only handles specific tags). It > >>also > >> > > >>updates > >> > > >> >>the > >> > > >> >> > platform www based on app www, staging and overrides. > >> > > >> >> > 2. Call plugman prepare (sets up JS-modules) > >> > > >> >> > 3. Plugin config-munge (where each plugin config > >> changes > >> > > >>are > >> > > >> >> > iterated > >> > > >> >> > through) > >> > > >> >> > > >> > > >> >> > Braden's proposed flow (in his own words) > >> > > >> >> > 1. Delete the old platform config.xml. > >> > > >> >> > 2. Copy the defaults.xml to config.xml. > >> > > >> >> > 3. Re-run the Plugman config munging for every > >>plugin, > >> > > >> >>modifying > >> > > >> >> > the > >> > > >> >> > fresh platform config.xml. (The order here is > >> > > >>deliberately > >> > > >> >> > undefined; > >> > > >> >> > plugins should already not be relying on this.) > >> > > >> >> > 4. Run the config munging for the app’s config.xml > >>as > >> > well. > >> > > >> >> > Where I believe #4 means the plugin config-munge. > >> > > >> >> > > >> > > >> >> > I'd like to propose the new flow to be the following > >> > > >> >> > > >> > > >> >> > 1. If defaults.xml exists, replace platform > >>congig.xml > >> > > >>with it > >> > > >> >> > 2. Run a generic clobbers from app.xml to > >>platform.xml > >> > that > >> > > >> >>will > >> > > >> >> > include > >> > > >> >> > processing the proposed <platform> tags. > >> > > >> >> > 3. Run plugman config munge on the platform > >>config.xml > >> (I > >> > > >> >>believe > >> > > >> >> > this should only add net new elements) > >> > > >> >> > > >> > > >> >> > 4. Call a modified parser.update_project that no > >>longer > >> > > >>makes > >> > > >> >> > changes to > >> > > >> >> > the platform config.xml > >> > > >> >> > > >> > > >> >> > I believe that this is complimentary with the approach > >>Braden > >> > > >> >>suggested > >> > > >> >> > with one major change. I did not include plugin config > >>munging > >> on > >> > > >>the > >> > > >> >>app > >> > > >> >> > config.xml. This is because I feel that by doing so we make > >>the > >> > app > >> > > >> >> > config.xml the same half build artifact half user edited > >>mess > >> > we're > >> > > >> >> trying > >> > > >> >> > to solve. If the list disagrees with me I will of course > >> > implement > >> > > >>it > >> > > >> >>the > >> > > >> >> > way Braden proposed it though. > >> > > >> >> > > >> > > >> >> > > >> > > >> >> > > >> > > >> >> > On 13-09-10 1:58 PM, "Jeffrey Heifetz" < > >> jheif...@blackberry.com> > >> > > >> >>wrote: > >> > > >> >> > > >> > > >> >> > >Issue Created - > >>https://issues.apache.org/jira/browse/CB-4774 > >> > > >> >> > > > >> > > >> >> > >On 13-09-10 9:30 AM, "Tommy-Carlos Williams" < > >> > to...@devgeeks.org> > >> > > >> >> wrote: > >> > > >> >> > > > >> > > >> >> > >>Then colour me excited! > >> > > >> >> > >> > >> > > >> >> > >>+1 > >> > > >> >> > >> > >> > > >> >> > >> > >> > > >> >> > >>On 10/09/2013, at 11:27 PM, Andrew Grieve < > >> > agri...@chromium.org> > >> > > >> >> wrote: > >> > > >> >> > >> > >> > > >> >> > >>> On Mon, Sep 9, 2013 at 7:37 PM, Tommy-Carlos Williams > >> > > >> >> > >>><to...@devgeeks.org>wrote: > >> > > >> >> > >>> > >> > > >> >> > >>>> I have been following this thread with a combination of > >> > > >>interest > >> > > >> >>and > >> > > >> >> > >>>> trepidation. > >> > > >> >> > >>>> > >> > > >> >> > >>>> Interest: > >> > > >> >> > >>>> > >> > > >> >> > >>>> Anything that works towards ./platforms being a build > >> > > >>artefact I > >> > > >> >>am > >> > > >> >> > >>>>all > >> > > >> >> > >>>> for. In our app, ./platforms is already a build > >>artefact. > >> We > >> > > >>used > >> > > >> >> > >>>>hooks to > >> > > >> >> > >>>> achieve this (updating config files, copying icon / > >>splash > >> > > >> >>assets, > >> > > >> >> > >>>>etc). > >> > > >> >> > >>>> > >> > > >> >> > >>>> Just a quick questionŠ I know that > >> ./platforms/../config.xml > >> > > >> >>(even > >> > > >> >> > >>>>after a > >> > > >> >> > >>>> `cordova build Š`) still has the old defaults for name, > >> > > >>author, > >> > > >> >>id > >> > > >> >> > >>>>etcŠ but > >> > > >> >> > >>>> it doesn't seem to make any difference. We don't modify > >> > > >> >> > >>>> ./platforms/../config.xml as it seemed like the > >> > modifications > >> > > >>to > >> > > >> >> > >>>> ./www/config.xml (and our custom hook modifications to > >>say > >> > > >> >> > >>>> ./platforms/android/AndroidManifest.xml) were > >>sufficient. > >> > > >> >> > >>>> > >> > > >> >> > >>>> What am I missing wrt there being differences between > >> these > >> > > >> >>files? > >> > > >> >> > >>>> > >> > > >> >> > >>>> Trepidation: > >> > > >> >> > >>>> > >> > > >> >> > >>>> Users are just starting to get a handle on how the CLI > >> works > >> > > >> >>(though > >> > > >> >> > >>>>there > >> > > >> >> > >>>> are still some ongoing issues that I see fairly > >>regularly, > >> > > >>like > >> > > >> >> > >>>>thinking > >> > > >> >> > >>>> they still need to use Plugman directly even with CLI > >> > created > >> > > >> >> > >>>>projects). > >> > > >> >> > >>>> Just worried more workflow changes yet again are going > >>to > >> > turn > >> > > >> >> people > >> > > >> >> > >>>>off > >> > > >> >> > >>>> the CLI entirely. I may be a bit "twice shy", so if > >>it's > >> not > >> > > >> >>going > >> > > >> >> to > >> > > >> >> > >>>> impact users much (except for making things much > >>better) > >> > feel > >> > > >> >>free > >> > > >> >> to > >> > > >> >> > >>>>set > >> > > >> >> > >>>> me straight. hehe. > >> > > >> >> > >>>> > >> > > >> >> > >>>> - tommy > >> > > >> >> > >>>> > >> > > >> >> > >>> Some clarifications: > >> > > >> >> > >>> - Change doesn't change workflow at all > >> > > >> >> > >>> - Change will allow user's edits to their root > >>config.xml > >> > > >>actually > >> > > >> >> work > >> > > >> >> > >>>in > >> > > >> >> > >>> all cases > >> > > >> >> > >>> > >> > > >> >> > >>> Win! > >> > > >> >> > >>> > >> > > >> >> > >>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> On 10/09/2013, at 2:57 AM, Michal Mocny < > >> > mmo...@chromium.org> > >> > > >> >> wrote: > >> > > >> >> > >>>> > >> > > >> >> > >>>>> Aside from moving some files around and changing the > >> order > >> > of > >> > > >> >> > >>>>>operations > >> > > >> >> > >>>> a > >> > > >> >> > >>>>> bit, the biggest change will be adding support for > >> > <platform> > >> > > >> >>and > >> > > >> >> > >>>>> <config-file> to app.xml. By the way, thats still > >>called > >> > > >> >> config.xml, > >> > > >> >> > >>>>>do > >> > > >> >> > >>>> we > >> > > >> >> > >>>>> want to rename it to app.xml for 3.1? > >> > > >> >> > >>>>> > >> > > >> >> > >>>>> > >> > > >> >> > >>>>> On Mon, Sep 9, 2013 at 12:47 PM, Braden Shepherdson > >> > > >> >> > >>>>><bra...@chromium.org > >> > > >> >> > >>>>> wrote: > >> > > >> >> > >>>>> > >> > > >> >> > >>>>>> I should certainly be able to. I'm digging into a > >>major > >> > > >> >> refactoring > >> > > >> >> > >>>>>>of > >> > > >> >> > >>>>>> Plugman right now, though, so I'll probably want to > >> finish > >> > > >> >>that. > >> > > >> >> If > >> > > >> >> > >>>>>>it's > >> > > >> >> > >>>>>> taking too long, though, then I'll switch gears and > >>get > >> > > >>this in > >> > > >> >> > >>>>>>before > >> > > >> >> > >>>> we > >> > > >> >> > >>>>>> cut 3.1. > >> > > >> >> > >>>>>> > >> > > >> >> > >>>>>> Braden > >> > > >> >> > >>>>>> > >> > > >> >> > >>>>>> > >> > > >> >> > >>>>>> On Mon, Sep 9, 2013 at 11:48 AM, Michal Mocny < > >> > > >> >> mmo...@chromium.org> > >> > > >> >> > >>>> wrote: > >> > > >> >> > >>>>>> > >> > > >> >> > >>>>>>> Braden, are you going to be able to take this on > >>this > >> > > >>week? I > >> > > >> >> > >>>>>>>think it > >> > > >> >> > >>>>>>> would make the upgrade from 3.0 much easier. > >> > > >> >> > >>>>>>> > >> > > >> >> > >>>>>>> -Michal > >> > > >> >> > >>>>>>> > >> > > >> >> > >>>>>>> > >> > > >> >> > >>>>>>> On Mon, Sep 9, 2013 at 9:48 AM, Michal Mocny < > >> > > >> >> mmo...@chromium.org> > >> > > >> >> > >>>> wrote: > >> > > >> >> > >>>>>>> > >> > > >> >> > >>>>>>>> If you would use a different helloworld app > >>template > >> > > >>(which > >> > > >> >>is > >> > > >> >> now > >> > > >> >> > >>>>>>>> possible to specify in both CLI and old workflow), > >> then > >> > > >>the > >> > > >> >> > >>>>>>> pre-generatred > >> > > >> >> > >>>>>>>> platform config.xml template would likely be the > >>wrong > >> > > >>one, > >> > > >> >>and > >> > > >> >> > >>>>>>>>thus > >> > > >> >> > >>>>>>> this > >> > > >> >> > >>>>>>>> bundling for self documentation would be a > >>disservice. > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>> I don't see very much value in documentation for > >> > bundling > >> > > >>the > >> > > >> >> > >>>> config.xml > >> > > >> >> > >>>>>>>> inside the platform template (when do we suspect > >>users > >> > > >>look > >> > > >> >>at > >> > > >> >> > >>>>>>>>that > >> > > >> >> > >>>>>>> file, > >> > > >> >> > >>>>>>>> as apposed to whats actually generated inside their > >> > > >> >>project?). > >> > > >> >> > >>>>>>>>Users > >> > > >> >> > >>>>>>> can > >> > > >> >> > >>>>>>>> read what is generated after adding a platform for > >> their > >> > > >> >> specific > >> > > >> >> > >>>>>>>>app > >> > > >> >> > >>>>>>> using > >> > > >> >> > >>>>>>>> their chosen flow. > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>> I think that since bin/create can mush defaults.xml > >> with > >> > > >> >>app.xml > >> > > >> >> > >>>>>>>>for > >> > > >> >> > >>>>>>> both > >> > > >> >> > >>>>>>>> flows, it should. > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>> On Mon, Sep 9, 2013 at 9:21 AM, Ian Clelland > >> > > >> >> > >>>>>>>><iclell...@chromium.org > >> > > >> >> > >>>>>>>> wrote: > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>>> On Mon, Sep 9, 2013 at 8:45 AM, Braden > >>Shepherdson < > >> > > >> >> > >>>>>>> bra...@chromium.org > >> > > >> >> > >>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>>> The defaults.xml is only part of the CLI > >>workflow, > >> > yes. > >> > > >>It > >> > > >> >>has > >> > > >> >> > >>>>>>>>>>no > >> > > >> >> > >>>>>>>>> relevance > >> > > >> >> > >>>>>>>>>> if you're not using CLI. BUT there is a complete > >> > > >> >>config.xml in > >> > > >> >> > >>>>>>>>>>the > >> > > >> >> > >>>>>>>>>> bin/create template, and it can of course have > >>the > >> > same > >> > > >> >>values > >> > > >> >> > >>>>>>>>>>as > >> > > >> >> > >>>> you > >> > > >> >> > >>>>>>>>> would > >> > > >> >> > >>>>>>>>>> get from an unchanged CLI project (defaults.xml + > >> > > >>app.xml). > >> > > >> >> The > >> > > >> >> > >>>>>>>>>> configuration values you get from the templates > >> should > >> > > >>be > >> > > >> >>the > >> > > >> >> > >>>>>>>>>>same > >> > > >> >> > >>>> in > >> > > >> >> > >>>>>>>>> both > >> > > >> >> > >>>>>>>>>> cases, I agree completely. > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>> Yes, I think it's definitely achievable to have > >>the > >> > > >>complete > >> > > >> >> > >>>>>>>>>template > >> > > >> >> > >>>>>>>>> config.xml be exactly what you would get (modulo > >> > > >>whitespace > >> > > >> >>/ > >> > > >> >> > >>>> comments > >> > > >> >> > >>>>>>> / > >> > > >> >> > >>>>>>>>> etc) from installing the same sample app on the > >>same > >> > > >> >>platform > >> > > >> >> > >>>>>>>>>with > >> > > >> >> > >>>> CLI. > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>> If we can maintain that standard, then the various > >> > files > >> > > >> >>become > >> > > >> >> > >>>> almost > >> > > >> >> > >>>>>>>>> self-documenting; its easy to look at the final > >> > > >>config.xml > >> > > >> >>file > >> > > >> >> > >>>>>>>>>in > >> > > >> >> > >>>> the > >> > > >> >> > >>>>>>>>> template to see how the pieces should fit > >>together, > >> and > >> > > >>work > >> > > >> >> out > >> > > >> >> > >>>> where > >> > > >> >> > >>>>>>>>> each > >> > > >> >> > >>>>>>>>> of the tags originally came from. > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>> It might be worth trying to generate the template > >> > > >>config.xml > >> > > >> >> > >>>>>>>>>*using* > >> > > >> >> > >>>>>>> cli, > >> > > >> >> > >>>>>>>>> just to maintain the correspondence between them. > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>> Ian > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>>>> Braden > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>>> On Sun, Sep 8, 2013 at 5:28 AM, James Jong > >> > > >> >> > >>>>>>>>>><wjamesj...@gmail.com> > >> > > >> >> > >>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> Andrew - what I was thinking was pretty much > >>what > >> > > >>Michal > >> > > >> >> wrote > >> > > >> >> > >>>>>>> below. > >> > > >> >> > >>>>>>>>>>> Perhaps it was my interpretation of the original > >> note > >> > > >>but > >> > > >> >>I > >> > > >> >> > >>>>>>> thought > >> > > >> >> > >>>>>>>>>>> defaults was to be applied only in the CLI > >> workflow. > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> -James Jong > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> On Sep 7, 2013, at 1:05 PM, Michal Mocny < > >> > > >> >> mmo...@chromium.org> > >> > > >> >> > >>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> With this proposal as it stands, I think that > >>is > >> > > >>already > >> > > >> >> true > >> > > >> >> > >>>>>>>>>>>>(at > >> > > >> >> > >>>>>>>>> least > >> > > >> >> > >>>>>>>>>>> for > >> > > >> >> > >>>>>>>>>>>> the initial contents, obviously user can make > >> edits > >> > > >> >>later). > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> Ie, defaults.xml + app.xml = initial config.xml > >> for > >> > > >>both > >> > > >> >> > >>>>>>>>>>>>cases, > >> > > >> >> > >>>>>>>>> which > >> > > >> >> > >>>>>>>>>> use > >> > > >> >> > >>>>>>>>>>>> the same helloworld template's app.xml. > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> If there are specific differences to the > >>default > >> > > >>values > >> > > >> >>that > >> > > >> >> > >>>>>>>>>>>>we > >> > > >> >> > >>>>>>>>> want, > >> > > >> >> > >>>>>>>>>> we > >> > > >> >> > >>>>>>>>>>>> maybe will want to use a different app.xml for > >> each, > >> > > >>but > >> > > >> >> > >>>>>>>>> defaults.xml > >> > > >> >> > >>>>>>>>>>>> should be tied to a platform-version not to a > >> > > >>workflow. > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> -Michal > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>> On Sat, Sep 7, 2013 at 7:56 AM, Andrew Grieve < > >> > > >> >> > >>>>>>> agri...@chromium.org > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>> James - that's a nice goal, but I don't think > >> it's > >> > > >> >> feasible. > >> > > >> >> > >>>>>>>>>>>>>Did > >> > > >> >> > >>>>>>>>> you > >> > > >> >> > >>>>>>>>>>> have a > >> > > >> >> > >>>>>>>>>>>>> way to do that in mind? > >> > > >> >> > >>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>> On Fri, Sep 6, 2013 at 10:31 PM, James Jong < > >> > > >> >> > >>>>>>> wjamesj...@gmail.com> > >> > > >> >> > >>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>> I would like to see the defaults be applied > >>in > >> all > >> > > >> >>cases. > >> > > >> >> > >>>>>>>>>>>>>>For > >> > > >> >> > >>>>>>>>>>>>>> consistency, less confusion, and easier > >> > > >>documentation. > >> > > >> >> If > >> > > >> >> > >>>>>>>>>>>>>>we > >> > > >> >> > >>>>>>> add > >> > > >> >> > >>>>>>>>> or > >> > > >> >> > >>>>>>>>>>>>> change > >> > > >> >> > >>>>>>>>>>>>>> the defaults in a release, both workflows > >>should > >> > get > >> > > >> >>it. > >> > > >> >> In > >> > > >> >> > >>>>>>>>>>>>>>my > >> > > >> >> > >>>>>>>>> mind, > >> > > >> >> > >>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>> CLI platform config.xml should be equivalent > >>to > >> > the > >> > > >> >> > >>>>>>>>>>>>>>bin/create > >> > > >> >> > >>>>>>>>> one. > >> > > >> >> > >>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>> -James Jong > >> > > >> >> > >>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>> On Sep 6, 2013, at 11:06 AM, Michal Mocny > >> > > >> >> > >>>>>>>>>>>>>><mmo...@chromium.org > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>> I thought we were adding support for the > >>last > >> bit > >> > > >>(ie, > >> > > >> >> app > >> > > >> >> > >>>>>>>>> generic > >> > > >> >> > >>>>>>>>>> not > >> > > >> >> > >>>>>>>>>>>>>>> platform specific preferences) to "app.xml" > >> which > >> > > >>the > >> > > >> >> > >>>>>>> helloworld > >> > > >> >> > >>>>>>>>>>>>> template > >> > > >> >> > >>>>>>>>>>>>>>> should ship with and bin/create should > >>apply. > >> > > >> >> > >>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>> -Michal > >> > > >> >> > >>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>> On Fri, Sep 6, 2013 at 10:52 AM, Ian > >>Clelland < > >> > > >> >> > >>>>>>>>>> iclell...@chromium.org > >> > > >> >> > >>>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> The template version needs to be a complete > >> > config > >> > > >> >>file > >> > > >> >> > >>>>>>>>>>>>>>>>for > >> > > >> >> > >>>>>>> the > >> > > >> >> > >>>>>>>>>>> sample > >> > > >> >> > >>>>>>>>>>>>>> app, > >> > > >> >> > >>>>>>>>>>>>>>>> though. You should be able to run > >>bin/create > >> and > >> > > >>then > >> > > >> >> > >>>>>>>>>>>>>>>>build > >> > > >> >> > >>>>>>> the > >> > > >> >> > >>>>>>>>>>> Hello, > >> > > >> >> > >>>>>>>>>>>>>>>> Cordova app immediately. > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> defaults.xml is supposed to be stripped > >>right > >> > > >>down to > >> > > >> >> just > >> > > >> >> > >>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>> platform-specific options which, in theory, > >> > > >>shouldn't > >> > > >> >> need > >> > > >> >> > >>>>>>> to be > >> > > >> >> > >>>>>>>>>>>>>> specified > >> > > >> >> > >>>>>>>>>>>>>>>> by every app. > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> At least that's how it works in my head :) > >>The > >> > > >> >> distinction > >> > > >> >> > >>>>>>> may > >> > > >> >> > >>>>>>>>> be > >> > > >> >> > >>>>>>>>>>> less > >> > > >> >> > >>>>>>>>>>>>>>>> important than I'm imagining. > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> Ian > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> On Fri, Sep 6, 2013 at 9:08 AM, Michal > >>Mocny < > >> > > >> >> > >>>>>>>>> mmo...@chromium.org> > >> > > >> >> > >>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>> If the content or format of defaults.xml > >>and > >> > the > >> > > >> >> initial > >> > > >> >> > >>>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>> will > >> > > >> >> > >>>>>>>>>>>>>>>> be > >> > > >> >> > >>>>>>>>>>>>>>>>> different then we should ship both -- but > >>I > >> > don't > >> > > >> >>think > >> > > >> >> > >>>>>>>>>>>>>>>>>they > >> > > >> >> > >>>>>>>>> will > >> > > >> >> > >>>>>>>>>>> be, > >> > > >> >> > >>>>>>>>>>>>>> so > >> > > >> >> > >>>>>>>>>>>>>>>> I > >> > > >> >> > >>>>>>>>>>>>>>>>> think we just ship the template with a > >> defaults > >> > > >> >>file. > >> > > >> >> > >>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>> -Michal > >> > > >> >> > >>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>> On Thu, Sep 5, 2013 at 11:19 PM, Ian > >> Clelland < > >> > > >> >> > >>>>>>>>>>>>> iclell...@chromium.org > >> > > >> >> > >>>>>>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> On Thu, Sep 5, 2013 at 5:16 PM, James > >>Jong < > >> > > >> >> > >>>>>>>>> wjamesj...@gmail.com > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> defaults.xml - Is that only used by CLI? > >> And > >> > > >>not > >> > > >> >> used > >> > > >> >> > >>>>>>>>>>>>>>>>>>>by > >> > > >> >> > >>>>>>>>>>>>> bin/create > >> > > >> >> > >>>>>>>>>>>>>>>>>>> scripts? > >> > > >> >> > >>>>>>>>>>>>>>>>>>> It was bit unclear to me from the > >> description > >> > > >> >>since > >> > > >> >> > >>>>>>>>>>>>>>>>>>>both > >> > > >> >> > >>>>>>> were > >> > > >> >> > >>>>>>>>>>>>>>>> mentioned > >> > > >> >> > >>>>>>>>>>>>>>>>>>> regarding the 2 xml files. > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> Yes, that's the idea. If you're using the > >> > > >> >>bin/create > >> > > >> >> > >>>>>>> scripts, > >> > > >> >> > >>>>>>>>>> then > >> > > >> >> > >>>>>>>>>>>>>>>> there > >> > > >> >> > >>>>>>>>>>>>>>>>> is > >> > > >> >> > >>>>>>>>>>>>>>>>>> a complete "config.xml" file in the > >>template > >> > > >>that > >> > > >> >>will > >> > > >> >> > >>>>>>>>>>>>>>>>>>be > >> > > >> >> > >>>>>>> used > >> > > >> >> > >>>>>>>>>> for > >> > > >> >> > >>>>>>>>>>>>>> your > >> > > >> >> > >>>>>>>>>>>>>>>>> new > >> > > >> >> > >>>>>>>>>>>>>>>>>> app. This is for strict backwards > >> > compatibility > >> > > >> >>with > >> > > >> >> > >>>>>>> anyone's > >> > > >> >> > >>>>>>>>>>>>> workflow > >> > > >> >> > >>>>>>>>>>>>>>>>> that > >> > > >> >> > >>>>>>>>>>>>>>>>>> doesn't currently include CLI. > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> If you are using CLI, then we will > >> construct a > >> > > >>new > >> > > >> >> > >>>>>>> config.xml > >> > > >> >> > >>>>>>>>>> file > >> > > >> >> > >>>>>>>>>>>>> for > >> > > >> >> > >>>>>>>>>>>>>>>>> you > >> > > >> >> > >>>>>>>>>>>>>>>>>> instead, from three sources: > >>defaults.xml, > >> > which > >> > > >> >> > >>>>>>>>>>>>>>>>>>specifies > >> > > >> >> > >>>>>>>>> all of > >> > > >> >> > >>>>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>> platform defaults; the various plugin.xml > >> > files, > >> > > >> >>and > >> > > >> >> > >>>>>>>>>>>>>>>>>>your > >> > > >> >> > >>>>>>>>> app's > >> > > >> >> > >>>>>>>>>>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>>>>>> file. The end-result should be the same, > >>but > >> > you > >> > > >> >>have > >> > > >> >> a > >> > > >> >> > >>>>>>> clear > >> > > >> >> > >>>>>>>>>> place > >> > > >> >> > >>>>>>>>>>>>> to > >> > > >> >> > >>>>>>>>>>>>>>>>>> override the defaults for your app that > >> lives > >> > > >> >>outside > >> > > >> >> of > >> > > >> >> > >>>>>>> your > >> > > >> >> > >>>>>>>>>>>>>> platforms > >> > > >> >> > >>>>>>>>>>>>>>>>>> directory, and the cordova team has a > >>clear > >> > > >>place > >> > > >> >>to > >> > > >> >> set > >> > > >> >> > >>>>>>> those > >> > > >> >> > >>>>>>>>>> same > >> > > >> >> > >>>>>>>>>>>>>>>>>> defaults. > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> Ian > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> The new CLI prepare flow makes sense to > >>me. > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> -James Jong > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> On Sep 5, 2013, at 2:21 PM, Michal > >>Mocny < > >> > > >> >> > >>>>>>>>> mmo...@chromium.org> > >> > > >> >> > >>>>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> We briefly discussed JSON and the two > >> > thoughts > >> > > >> >>were: > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> (1) We like it, but really what does it > >> buy > >> > > >>us? > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> (2) This change is at the moment 100% > >> > > >>compatible > >> > > >> >> with > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>all > >> > > >> >> > >>>>>>>>>> current > >> > > >> >> > >>>>>>>>>>>>>>>>>>> workflows > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> (including upgrades from 3.0->3.1), > >>and we > >> > > >>think > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>that's > >> > > >> >> > >>>>>>>>>> important > >> > > >> >> > >>>>>>>>>>>>>>>> for > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> headache-less adoption. JSON would > >> > obviously > >> > > >>not > >> > > >> >> be. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> Regarding where to store the defaults, > >>we > >> > had > >> > > >> >> thought > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>it > >> > > >> >> > >>>>>>>>> would > >> > > >> >> > >>>>>>>>>> be > >> > > >> >> > >>>>>>>>>>>>> a > >> > > >> >> > >>>>>>>>>>>>>>>>>> file > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> bundled with the platform, perhaps in > >> > > >> >>bin/templates? > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> -Michal > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> On Thu, Sep 5, 2013 at 12:38 PM, Brian > >> > LeRoux > >> > > >>< > >> > > >> >> > >>>>>>> b...@brian.io> > >> > > >> >> > >>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> The logic flow is much safer in this > >> > method. > >> > > >> >>Where > >> > > >> >> do > >> > > >> >> > >>>>>>> you > >> > > >> >> > >>>>>>>>>> think > >> > > >> >> > >>>>>>>>>>>>>>>>>>> default.xml > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> should live? (Maybe it doesn't have to > >> > exist > >> > > >>and > >> > > >> >> > >>>>>>> defaults > >> > > >> >> > >>>>>>>>> can > >> > > >> >> > >>>>>>>>>>>>> just > >> > > >> >> > >>>>>>>>>>>>>>>>> be > >> > > >> >> > >>>>>>>>>>>>>>>>>>> vars > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> in the logic that does the > >>processing?) > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> Is this our opportunity to move to > >>JSON? > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> On Thu, Sep 5, 2013 at 8:21 AM, Braden > >> > > >> >>Shepherdson > >> > > >> >> < > >> > > >> >> > >>>>>>>>>>>>>>>>>> bra...@chromium.org > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> wrote: > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> config.xml as a build artifact for > >>less > >> > > >> >>suffering > >> > > >> >> > and > >> > > >> >> > >>>>>>>>> easier > >> > > >> >> > >>>>>>>>>>>>>>>>> upgrades > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Terminology > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> ³platform config.xml² refers to the > >> > > >> >> > platform-specific > >> > > >> >> > >>>>>>>>>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> files, > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> eg. > >> platforms/android/res/xml/config.xml. > >> > > >>This > >> > > >> >>is > >> > > >> >> > the > >> > > >> >> > >>>>>>>>> final > >> > > >> >> > >>>>>>>>>>>>>>>> file > >> > > >> >> > >>>>>>>>>>>>>>>>>> read > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> by > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Cordova at runtime. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> ³app config.xml² refers to the > >>top-level > >> > > >> >> config.xml > >> > > >> >> > >>>>>>> found > >> > > >> >> > >>>>>>>>> in > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> www/config.xml. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Why the current situation is > >>suffering > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Chiefly, the > >> platforms/foo/.../config.xml > >> > > >>files > >> > > >> >> are > >> > > >> >> > >>>>>>> both > >> > > >> >> > >>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>> input > >> > > >> >> > >>>>>>>>>>>>>>>>>>> and > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> output of munging by Plugman and the > >> user. > >> > > >>This > >> > > >> >> > sucks. > >> > > >> >> > >>>>>>> It > >> > > >> >> > >>>>>>>>>> makes > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> automatic upgrades difficult because > >> > > >>everybody > >> > > >> >> has a > >> > > >> >> > >>>>>>>>>> customized > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> file in their platforms. It also > >>makes > >> > > >>plugin > >> > > >> >>rm > >> > > >> >> > harder > >> > > >> >> > >>>>>>>>> and > >> > > >> >> > >>>>>>>>>>>>>>>> less > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> robust > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> in > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> CLI than it needs to be. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Currently only some tags in the app > >> > > >>config.xml > >> > > >> >>are > >> > > >> >> > >>>>>>>>> actually > >> > > >> >> > >>>>>>>>>>>>>>>>>> honoured. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Others are ignored, and this has > >>tripped > >> > up > >> > > >>our > >> > > >> >> > users. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Goals > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> bin/create workflow is unchanged. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Final content of the platform > >>config.xml > >> > > >>file > >> > > >> >>is > >> > > >> >> > >>>>>>>>> unchanged, > >> > > >> >> > >>>>>>>>>>>>>>>>> though > >> > > >> >> > >>>>>>>>>>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> method of building it in the CLI can > >> > change. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> CLI workflow is unchanged, in terms > >>of > >> > what > >> > > >>a > >> > > >> >>user > >> > > >> >> > >>>>>>> types. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> platform config.xml stops being both > >> input > >> > > >>and > >> > > >> >> > output > >> > > >> >> > >>>>>>>>> under > >> > > >> >> > >>>>>>>>>>>>>>>> CLI. > >> > > >> >> > >>>>>>>>>>>>>>>>>> Less > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> munging, and easier upgrades. In > >>short, > >> > > >> >>platform > >> > > >> >> > >>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>>>> files > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> become > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> build artifacts. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> What we propose to do about it > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> First, adjust the platform template > >> (used > >> > by > >> > > >> >> > >>>>>>> bin/create) > >> > > >> >> > >>>>>>>>> to > >> > > >> >> > >>>>>>>>>>>>>>>>> contain > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> two > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> files: > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> defaults.xml, which is versioned, > >> > > >>immutable, > >> > > >> >>and > >> > > >> >> > >>>>>>> tucked > >> > > >> >> > >>>>>>>>>> away > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> somewhere (only CLI accesses it) and > >> > > >>contains > >> > > >> >> only > >> > > >> >> > >>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Cordova-specified > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> platform defaults, such as the > >> > preferences, > >> > > >> >>any > >> > > >> >> > >>>>>>> default > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> whitelist entries, > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> etc. It does NOT contain any > >><author>, > >> > > >><name> > >> > > >> >>or > >> > > >> >> > >>>>>>> other > >> > > >> >> > >>>>>>>>>> such > >> > > >> >> > >>>>>>>>>>>>>>>>>> tags. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> platform config.xml, which is the > >>same > >> as > >> > > >>it > >> > > >> >> > >>>>>>> currently > >> > > >> >> > >>>>>>>>>> is, a > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> complete > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> config.xml for the HelloWorld app. > >>This > >> > > >>means > >> > > >> >> > >>>>>>> behavior > >> > > >> >> > >>>>>>>>> is > >> > > >> >> > >>>>>>>>>>>>>>>>>>> unchanged > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> for people who are not using CLI. > >> Plugman > >> > > >> >>still > >> > > >> >> > >>>>>>> munges > >> > > >> >> > >>>>>>>>>> this > >> > > >> >> > >>>>>>>>>>>>>>>>> file > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> and > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> outputs back to it, same as now. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Second, adjust the CLI¹s cordova > >>create > >> > > >> >>template > >> > > >> >> so > >> > > >> >> > >>>>>>> that > >> > > >> >> > >>>>>>>>> its > >> > > >> >> > >>>>>>>>>>>>>>>>>>> top-level > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> app config.xml contains <name>, > >> <author>, > >> > > >> >> <content>, > >> > > >> >> > >>>>>>> etc. > >> > > >> >> > >>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>> tags > >> > > >> >> > >>>>>>>>>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> user is likely to edit. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Third, modify the CLI so that the new > >> > > >>cordova > >> > > >> >> > prepare > >> > > >> >> > >>>>>>> flow > >> > > >> >> > >>>>>>>>>> is: > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Delete the old platform config.xml. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Copy the defaults.xml to config.xml. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Re-run the Plugman config munging > >>for > >> > every > >> > > >> >> plugin, > >> > > >> >> > >>>>>>>>>>>>>>>> modifying > >> > > >> >> > >>>>>>>>>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> fresh platform config.xml. (The > >>order > >> > here > >> > > >>is > >> > > >> >> > >>>>>>>>> deliberately > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> undefined; > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> plugins should already not be > >>relying > >> on > >> > > >> >>this.) > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Run the config munging for the app¹s > >> > > >> >>config.xml > >> > > >> >> as > >> > > >> >> > >>>>>>>>> well. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> This results in a freshly built, > >> > > >> >>build-artifact > >> > > >> >> > >>>>>>>>> platform > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> config.xml. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Users should not be editing it; > >>their > >> > > >> >>top-level > >> > > >> >> app > >> > > >> >> > >>>>>>>>>>>>>>>> config.xml > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> has the last > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> word and will override any settings > >>the > >> > > >> >>defaults > >> > > >> >> or > >> > > >> >> > >>>>>>>>>> plugins > >> > > >> >> > >>>>>>>>>>>>>>>>>> might > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> make. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Note that this means we > >>shouldn¹t be > >> > > >> >> needlessly > >> > > >> >> > >>>>>>>>> setting > >> > > >> >> > >>>>>>>>>>>>>>>>>>> defaults > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> in the app config.xml, since > >>this > >> > might > >> > > >> >> prevent > >> > > >> >> > >>>>>>>>>> plugins > >> > > >> >> > >>>>>>>>>>>>>>>>> from > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> changing > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> things that need changing. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Fourth, extend the app config.xml > >>format > >> > so > >> > > >> >>that > >> > > >> >> it > >> > > >> >> > can > >> > > >> >> > >>>>>>>>> have > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> <platform>tags, like a plugin.xml. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> Into this it can put > >>platform-specific > >> > > >>things > >> > > >> >> like > >> > > >> >> > >>>>>>>>>>>>>>>>>> splashscreens, > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> preferences and other things, rather > >> than > >> > > >> >>mixing > >> > > >> >> > >>>>>>> these > >> > > >> >> > >>>>>>>>>>>>>>>>> together > >> > > >> >> > >>>>>>>>>>>>>>>>>> in > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> the > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> config. > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> - > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> In particular, it can have > >> <config-file> > >> > > >>tags > >> > > >> >>in > >> > > >> >> > the > >> > > >> >> > >>>>>>>>> usual > >> > > >> >> > >>>>>>>>>>>>>>>>>> format > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>>> > >> > > >> >> > >>>>>>>>>> > >> > > >> >> > >>>>>>>>> > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>>> > >> > > >> >> > >>>>>>> > >> > > >> >> > >>>>>> > >> > > >> >> > >>>>>> > >> > > >> >> > >>>> > >> > > >> >> > >>>> > >> > > >> >> > >> > >> > > >> >> > > > >> > > >> >> > > > >> > > >> >> > > >> > > > >> >>>--------------------------------------------------------------------- > >> > > >> >> > >This transmission (including any attachments) may contain > >> > > >> >>confidential > >> > > >> >> > >information, privileged material (including material > >>protected > >> > by > >> > > >>the > >> > > >> >> > >solicitor-client or other applicable privileges), or > >> constitute > >> > > >> >> > >non-public information. Any use of this information by > >>anyone > >> > > >>other > >> > > >> >>than > >> > > >> >> > >the intended recipient is prohibited. If you have received > >> this > >> > > >> >> > >transmission in error, please immediately reply to the > >>sender > >> > and > >> > > >> >>delete > >> > > >> >> > >this information from your system. Use, dissemination, > >> > > >>distribution, > >> > > >> >>or > >> > > >> >> > >reproduction of this transmission by unintended recipients > >>is > >> > not > >> > > >> >> > >authorized and may be unlawful. > >> > > >> >> > > >> > > >> >> > > >> > > >> >> > > >> > > > >>>>--------------------------------------------------------------------- > >> > > >> >> > This transmission (including any attachments) may contain > >> > > >>confidential > >> > > >> >> > information, privileged material (including material > >>protected > >> by > >> > > >>the > >> > > >> >> > solicitor-client or other applicable privileges), or > >>constitute > >> > > >> >> non-public > >> > > >> >> > information. Any use of this information by anyone other > >>than > >> the > >> > > >> >> intended > >> > > >> >> > recipient is prohibited. If you have received this > >>transmission > >> > in > >> > > >> >>error, > >> > > >> >> > please immediately reply to the sender and delete this > >> > information > >> > > >> >>from > >> > > >> >> > your system. Use, dissemination, distribution, or > >>reproduction > >> of > >> > > >>this > >> > > >> >> > transmission by unintended recipients is not authorized and > >>may > >> > be > >> > > >> >> unlawful. > >> > > >> >> > > >> > > >> >> > >> > > >> > >> > > >> > >> --------------------------------------------------------------------- > >> > > >> This transmission (including any attachments) may contain > >> confidential > >> > > >> information, privileged material (including material protected by > >> the > >> > > >> solicitor-client or other applicable privileges), or constitute > >> > > >>non-public > >> > > >> information. Any use of this information by anyone other than the > >> > > >>intended > >> > > >> recipient is prohibited. If you have received this transmission > >>in > >> > > >>error, > >> > > >> please immediately reply to the sender and delete this > >>information > >> > from > >> > > >> your system. Use, dissemination, distribution, or reproduction of > >> this > >> > > >> transmission by unintended recipients is not authorized and may > >>be > >> > > >>unlawful. > >> > > >> > >> > > > >> > > > >>--------------------------------------------------------------------- > >> > > This transmission (including any attachments) may contain > >>confidential > >> > > information, privileged material (including material protected by > >>the > >> > > solicitor-client or other applicable privileges), or constitute > >> > non-public > >> > > information. Any use of this information by anyone other than the > >> > intended > >> > > recipient is prohibited. If you have received this transmission in > >> error, > >> > > please immediately reply to the sender and delete this information > >>from > >> > > your system. Use, dissemination, distribution, or reproduction of > >>this > >> > > transmission by unintended recipients is not authorized and may be > >> > unlawful. > >> > > > >> > > >> > > --------------------------------------------------------------------- > This transmission (including any attachments) may contain confidential > information, privileged material (including material protected by the > solicitor-client or other applicable privileges), or constitute non-public > information. Any use of this information by anyone other than the intended > recipient is prohibited. If you have received this transmission in error, > please immediately reply to the sender and delete this information from > your system. Use, dissemination, distribution, or reproduction of this > transmission by unintended recipients is not authorized and may be unlawful. >