AhmedAyachi commented on issue #201:
URL: https://github.com/apache/cordova-common/issues/201#issuecomment-1904187248

   A conflict is when two definition objects with the same name have two 
different values, and that will happen a lot when the project is using more and 
more plugins.
   By saying **"This in itself doesn't handle conflicts"**, you mean: when 
plugin_2 overwrites the value provided by plugin_1 (with the --force flag let's 
say), when plugin_2 is removed, the value should get back to the one provided 
by plugin_1 ?
   I did not think of that and I totally agree, but what if we change the 
schema to this :
   ```
   {
       tag:"uses-permission",
       attributes:[
           {
               name:"android:name",
               plugins:[
                   
{name:"plugin_1",value:"android.permission.READ_EXTERNAL_STORAGE"},
                   
{name:"plugin_2",value:"android.permission.READ_EXTERNAL_STORAGE"}
               ],
           },
           {
               name:"android:maxSdkVersion",
               plugins:[
                   {name:"plugin_1",value:"29"},
                   {name:"plugin_2",value:"30"},
               ],
           }
       ]
   }
   ```
   And in this case, the value of each attribute is determined by the last 
plugin item .value.
   Let's say plugin_2 was removed, the value will fallback automatically to the 
plugin_1's.
   I don't know, I'm just sharing ideas with you, so when I start contributing, 
I actually have something to work with/on.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to