|Steven Gill||Nov 13, 2013 2:45 pm|
|Michal Mocny||Nov 13, 2013 6:40 pm|
|Braden Shepherdson||Nov 14, 2013 9:11 am|
|Braden Shepherdson||Nov 14, 2013 12:19 pm|
|Michal Mocny||Nov 14, 2013 12:29 pm|
|Brian LeRoux||Nov 14, 2013 1:35 pm|
|Josh Soref||Nov 14, 2013 3:12 pm|
|Michal Mocny||Nov 14, 2013 6:33 pm|
|Brian LeRoux||Nov 14, 2013 6:45 pm|
|Michal Mocny||Nov 14, 2013 7:57 pm|
|Jonathan Bond-Caron||Nov 15, 2013 4:59 am|
|Andrew Grieve||Nov 15, 2013 5:59 am|
|Josh Soref||Nov 15, 2013 6:28 am|
|Andrew Grieve||Nov 15, 2013 8:27 am|
|Subject:||Re: audit of configuration|
|From:||Braden Shepherdson (bra...@chromium.org)|
|Date:||Nov 14, 2013 12:19:34 pm|
As requested elsewhere, a summary of the various configuration and metadata files in Cordova. I'm speaking here of a complete CLI project, but I'll note which bits are CLI-only, and which apply to Plugman-only projects as well.
First, the XML files:
$PROJECT/www/config.xml - Top-level configuration for a CLI project: start page, app name, splash screens, etc. - Nickname: "app config.xml" - CLI only - Written by: users - Read by: CLI, Plugman
$PROJECT/platforms/<platform>/.../config.xml (or $NATIVEPROJECT/.../config.xml for Plugman-only). - Final configuration loaded by the native code at runtime. - Nickname: "platform config.xml" - Written by: Plugman during prepare step - Read by: Native platforms - Automatically generated
$PROJECT/platforms/<platform>/.../www/config.xml - Dummy config.xml, a copy of the top-level app config.xml above. This is an accident of how CLI copies the www/ directory and should be ignored.
$PROJECT/platforms/<platform>/.../defaults.xml - Default configuration values for each platform. - Used by CLI and Plugman as the basis for building the platform config.xml above: the final platform config.xml = defaults.xml + plugin changes + app config.xml changes. - CLI only (present but ignored by Plugman-only projects) - Written by: Cordova platform developers - Read by: Plugman, CLI
$SOMEPLUGIN/plugin.xml - Specifies various bits of metadata about a plugin. - Written by: plugin authors - Read by: Plugman, CLI
And then the other metadata files:
$PROJECT/plugins/<platform>.json - Metadata about what plugins are installed (top-level or as dependencies) on this platform, and what config-file changes have been made. - Written by: Plugman - Read by: Plugman
$PROJECT/.cordova/config.json - Project-specific configuration for CLI. Sets the project name, as well as allowing users to override where libraries (like cordova-android, cordova-ios, etc.) are lazy-loaded from (local disk, different versions, etc.) - CLI only - Written by: cordova create (template), users (edits) - Read by: CLI
$HOME/.cordova/config.json - Global configuration for CLI. Same format as config.json above. - CLI only - Written by: CLI (template), users (edits) - Ready by: CLI
$HOME/.plugman/config - Global configuration for Plugman. Stores username and auth tokens for "plugman publish", etc. - Written by: Plugman, users (if they want to override the plugin repo to not be http://registry.cordova.io - Read by: Plugman
Note that this is only Cordova-specific things, and doesn't mention Android's AndroidManifest.xml or iOS's plist files, among many other platform-specific files.
Hopefully this makes things a little clearer - I don't think this is written down anywhere right now, just in my and Anis's heads.
On Thu, Nov 14, 2013 at 2:41 PM, Brian LeRoux <b...@brian.io> wrote:
On Thu, Nov 14, 2013 at 9:11 AM, Braden Shepherdson <bra...@chromium.org
We have reason not to move ./plugins/*.json into .cordova/config.json is that the latter file doesn't exist unless you're using CLI, whereas Plugman needs and maintains the ./plugins/*.json files.
On Thu, Nov 14, 2013 at 9:19 AM, Michal Mocny <mmo...@chromium.org> wrote:
Some more data:
- I've heard discussed before that ./plugins/*.json should be moved in to .cordova/config.json, it just hasn't happened yet. - The config.xml thats inside your app we've suggested be renamed to app.xml for less confusion with the final platform config.xml.
I think there is no reasonable way around having plugin.xml, app.xml, defaults.xml, and final config.xml. I think it is fine to have a single local config for a cli project (.cordova/config.json) and a single global config for plugman/cli (~/.cordova, ~/.plugman).
So I guess if the above two points were addressed I would be happy even though it seems like a lot at first glance.
On Wed, Nov 13, 2013 at 11:58 PM, Brian LeRoux <b...@brian.io> wrote:
Ok. Ya, obviously this is not ideal. I want to get a map of the road before we try and throw a highway in. Or another config file.
On Wed, Nov 13, 2013 at 6:40 PM, Michal Mocny <mmo...@chromium.org> wrote:
- platforms/'s have defaults.xml and the final config.xml - ~/.cordova/... - ~/.plugman/config
Welcome to our world.
On Wed, Nov 13, 2013 at 5:45 PM, Steven Gill <
each plugin has plugin.xml.
On Wed, Nov 13, 2013 at 2:36 PM, Brian LeRoux <b...@brian.io> wrote:
So we currently have:
- config.xml - .cordova/config.json - ./plugins/[PLATFORM].json
Am I missing anything?