cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian LeRoux...@brian.io>
Subject Re: Moving www into an app folder
Date Mon, 25 Mar 2013 18:17:07 GMT
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
<braden@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
>> <braden@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
>> >> <braden@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 <wjamesjong@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 <
>> >> braden@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 <
>> mmocny@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
<
>> >> mmocny@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
>> >> >> >>>>>> <tommy@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 <mmocny@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
>> >> >> >>>>>>>> <tommy@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 <
>> >> >> >>>> mmocny@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
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>
>> >> >> >>>>>>>
>> >> >> >>>>>
>> >> >> >>>>
>> >> >> >>
>> >> >>
>> >>
>>

Mime
View raw message