Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 426E810901 for ; Thu, 14 Nov 2013 20:20:01 +0000 (UTC) Received: (qmail 32348 invoked by uid 500); 14 Nov 2013 20:20:01 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 32318 invoked by uid 500); 14 Nov 2013 20:20:01 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 32310 invoked by uid 99); 14 Nov 2013 20:20:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 20:20:00 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of braden@google.com designates 209.85.214.42 as permitted sender) Received: from [209.85.214.42] (HELO mail-bk0-f42.google.com) (209.85.214.42) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 20:19:55 +0000 Received: by mail-bk0-f42.google.com with SMTP id w16so1312513bkz.29 for ; Thu, 14 Nov 2013 12:19:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type; bh=WUVSX9qEM1YL4FmFFLYXJHt6Jot05ZGQ9hlVoqNy77Q=; b=DeQ0YWKc+Fc3MIJw6AiCoRmgeT7XsTy7u2kPwd4C1WFbPs//7Raw34I4iReXMw0DO3 qZuCtfcqN5GZLO4m7vZnKh5W1mXYRSvjscGyrGeWq83lQYx5lVXWDxaNy3Ds6pprjS/C RVBb+bf2qnoOmucoeGSvA8Xe8fE2bhz0WLl1LUtBJPbxNczHUxUfq27TDxiLAuQFOpTQ MmtOkaQ3Uz/QDm+fSc3kQ8uoApDuvRgq2OYlH2q3W9XUlmJT4lzqqVVHtRVc/yg1EvfG XBR7Ta37hCyeglDFN4nkuiQ2Qwy0T8t8Z7Izw3EC8nsAFFzW7tJQJVusE5zPsP0vA7ZC Kw8g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type; bh=WUVSX9qEM1YL4FmFFLYXJHt6Jot05ZGQ9hlVoqNy77Q=; b=EiA5X84QqlyjCdd4H4LD74pu0Qvqmyhz/Li0jdnKhTdnWqugnVeusabBfMhNdGhQT9 q8z1Ior8HRuheP+mf9cta/gi4OBknlqNjJNYRjKe7xmWeHumSf37vQqwuD1oj5N4Qaky o1bqxtQEDtjeZ1iXPyQj7TYREYfMqHXbFWgrw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=WUVSX9qEM1YL4FmFFLYXJHt6Jot05ZGQ9hlVoqNy77Q=; b=e7OEVkSHJBLMnqPfDtA6DdUeCbMNPKWgDWCGbUeGMoTSwtqbjKjjuf99iUUvBsiKco mcE8Hv4+PmQOV1zbeUmvI9ACxch2BiaIQRn0rqeDwxhB4AgzVbWDhwM4VcK8kcBuyIEI IfZPVS9UqxNq0Ke9rGedslxocXI1QH+tscAZnkykgCRSLITjnRFQoj35uXWty1IYXMvl IilqI/XGFNcEi8hC5KMbnzE47OWVkwBk9TI1p6LNmWQWbC71VglsOO8j/+XebJFbFWdS Mo8+9MqIRKQ9BJn7bQBsvoHzN9dLJXUVWjYrREJLsIZAsDGAr/ReEarVRNkKm6iqiR+W Kx9w== X-Gm-Message-State: ALoCoQkto36l9SlmPoS8F/88JWxvJES7w+/Aa1oWsByipHb4odq048F1n08u6hOFxRBtlc2HeoHNEfEfDp+fZe5CkViVvoKYA35ZW0sLNY6fkcctD1yvpvVAzcTRxjNbgCq0mS7msPeXIEU7zqZ9ja1Z0Fanmc3lXGnv4uGXtiOfZUZFMriP/eO0eTo/IGq9q3Xy4rMS04n47URFhALP66eGcETxXnH4gg== MIME-Version: 1.0 X-Received: by 10.204.238.136 with SMTP id ks8mr661328bkb.126.1384460374756; Thu, 14 Nov 2013 12:19:34 -0800 (PST) Sender: braden@google.com Received: by 10.204.180.201 with HTTP; Thu, 14 Nov 2013 12:19:34 -0800 (PST) In-Reply-To: References: Date: Thu, 14 Nov 2013 15:19:34 -0500 X-Google-Sender-Auth: By_6rOBLFSZ9xl5L5ene6WmuOA4 Message-ID: Subject: Re: audit of configuration From: Braden Shepherdson To: "dev@cordova.apache.org" Content-Type: multipart/alternative; boundary=20cf30244d89d8257004eb28cc08 X-Virus-Checked: Checked by ClamAV on apache.org --20cf30244d89d8257004eb28cc08 Content-Type: text/plain; charset=ISO-8859-1 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//.../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//.../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//.../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/.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. Braden On Thu, Nov 14, 2013 at 2:41 PM, Brian LeRoux wrote: > http://www.youtube.com/watch?v=a1N2k0-F1pU > > > On Thu, Nov 14, 2013 at 9:11 AM, Braden Shepherdson >wrote: > > > 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. > > > > Braden > > > > > > On Thu, Nov 14, 2013 at 9:19 AM, Michal Mocny > wrote: > > > > > ;) http://xkcd.com/927/ > > > > > > 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. > > > > > > -Michal > > > > > > > > > On Wed, Nov 13, 2013 at 11:58 PM, Brian LeRoux 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 > > > 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 < > stevengill97@gmail.com > > > > > > > > wrote: > > > > > > > > > > > each plugin has plugin.xml. > > > > > > > > > > > > > > > > > > On Wed, Nov 13, 2013 at 2:36 PM, Brian LeRoux > wrote: > > > > > > > > > > > > > So we currently have: > > > > > > > > > > > > > > - config.xml > > > > > > > - .cordova/config.json > > > > > > > - ./plugins/[PLATFORM].json > > > > > > > > > > > > > > Am I missing anything? > > > > > > > > > > > > > > > > > > > > > > > > > > > > --20cf30244d89d8257004eb28cc08--