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

Michael Goffioul commented on CB-13647:
---------------------------------------

When will plugins be ported to use new paths? I've checked a couple of them and 
they're still using legacy paths?

 

> Incomplete plugin restoration
> -----------------------------
>
>                 Key: CB-13647
>                 URL: https://issues.apache.org/jira/browse/CB-13647
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-android
>    Affects Versions: 7.0.0
>            Reporter: Michael Goffioul
>            Assignee: Joe Bowser
>            Priority: Major
>              Labels: android-next
>
> I'm having a problem with plugin restoration since cordova-android 7.0.0, 
> when plugins use a mix of config-file and edit-config on the same file (e.g. 
> AndroidManifest.xml) and only edit-config uses the real path to the file. 
> I've tried both cordova-cli 6.5.0 and 7.1.0 with the same result.
> 1) Create a new corodva project and enter top-level direcotyr
> 2) Create subfolder to contain a local plugin: mkdir -p 
> localplugins/testplugin1
> 3) Create the following files to define the local plugin:
> - plugin.xml (adds an attribute to <application> and a category to 
> <intent-filter>)
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"; 
> id="com.example.testplugin1" version="1.0.0">
>     <name>Test Plugin 1</name>
>     <platform name="android">
>         <config-file target="AndroidManifest.xml" 
> parent="/manifest/application/activity/intent-filter">
>             <category android:name="android.intent.category.HOME" />
>         </config-file>
>         <edit-config file="app/src/main/AndroidManifest.xml" 
> target="/manifest/application" mode="merge">
>             <application android:largeHeap="true" />
>         </edit-config>
>     </platform>
> </plugin>
> {code}
> - package.json
> {code}
> {
>         "name": "com.example.testplugin1",
>         "version": "1.0.0"
> }
> {code}
> 4) Add android platform: cordova platform add android@7.0.0 --save
> 5) Add local plugin: cordova plugin add localplugins/testplugin1 --save
> At this point, if you check 
> platforms/android/app/src/main/AndroidManifest.xml, it'll contain the 2 
> changes defined in the plugin.
> Now attempt to use platform/plugin restoration with thw following:
> {code}
> cordova platform rm android
> cordova prepare android
> {code}
> If you check again AndroidManifest.xml, it will only contain one of the 
> changes defined in the plugin (the attribute to <application>). The other 
> change is missing.
> If you use the real path to AndroidManifest.xml for the definition of 
> <config-file>, then the problem does not occur. BUT, the problem can also 
> occur when changes to AndroidManifest.xml are coming from multiple plugins, 
> including the standard cordova plugin, most of which do not use the real path 
> to AndroidManifest.xml yet.
> The problem can affect other files too. For instance I experienced incomplete 
> restoration of plugins trying to register themselves in res/xml/config.xml. 
> Only one plugin, out of 7, was using the real path 
> app/src/main/res/xml/config.xml and I ended up with only one plugin defined 
> in res/xml/config.xml, causing the application to fail to start.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to