They are, right now, a kind of middle ground. If you rm -rf'd the directory, it wouldn't be all better on the next cordova prepare; that's where we hope to reach soon.
On the other hand, you definitely shouldn't be having code in them - native or otherwise - that didn't come from a plugin or from www/. So they could be reconstructed from data stored elsewhere, which makes them mostly a build artifact, and certainly not necessary to store in your source control. Braden On Mon, Mar 25, 2013 at 2:17 PM, Brian LeRoux <b...@brian.io> wrote: > While this might be our goal it is in no way true that ./platforms ia > build artifact today or anytime soon. > > On Mon, Mar 25, 2013 at 10:55 AM, Braden Shepherdson > <bra...@chromium.org> wrote: > > The same is /not/ true of the current structure, because one (probably) > > doesn't want to be committing build artifacts like platforms/, or cached > > third-party data like plugins/ into your git repo. > > > > The idea here is that everything under app/ is what you would keep in git > > for a team working on an app: www, config.xml, docs, samples, etc. > Putting > > that content at the top-level instead means you have lots of extra build > > artifact cruft in your git repo, or your devs just have to know that > > platforms/ and plugins/ are in .gitignore. > > > > Braden > > > > > > On Mon, Mar 25, 2013 at 1:45 PM, Brian LeRoux <b...@brian.io> wrote: > > > >> But, if you go up one level, the same is true w/ the current > >> structure. Its just an organizational difference? (Thats a perfectly > >> ok answer of course. Aesthetics and symmetry are plenty convincing > >> arguments.) > >> > >> In my view ./merges isn't your app. The ./merges dir is in parts of > >> your app on a per platform basis. Hence the logic for having it exist > >> at the same level as ./platforms. > >> > >> Having config.xml exist in the ../www does bother me. > >> > >> > >> On Mon, Mar 25, 2013 at 10:33 AM, Braden Shepherdson > >> <bra...@chromium.org> wrote: > >> > It allows easier cloning of your app (meaning the www, config.xml, and > >> any > >> > samples and so on) into a self-contained directory. It also lets us > keep > >> > the user's app within a single top-level directory (rather than www > and > >> > merges and potentially more later). > >> > > >> > Because only the www (and merges) would get pulled into the actual > app, > >> any > >> > docs, samples, tests, or other miscellany in the git repo won't be > part > >> of > >> > the app. > >> > > >> > > >> > On Mon, Mar 25, 2013 at 1:19 PM, Brian LeRoux <b...@brian.io> wrote: > >> > > >> >> Ok, let me try again. What is precisely problem we are solving by > >> >> changing the structure? To be clear, I'm not really against or for > it. > >> >> I just don't understand why this is important. > >> >> > >> >> > >> >> On Mon, Mar 25, 2013 at 10:06 AM, Braden Shepherdson > >> >> <bra...@chromium.org> wrote: > >> >> > +1 is still a handy means of displaying your support or otherwise. > >> >> > > >> >> > If you do want to version the platforms/ and plugins/ folders at > the > >> top > >> >> > level, you can do that. If you're versioning everything, then you > >> should > >> >> be > >> >> > checking out that master repo, rather than the master repo and then > >> the > >> >> app > >> >> > repo inside it, so it should all work fine. > >> >> > > >> >> > Braden > >> >> > > >> >> > > >> >> > On Mon, Mar 25, 2013 at 12:37 PM, Brian LeRoux <b...@brian.io> wrote: > >> >> > > >> >> >> (Btw this isn't a vote thread guys.) > >> >> >> > >> >> >> On Mon, Mar 25, 2013 at 9:37 AM, Brian LeRoux <b...@brian.io> wrote: > >> >> >> > So, what if you want to version the ./platorms folder? I don't > like > >> >> >> > it, but ppl will do. > >> >> >> > > >> >> >> > On Mon, Mar 25, 2013 at 9:10 AM, James Jong < > wjamesj...@gmail.com> > >> >> >> wrote: > >> >> >> >> +1 for app folder and cordova create <app location> > >> >> >> >> I would like to see it support a git-URL or local. It's nice > to > >> have > >> >> >> it all neatly in app/ but can also see arguments for having www/ > as > >> >> >> top-level. > >> >> >> >> > >> >> >> >> -James Jong > >> >> >> >> > >> >> >> >> On Mar 25, 2013, at 10:32 AM, Braden Shepherdson < > >> >> bra...@chromium.org> > >> >> >> wrote: > >> >> >> >> > >> >> >> >>> A big +1 from me for this world, Michal's option 2. > >> >> >> >>> > >> >> >> >>> I want to be able to cordova create <some-git-URL>, and have > it > >> >> create > >> >> >> an > >> >> >> >>> empty project where the app/ directory is the git repo. > >> >> >> >>> > >> >> >> >>> Then a full project might look like this: > >> >> >> >>> > >> >> >> >>> platforms/ > >> >> >> >>> android/ > >> >> >> >>> ios/ > >> >> >> >>> plugins/ > >> >> >> >>> ... > >> >> >> >>> app/ > >> >> >> >>> merges/ > >> >> >> >>> ... > >> >> >> >>> www/ > >> >> >> >>> ... > >> >> >> >>> README.md > >> >> >> >>> config.xml > >> >> >> >>> docs/ > >> >> >> >>> etc... > >> >> >> >>> > >> >> >> >>> So I can have whatever meta-information I want inside my app/ > >> (and > >> >> >> >>> therefore my git repo) - tests, docs, samples, etc. - but not > >> inside > >> >> >> the > >> >> >> >>> www that actually ships. This makes it sane to have just the > >> app's > >> >> >> files in > >> >> >> >>> git, but not the platforms/ or plugins/ directories. > >> >> >> >>> > >> >> >> >>> Braden > >> >> >> >>> > >> >> >> >>> > >> >> >> >>> On Sun, Mar 24, 2013 at 6:02 PM, Michal Mocny < > >> mmo...@chromium.org> > >> >> >> wrote: > >> >> >> >>> > >> >> >> >>>> So a few questions: > >> >> >> >>>> > >> >> >> >>>> 0. Do we want to support app distribution? Sample apps, Test > >> >> Harness, > >> >> >> >>>> working in a team, open source projects.. hint at yes, but we > >> could > >> >> >> just > >> >> >> >>>> leave that to be done manually. > >> >> >> >>>> 1. Do we want to support app documentation? Where would you > put > >> it > >> >> if > >> >> >> you > >> >> >> >>>> wanted to ship it along with a app? > >> >> >> >>>> 2. Do we have any apps already using the merges/ folder? > How do > >> >> they > >> >> >> ship > >> >> >> >>>> it? > >> >> >> >>>> > >> >> >> >>>> I suspect what would happen now is app devs would already > need > >> an > >> >> app > >> >> >> >>>> folder to keep all the pieces, would cordova create a > workspace, > >> >> and > >> >> >> >>>> link/copy over www/ and merges/. > >> >> >> >>>> > >> >> >> >>>> If we wanted to support app distribution (such that say > cordova > >> >> create > >> >> >> >>>> <path-to-app>), we would need to support importing from an > app > >> >> folder > >> >> >> (for > >> >> >> >>>> the two folder merges and www reason alone). Yet we > currently > >> >> plan to > >> >> >> >>>> unpack that app folder inside the workspace. > >> >> >> >>>> > >> >> >> >>>> -Michal > >> >> >> >>>> > >> >> >> >>>> > >> >> >> >>>> On Sun, Mar 24, 2013 at 5:22 PM, Brian LeRoux <b...@brian.io> > >> wrote: > >> >> >> >>>> > >> >> >> >>>>> Ya no worries we'll advocate on best for the project vs our > >> >> >> particular > >> >> >> >>>>> downstream. File path handling, while tedious, is most > >> certainly > >> >> not > >> >> >> a > >> >> >> >>>>> reason to block a reasonable change. > >> >> >> >>>>> > >> >> >> >>>>> I think this is reasonable but not convinced it is a win. > >> >> >> >>>>> > >> >> >> >>>>> On Fri, Mar 22, 2013 at 7:35 PM, Michal Mocny < > >> >> mmo...@chromium.org> > >> >> >> >>>> wrote: > >> >> >> >>>>>> Ah yes, I see what you are asking. The point being that > >> phonegap > >> >> >> build > >> >> >> >>>>>> would need to change to work with the new structure. > >> >> >> >>>>>> > >> >> >> >>>>>> Its a fair point, and its important generally to not harm > >> >> downstream > >> >> >> >>>>>> distributions on purpose, but I think we generally should > do > >> >> whats > >> >> >> best > >> >> >> >>>>> for > >> >> >> >>>>>> cordova and give downstream every opportunity to adjust. > With > >> >> this > >> >> >> >>>>>> particular proposal I can only image it would not be a > >> problem, > >> >> >> >>>>> especially > >> >> >> >>>>>> if they use the same tools internally (but the actual > phonegap > >> >> build > >> >> >> >>>> team > >> >> >> >>>>>> should speak here). > >> >> >> >>>>>> > >> >> >> >>>>>> -Michal > >> >> >> >>>>>> > >> >> >> >>>>>> > >> >> >> >>>>>> On Fri, Mar 22, 2013 at 10:27 PM, Tommy-Carlos Williams > >> >> >> >>>>>> <to...@devgeeks.org>wrote: > >> >> >> >>>>>> > >> >> >> >>>>>>> I just mean that build expects config.xml to be in www, > yeah? > >> >> >> >>>>>>> > >> >> >> >>>>>>> > >> >> >> >>>>>>> > >> >> >> >>>>>>> On 23/03/2013, at 1:12 PM, Michal Mocny < > mmo...@chromium.org > >> > > >> >> >> wrote: > >> >> >> >>>>>>> > >> >> >> >>>>>>>> But isn't the app incomplete without the merges folder? > >> Most > >> >> apps > >> >> >> >>>>>>> probably > >> >> >> >>>>>>>> don't use it, but for those that do, a zip of www isn't > >> enough, > >> >> >> you > >> >> >> >>>>>>> already > >> >> >> >>>>>>>> need to ship more than just the www folder. Creating an > app > >> >> >> folder > >> >> >> >>>>> would > >> >> >> >>>>>>>> actually make the situation easier I think. > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> project > >> >> >> >>>>>>>> - platforms > >> >> >> >>>>>>>> - .. > >> >> >> >>>>>>>> - plugins > >> >> >> >>>>>>>> - ... > >> >> >> >>>>>>>> - app(s?) > >> >> >> >>>>>>>> - www/ > >> >> >> >>>>>>>> - merges/ > >> >> >> >>>>>>>> - config.xml > >> >> >> >>>>>>>> - README.md > >> >> >> >>>>>>>> - docs/ > >> >> >> >>>>>>>> - etc stuff that doesn't get copied into platform/ > output on > >> >> build > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> (oh, and hey, notice the similarity in structure to > plugins? > >> >> just > >> >> >> >>>>>>> sayin..) > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> > >> >> >> >>>>>>>> On Fri, Mar 22, 2013 at 7:00 PM, Tommy-Carlos Williams > >> >> >> >>>>>>>> <to...@devgeeks.org>wrote: > >> >> >> >>>>>>>> > >> >> >> >>>>>>>>> Can I just ask a question about this? > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> Is the config.xml supposed to be compatible with > >> >> >> >>>> build.phonegap.comat > >> >> >> >>>>>>>>> all? > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> I ask because I could see a scenario where you might > want > >> to > >> >> use > >> >> >> >>>> the > >> >> >> >>>>> cli > >> >> >> >>>>>>>>> tools, but still utilise build.phonegap.com for other > >> >> platforms > >> >> >> >>>> (or > >> >> >> >>>>>>> even > >> >> >> >>>>>>>>> for the ones supported by the cli). > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> If the cli config.xml is "build" compatible, it makes > sense > >> >> for > >> >> >> it > >> >> >> >>>>> to be > >> >> >> >>>>>>>>> in the www folder so that the www folder can go > straight to > >> >> >> >>>>>>>>> build.phonegap.com. > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> On 23/03/2013, at 9:15 AM, Brian LeRoux <b...@brian.io> > >> wrote: > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>>> I'm ok with ./merges at the same level as ./www but the > >> >> >> config.xml > >> >> >> >>>>>>>>>> inside of ./www bugs me too. I think having a root > level > >> >> ./www > >> >> >> >>>> just > >> >> >> >>>>>>>>>> works well mentally in that its obvious whats there, > what > >> it > >> >> >> does, > >> >> >> >>>>> and > >> >> >> >>>>>>>>>> who it effects. The ./merges folder is really just > stuff > >> that > >> >> >> gets > >> >> >> >>>>>>>>>> added to ./www in the right cases so having at the same > >> >> depth is > >> >> >> >>>> ok > >> >> >> >>>>>>>>>> (for me). > >> >> >> >>>>>>>>>> > >> >> >> >>>>>>>>>> I get where you are coming from though. > >> >> >> >>>>>>>>>> > >> >> >> >>>>>>>>>> The real sticky bit is a config file hiding with the > app > >> >> >> >>>>>>>>>> implementation. It seems like that would live at the > root. > >> >> The > >> >> >> >>>> idea > >> >> >> >>>>> of > >> >> >> >>>>>>>>>> having it inside of ./www is a simple zip and rename of > >> ./www > >> >> >> >>>> would > >> >> >> >>>>>>>>>> result in an installable package...but logically with > our > >> >> >> tooling > >> >> >> >>>>> and > >> >> >> >>>>>>>>>> such that would be a build artifact that just lives in > >> >> >> ./platforms > >> >> >> >>>>>>>>>> after we do our magic. > >> >> >> >>>>>>>>>> > >> >> >> >>>>>>>>>> =/ > >> >> >> >>>>>>>>>> > >> >> >> >>>>>>>>>> > >> >> >> >>>>>>>>>> On Fri, Mar 22, 2013 at 1:24 PM, Michal Mocny < > >> >> >> >>>> mmo...@chromium.org> > >> >> >> >>>>>>>>> wrote: > >> >> >> >>>>>>>>>>> Paraphrasing our meeting notes today: > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> * currently www/ has to have config.xml inside it, > docs > >> >> inside > >> >> >> >>>> it, > >> >> >> >>>>>>>>> README > >> >> >> >>>>>>>>>>> etc > >> >> >> >>>>>>>>>>> * merges folder is already a sibling of www/ but its > >> >> logically > >> >> >> >>>>> part of > >> >> >> >>>>>>>>> the > >> >> >> >>>>>>>>>>> app. > >> >> >> >>>>>>>>>>> * So, why not move everything that isn't the actual > >> assets > >> >> of > >> >> >> the > >> >> >> >>>>> app > >> >> >> >>>>>>>>>>> itself out of www? > >> >> >> >>>>>>>>>>> * Option 1: move everything out into the root. > >> >> >> >>>>>>>>>>> * harder for git versioning your app, since cordova > >> >> artifacts > >> >> >> >>>>>>>>>>> (platforms, plugins) are inside. > >> >> >> >>>>>>>>>>> * Option 2: make a new top level "app/" folder that > holds > >> >> >> merges/ > >> >> >> >>>>> and > >> >> >> >>>>>>>>> www/ > >> >> >> >>>>>>>>>>> and manifestes etc > >> >> >> >>>>>>>>>>> * then you can just clone/install an app into one > >> location > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> And I'll throw out a third option: Create an "apps" > >> folder > >> >> >> which > >> >> >> >>>>> can > >> >> >> >>>>>>>>> have > >> >> >> >>>>>>>>>>> any number of named apps, like plugins. > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> I think (2) should be totally doable (just change some > >> >> default > >> >> >> >>>>> paths > >> >> >> >>>>>>> in > >> >> >> >>>>>>>>> the > >> >> >> >>>>>>>>>>> tooling) and is a strict improvement (minus the > hassle of > >> >> >> moving > >> >> >> >>>>> your > >> >> >> >>>>>>>>> files > >> >> >> >>>>>>>>>>> around the first time for app devs). (3) I think is > >> >> >> interesting, > >> >> >> >>>>> but > >> >> >> >>>>>>>>> is a > >> >> >> >>>>>>>>>>> bit of a departure. > >> >> >> >>>>>>>>>>> > >> >> >> >>>>>>>>>>> -Michal > >> >> >> >>>>>>>>> > >> >> >> >>>>>>>>> > >> >> >> >>>>>>> > >> >> >> >>>>>>> > >> >> >> >>>>> > >> >> >> >>>> > >> >> >> >> > >> >> >> > >> >> > >> >