You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by TimBarham <gi...@git.apache.org> on 2015/04/08 10:55:15 UTC

[GitHub] cordova-lib pull request: CB-8807 Platform Add fails to add plugin...

GitHub user TimBarham opened a pull request:

    https://github.com/apache/cordova-lib/pull/205

    CB-8807 Platform Add fails to add plugins with variables.

    When a plugin that uses variables is automatically installed for a new platform, it fails with the following exception:
    
        Installing "[plugin]" for [platform]
        Failed to install '[plugin]':Error: Variable(s) missing: [variables]
            at .../cordova-lib/src/plugman/install.js:299:23
            at ...
    
    The problem here is that we are looking in `config.xml` for information about the plugin's variables, but the plugin is only saved to `config.xml` if it was added with the `--save` flag. This fix updates the logic to look in `fetch.json` instead.
    
    I believe looking in `fetch.json` is the right thing to do here, regardless, for the following reasons:
    
    * `fetch.json` is the one that is guaranteed to be up-to-date.
    * the information we store in `config.xml` is used to restore plugins that have been uninstalled. The information we store in `fetch.json` describes currently installed plugins, which is what we're working with here.
    
    Consider the following scenario:
    
    1. Add a plugin with variables, using the `--save` option. Variable information is saved to `config.xml` and `fetch.json`.
    2. Remove the plugin (with the `--save` option). The variable information is removed from `fetch.json`, but remains in `config.xml`.
    3. Add the plugin again, with different variable values, without the `--save` option. The current variable information is in `fetch.json`, but not in `config.xml`. Also, each platform currently installed will be using the new variable information.
    4. Add a platform. If, when we install the plugin for the new platform, we retrieve the variables from `config.xml`, it will be out of sync with platforms that were already installed.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/MSOpenTech/cordova-lib CB-8807

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-lib/pull/205.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #205
    
----
commit 5d9d4483ca15b883886ff8cae98f3fd6744a7c99
Author: Tim Barham <ti...@microsoft.com>
Date:   2015-04-07T13:22:46Z

    CB-8807 Platform Add fails to add plugins with variables.
    
    When a plugin that uses variables is automatically installed for a new platform, it fails with the following exception:
    
        Installing "[plugin]" for [platform]
        Failed to install '[plugin]':Error: Variable(s) missing: [variables]
            at .../cordova-lib/src/plugman/install.js:299:23
            at ...
    
    The problem here is that we are looking in config.xml for information about the plugins variables, but the plugin is only saved to config.xml if it was added with the --save flag. This fix updates the logic to look in fetch.json instead.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-lib pull request: CB-8807 Platform Add fails to add plugin...

Posted by kamrik <gi...@git.apache.org>.
Github user kamrik commented on the pull request:

    https://github.com/apache/cordova-lib/pull/205#issuecomment-91273803
  
    LGTM. The scenarios seem convincing. Merging.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-lib pull request: CB-8807 Platform Add fails to add plugin...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/cordova-lib/pull/205


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org