cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-8472) Exception (can't find config.xml) installing platform after plugins
Date Mon, 16 Feb 2015 02:53:11 GMT

    [ https://issues.apache.org/jira/browse/CB-8472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322315#comment-14322315
] 

ASF GitHub Bot commented on CB-8472:
------------------------------------

GitHub user TimBarham opened a pull request:

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

    CB-8472 Can't find config.xml error installing platform after plugin.

    Recent changes to the process of adding a platform meant we were trying to trying to install
plugins for the platform before we had called prepare() for the platform. Also, we were calling
prepare() outside the loop that processes each platform, which meant the plaform local variable
was not in scope, and we were passing a reference to a function called platform() to prepare()
rather than a platform name.
    
    Fixed this by moving the prepare() call back where it used to be - just before we install
plugins.

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

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

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

    https://github.com/apache/cordova-lib/pull/167.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 #167
    
----
commit aa332e846058c405af30a6d313ce90783d9bd544
Author: Tim Barham <tim.barham@microsoft.com>
Date:   2015-02-16T02:52:08Z

    CB-8472 Can't find config.xml error installing platform after plugin.
    
    Recent changes to the process of adding a platform meant we were trying to trying to install
plugins for the platform before we had called prepare() for the platform. Also, we were calling
prepare() outside the loop that processes each platform, which meant the plaform local variable
was not in scope, and we were passing a reference to a function called platform() to prepare()
rather than a platform name.
    
    Fixed this by moving the prepare() call back where it used to be - just before we install
plugins.

----


> Exception (can't find config.xml) installing platform after plugins
> -------------------------------------------------------------------
>
>                 Key: CB-8472
>                 URL: https://issues.apache.org/jira/browse/CB-8472
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaLib
>    Affects Versions: Master
>            Reporter: Tim Barham
>            Priority: Critical
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> If you add a platform after adding a plugin, you can get an exception
> h4. Repro steps:
> # Create a new cordova app (e.g. 'cordova create TestApp').
> # Add a plugin (e.g. 'cordova plugin add org.apache.cordova.camera').
> # Add a platform (e.g. 'cordova platform add browser').
> h4. Result:
> The following error:
> {code}Failed to install 'org.apache.cordova.camera':Error: ENOENT, no such file or
> directory 'D:\tbarham\OneDrive\Documents\CordovaApps\TestApp\platforms\browser\config.xml'
>     at Error (native)
>     at Object.fs.openSync (fs.js:502:18)
>     at Object.fs.readFileSync (fs.js:354:15)
>     at Object.module.exports.parseElementtreeSync (D:\GIT\Cordova\cordova-lib\cordova-lib\src\util\xml-helpers.js:118:27)
>     at Object.module.exports.package_name (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\platforms\browser.js:51:38)
>     at PlatformMunger.generate_plugin_config_munge (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:264:54)
>     at PlatformMunger.add_plugin_changes (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:184:29)
>     at D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:315:14
>     at Array.forEach (native)
>     at PlatformMunger_process [as process] (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:314:45){code}
> The problem is we are trying to install plugins for the platform before we call prepare()
for the platform, so config.xml has not been created yet.
> *Also note:* we are currently passing junk to prepare() - because of the location of
the call, the local variable _platform_ is not defined, and instead we are passing a reference
to a function _platform()_.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message