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

ASF subversion and git services commented on CB-8472:
-----------------------------------------------------

Commit a506acd3df34eed42336e5c627403004b0ff80f1 in cordova-lib's branch 
refs/heads/master from [~TimBarham]
[ https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;h=a506acd ]

CB-8472 Can't find config.xml error installing browser platform after plugin.  
(close #167)

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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to