cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: Moving .cordova/config.json -> cordova.json
Date Mon, 13 Jan 2014 18:35:23 GMT
The current state is that it must still live within .cordova.

I'm hoping that 99% of people won't care about the file, so it being a
bit hidden isn't the most horrible thing. I'm open to talk about
rejiggering, but just didn't think this move was important enough to
make without more holistic config discussions.

On Mon, Jan 13, 2014 at 9:40 AM, Michal Mocny <mmocny@chromium.org> wrote:
> On Mon, Jan 13, 2014 at 8:11 AM, David Kemp <drkemp@google.com> wrote:
>
>> Config.json is a strange beast. Its not a build artifact because you
>> optionally create it to configure your project. Its used by Medic to force
>> the use of the locally available platfrom libs, and Medic has to create it.
>> It has always seemed strange to hide a configuration file in a hidden
>> directlory. Now its one step worse because the hidden directory might not
>> even be there.
>> Could we just get his thing out into the open?
>>
>
> Lets discuss that at the next meetup?  Seems like this whole config file
> topic is the top subject matter, and maybe there is a better overall
> approach here.
>
>
>>
>>
>>
>> On Fri, Jan 10, 2014 at 10:19 PM, Michal Mocny <mmocny@chromium.org>
>> wrote:
>>
>> > On Fri, Jan 10, 2014 at 8:58 PM, Andrew Grieve <agrieve@chromium.org>
>> > wrote:
>> >
>> > > I've finished working on this for now and have marked the bug as
>> > > fixed. The commits are all attached to
>> > > https://issues.apache.org/jira/browse/CB-4910.
>> > >
>> > > What I've done is:
>> > > 1. config.xml:
>> > >  - defaults to the root instead of within www/.
>> > >  - We still read www/config.xml if the file doesn't exist at the root.
>> > >  - The template will put in at the root now though.
>> > > 2. hooks/ now live in a directory in the root instead of within
>> .cordova
>> > >  - The code will run all hooks found in .cordova/hooks as well as
>> hooks/
>> > >  - The create template now creates the directory in the root.
>> > >
>> >
>> > Are hooks something popular enough that we should be creating by default?
>> >  I do like that its self documenting and discoverable this way, but its
>> > also adding some cognitive load for those just starting out with their
>> > first project.  I'm not opposed at all, just asking.
>> >
>> >  - The create template no longer creates an empty directory for each
>> > > hook type and instead adds a README.md to the hooks/
>> > >    - Reason for this is that git doesn't commit empty dirs, so the
>> > > empty subdirs are lost when committing to git anyways.
>> > > 3. The .cordova/config.json:
>> > >  - Has not moved.
>> > >  - No longer contains the id and name used when creating the project
>> > > (they weren't used anyways)
>> > >  - Will not be written if it doesn't contain anything (which is the
>> > > default)
>> > >  - This means the .cordova/ directory now does not exist by default.
>> > >
>> >
>> > ..but if I wanted a config.json for some reason, I would need to create a
>> > .cordova, or can it exist inside the root as well?
>> >
>> >
>> > > 4. Updated the README.md to reflect the new project structure
>> > >
>> > > In terms of promoting the change, I think it'll be enough to mention
>> > > the change in the next tools release blog post.
>> > >
>> > > On Mon, Jan 6, 2014 at 12:07 PM, Brian LeRoux <b@brian.io> wrote:
>> > > > ya agreed, we should aim to do something early Feb once everyone is
>> > back
>> > > > into the the flow
>> > > >
>> > > >
>> > > > On Mon, Jan 6, 2014 at 11:59 AM, Michal Mocny <mmocny@chromium.org>
>> > > wrote:
>> > > >
>> > > >> If we don't add a config.json by default, we need a new strategy
for
>> > > >> looking up paths for the root.
>> > > >>
>> > > >> I don't like naming the top-level config "config.xml", but after
>> some
>> > > >> thoughts on it, I don't think we should rename it just right now.
>> >  There
>> > > >> are a lot of changes that would need to go along with that rename
>> for
>> > > it to
>> > > >> make any sense.  I also agree with Brian that what we really need
is
>> > to
>> > > >> step back and consider an entirely better solution rather than
>> > something
>> > > >> incremental.  Perhaps this is good subject matter for the next
>> > hangout /
>> > > >> meet-up.
>> > > >>
>> > > >> -Michal
>> > > >>
>> > > >>
>> > > >> On Fri, Jan 3, 2014 at 2:43 PM, Brian LeRoux <b@brian.io>
wrote:
>> > > >>
>> > > >> > probably a good idea for the moment / at some we will have
a
>> config
>> > > file
>> > > >> > reckoning!
>> > > >> >
>> > > >> >
>> > > >> > On Fri, Jan 3, 2014 at 11:34 AM, Andrew Grieve <
>> > agrieve@chromium.org>
>> > > >> > wrote:
>> > > >> >
>> > > >> > > Okay, yeah, reading that back to myself and it seems
like a bad
>> > idea
>> > > >> > > (config.xml->app.xml). Probably would just add to
confusion.
>> > > >> > >
>> > > >> > > So, top-level config.xml and top-level cordova.json.
>> > > >> > >
>> > > >> > > Maybe I could add to this that we don't create a cordova.json
by
>> > > >> default,
>> > > >> > > since 99% most people shouldn't need it.
>> > > >> > >
>> > > >> > >
>> > > >> > > On Fri, Jan 3, 2014 at 2:31 PM, Brian LeRoux <b@brian.io>
>> wrote:
>> > > >> > >
>> > > >> > > > actually, let me put this another way: I support
>> > > .cordova/config.json
>> > > >> > ->
>> > > >> > > > cordova.json but I am not really interested in
changing the
>> name
>> > > of
>> > > >> > > > ./www/config.xml to ./www/app.xml
>> > > >> > > >
>> > > >> > > > ...feels to me we could consolidate this entire
sitation with
>> a
>> > > >> single
>> > > >> > > well
>> > > >> > > > crafted configuration file (at the top level).
ideally we have
>> > > more
>> > > >> > > > convention than configuration. feels like we have
too many
>> > > footguns
>> > > >> to
>> > > >> > > ease
>> > > >> > > > our personal dev workflows as is than consideration
for people
>> > > >> actually
>> > > >> > > > building apps.
>> > > >> > > >
>> > > >> > > >
>> > > >> > > > On Fri, Jan 3, 2014 at 11:25 AM, Brian LeRoux <b@brian.io>
>> > wrote:
>> > > >> > > >
>> > > >> > > > > Sorry, I completely do not understand this
at all. The
>> > proposal
>> > > is
>> > > >> to
>> > > >> > > > > change the name of config.xml to ease confusions
and add a
>> new
>> > > top
>> > > >> > > level
>> > > >> > > > > config file?
>> > > >> > > > >
>> > > >> > > > >
>> > > >> > > > > On Fri, Jan 3, 2014 at 11:15 AM, Andrew Grieve
<
>> > > >> agrieve@chromium.org
>> > > >> > > > >wrote:
>> > > >> > > > >
>> > > >> > > > >> Just spoke with Ian and I now understand
his point about
>> > > >> > cordova.json
>> > > >> > > > >> being
>> > > >> > > > >> for build environment, whereas config.xml
is for
>> application
>> > > >> things.
>> > > >> > > > >>
>> > > >> > > > >> So, do think it'd be bad to have a cordova.json
and a
>> > > config.xml
>> > > >> > right
>> > > >> > > > >> next
>> > > >> > > > >> to each other.
>> > > >> > > > >>
>> > > >> > > > >> How about:
>> > > >> > > > >>
>> > > >> > > > >> config.xml -> app.xml
>> > > >> > > > >>  - This will (hopefully) ease confusion
about CLI's
>> > config.xml
>> > > vs.
>> > > >> > > > >> platforms/ config.xml files.
>> > > >> > > > >>  - E.g. we're adding icon & splashscreen
support to CLI's
>> > > >> > config.xml,
>> > > >> > > > but
>> > > >> > > > >> not for non-CLI config.xml files
>> > > >> > > > >>  - E.g. app.xml and plugin.xml is where
you make edits,
>> > > config.xml
>> > > >> > is
>> > > >> > > > >> what's read at runtime.
>> > > >> > > > >>
>> > > >> > > > >> .cordova/config.json -> cordova.json
>> > > >> > > > >>
>> > > >> > > > >> Also - JIRA for this is
>> > > >> > https://issues.apache.org/jira/browse/CB-4910
>> > > >> > > > >>
>> > > >> > > > >>
>> > > >> > > > >>
>> > > >> > > > >>
>> > > >> > > > >>
>> > > >> > > > >> On Thu, Jan 2, 2014 at 4:10 PM, Brian
LeRoux <b@brian.io>
>> > > wrote:
>> > > >> > > > >>
>> > > >> > > > >> > I understood and read it too Gorkem.
>> > > >> > > > >> >
>> > > >> > > > >> > I was (poorly) suggesting we look
at the issue of
>> > > configuration
>> > > >> > in a
>> > > >> > > > >> > complete view. Due to backwards compatibility
we will be
>> > > adding
>> > > >> a
>> > > >> > > new
>> > > >> > > > >> file
>> > > >> > > > >> > and the code to support the old file
will be around a
>> > while.
>> > > >> > > > >> >
>> > > >> > > > >> > We can probably roll a whole lot
more into a single file.
>> > > What
>> > > >> I"m
>> > > >> > > not
>> > > >> > > > >> sure
>> > > >> > > > >> > about is what should and should not
be.
>> > > >> > > > >> >
>> > > >> > > > >> >
>> > > >> > > > >> > On Thu, Jan 2, 2014 at 12:31 PM,
Gorkem Ercan <
>> > > >> > > gorkem.ercan@gmail.com
>> > > >> > > > >> > >wrote:
>> > > >> > > > >> >
>> > > >> > > > >> > >
>> > > >> > > > >> > > Reducing the number of configuration
files is actually
>> > the
>> > > >> goal
>> > > >> > > > here.
>> > > >> > > > >> > >
>> > > >> > > > >> > > The abstraction is not a new
one. It already exists and
>> > it
>> > > is
>> > > >> > part
>> > > >> > > > of
>> > > >> > > > >> the
>> > > >> > > > >> > > $PROJECT/.cordova/config.json.
>> > > >> > > > >> > > I am suggesting to move it to
>> $HOME/.cordova/config.json
>> > so
>> > > >> that
>> > > >> > > we
>> > > >> > > > no
>> > > >> > > > >> > > longer need the
>> > > >> > > > >> > > $PROJECT/.cordova/config.json
and have only the
>> > > cordova.xml to
>> > > >> > > carry
>> > > >> > > > >> > > project specific
>> > > >> > > > >> > > properties.
>> > > >> > > > >> > > --
>> > > >> > > > >> > > Gorkem
>> > > >> > > > >> > >
>> > > >> > > > >> > >
>> > > >> > > > >> > > On Thu, Jan 02, 2014 at 12:16:57PM
-0800, Brian LeRoux
>> > > wrote:
>> > > >> > > > >> > > > Considering
>> > > >> > http://wiki.apache.org/cordova/ConfigurationFilesI'm
>> > > >> > > > >> not
>> > > >> > > > >> > > sure
>> > > >> > > > >> > > > we want more config either.
>> > > >> > > > >> > > >
>> > > >> > > > >> > > > Perhaps we need to think
more comprehensively rather
>> > than
>> > > >> > > > proposing
>> > > >> > > > >> > more
>> > > >> > > > >> > > > abstractions.
>> > > >> > > > >> > > >
>> > > >> > > > >> > > >
>> > > >> > > > >> > > > On Thu, Jan 2, 2014 at
11:15 AM, Gorkem Ercan <
>> > > >> > > > >> gorkem.ercan@gmail.com
>> > > >> > > > >> > > >wrote:
>> > > >> > > > >> > > >
>> > > >> > > > >> > > > >
>> > > >> > > > >> > > > > I think what I will
describe here is more that what
>> > CLI
>> > > >> > > provides
>> > > >> > > > >> > today.
>> > > >> > > > >> > > > >
>> > > >> > > > >> > > > > An engine/lib has
a version, id and a uri. On most
>> > > cases,
>> > > >> > you
>> > > >> > > > only
>> > > >> > > > >> > care
>> > > >> > > > >> > > > > about the
>> > > >> > > > >> > > > > id and uri and assume
that the tools that you work
>> > with
>> > > >> > > already
>> > > >> > > > >> knows
>> > > >> > > > >> > > how
>> > > >> > > > >> > > > > to
>> > > >> > > > >> > > > > resolve the id and
version to a location. In the
>> case
>> > > of
>> > > >> CLI
>> > > >> > > an
>> > > >> > > > >> > engine
>> > > >> > > > >> > > > > with id: cordova
>> > > >> > > > >> > > > > and version:3.1.0
should be resolved to
>> > > >> > > > >> > > ~/.cordova/lib/ios/cordova/3.1.0
.
>> > > >> > > > >> > > > > If we have a
>> > > >> > > > >> > > > > uri defined that actually
means we want to
>> overwrite
>> > > the
>> > > >> > > default
>> > > >> > > > >> > > location
>> > > >> > > > >> > > > > for the engine.
>> > > >> > > > >> > > > > I think this redirection
should be per engine not
>> per
>> > > >> > project
>> > > >> > > > and
>> > > >> > > > >> > > should
>> > > >> > > > >> > > > > be located as part
of
>> > > >> > > > >> > > > > CLI's configuration
>> > > >> > > > >> > > > > --
>> > > >> > > > >> > > > > Gorkem
>> > > >> > > > >> > > > >
>> > > >> > > > >> > > > > On Thu, Jan 02, 2014
at 01:28:12PM -0500, Andrew
>> > Grieve
>> > > >> > wrote:
>> > > >> > > > >> > > > > > Hmm, good point
about absolute paths.
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > I think if you're
using an override there though,
>> > > that
>> > > >> you
>> > > >> > > > could
>> > > >> > > > >> > set
>> > > >> > > > >> > > it
>> > > >> > > > >> > > > > to
>> > > >> > > > >> > > > > > a relative path
for shared projects. Same thing
>> > with
>> > > >> > plugin
>> > > >> > > > >> search
>> > > >> > > > >> > > paths.
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > I think it'll
be confusing to have a
>> "cordova.xml"
>> > as
>> > > >> well
>> > > >> > > as
>> > > >> > > > a
>> > > >> > > > >> > > > > > "cordova.json"
file right in the root.
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > WDYT? Other options?
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > On Thu, Jan 2,
2014 at 1:06 PM, Ian Clelland <
>> > > >> > > > >> > iclelland@chromium.org
>> > > >> > > > >> > > >
>> > > >> > > > >> > > > > wrote:
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > > On Thu,
Jan 2, 2014 at 10:22 AM, Andrew Grieve
>> <
>> > > >> > > > >> > > agrieve@chromium.org>
>> > > >> > > > >> > > > > > > wrote:
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > > What
cordova.json has that config.xml
>> doesn't,
>> > is
>> > > >> that
>> > > >> > > you
>> > > >> > > > >> can
>> > > >> > > > >> > > set
>> > > >> > > > >> > > > > the
>> > > >> > > > >> > > > > > > > location
of platforms with it through:
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > > > That
said, I like your idea of having one
>> > > top-level
>> > > >> > > config
>> > > >> > > > >> file
>> > > >> > > > >> > > > > instead
>> > > >> > > > >> > > > > > > of
>> > > >> > > > >> > > > > > > > two.
I don't see why we couldn't just put
>> these
>> > > same
>> > > >> > > > >> settings
>> > > >> > > > >> > > into a
>> > > >> > > > >> > > > > > > > "cordova.xml".
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > Wouldn't
this make it impossible to share
>> project
>> > > >> > > > >> configuration
>> > > >> > > > >> > > between
>> > > >> > > > >> > > > > > > developers?
If your /Users/agrieve/.../ paths
>> are
>> > > in
>> > > >> > your
>> > > >> > > > >> config
>> > > >> > > > >> > > xml,
>> > > >> > > > >> > > > > > > you're going
to have a bad time putting that in
>> > > >> version
>> > > >> > > > >> control.
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > -1 on having
a single file to manage both
>> > > application
>> > > >> > > config
>> > > >> > > > >> and
>> > > >> > > > >> > > > > > > build-environment
config.
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > +1 to the
way I read Gorkem's original
>> > suggestion,
>> > > >> which
>> > > >> > > was
>> > > >> > > > >> to
>> > > >> > > > >> > > > > coordinate
>> > > >> > > > >> > > > > > > the move
of the two files into a single issue
>> and
>> > > take
>> > > >> > > care
>> > > >> > > > >> of it
>> > > >> > > > >> > > all
>> > > >> > > > >> > > > > at
>> > > >> > > > >> > > > > > > once.
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > > > On
Wed, Jan 1, 2014 at 5:05 PM, Gorkem Ercan
>> <
>> > > >> > > > >> > > gorkem.ercan@gmail.com
>> > > >> > > > >> > > > > >
>> > > >> > > > >> > > > > > > > wrote:
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > > > >
There is also another proposal to move
>> > > config.xml
>> > > >> > out
>> > > >> > > of
>> > > >> > > > >> www.
>> > > >> > > > >> > > Can
>> > > >> > > > >> > > > > we
>> > > >> > > > >> > > > > > > > merge
>> > > >> > > > >> > > > > > > > >
this two moves and
>> > > >> > > > >> > > > > > > > >
1. remove .cordova
>> > > >> > > > >> > > > > > > > >
2. remove config.json
>> > > >> > > > >> > > > > > > > >
3. move config.xml to root
>> > > >> > > > >> > > > > > > > >
4. rename config.xml to cordova.xml
>> > > >> > > > >> > > > > > > > >
>> > > >> > > > >> > > > > > > > >
AFAIK config,json does not carry any
>> > > information
>> > > >> > that
>> > > >> > > is
>> > > >> > > > >> not
>> > > >> > > > >> > > > > already
>> > > >> > > > >> > > > > > > > >
available on the config.xml. Since .cordova
>> > is
>> > > >> > > > basically a
>> > > >> > > > >> > > marker
>> > > >> > > > >> > > > > for
>> > > >> > > > >> > > > > > > CLI
>> > > >> > > > >> > > > > > > > >
for the root of an app I think renaming
>> > > config.xml
>> > > >> > > > should
>> > > >> > > > >> > > provide
>> > > >> > > > >> > > > > the
>> > > >> > > > >> > > > > > > > same
>> > > >> > > > >> > > > > > > > >
functionality.
>> > > >> > > > >> > > > > > > > >
--
>> > > >> > > > >> > > > > > > > >
Gorkem
>> > > >> > > > >> > > > > > > > >
>> > > >> > > > >> > > > > > > > >
>> > > >> > > > >> > > > > > > >
>> > > >> > > > >> > > > > > >
>> > > >> > > > >> > > > >
>> > > >> > > > >> > >
>> > > >> > > > >> >
>> > > >> > > > >>
>> > > >> > > > >
>> > > >> > > > >
>> > > >> > > >
>> > > >> > >
>> > > >> >
>> > > >>
>> > >
>> >
>>

Mime
View raw message