You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Jean-Christophe Hoelt <ho...@fovea.cc> on 2018/11/26 15:56:23 UTC

plugin.xml with platform version filters

Hello Cordova devs,


I'm Jean-Christophe Hoelt, author of the Cordova "In-App Purchase" 
plugin for iOS/Android/Windows (cordova-plugin-purchase).


cordova-android's recently had issues with file paths during plugin 
installation. 

A clean solution to the issue will require introducing breaking change 
in the `plugin.xml` file with the next major release.

As a plugin author, I'd like to discuss a simple change to structure of 
`plugin.xml` that should make things more flexible for us, plugins 
authors, who like to support multiple version of cordova.


I explained my suggestion on GitHub and was advised to raise the issue 
on the mailing list.

https://github.com/apache/cordova-android/issues/585


I copy the core idea below.

---

Has it been ever considered to allow multiple `<platform>` tags with version filters?

Here is a short demo of what I mean in a plugin description file:

```xml
<plugin ...>
  <platform type="android" version="<8.0.0">
    ...
    <source-file src="src/android/ILib.aidl" target-dir="src/com/android/vending/billing" />
    ...
  </platform>
  <platform type="android" version=">=8.0.0">
    ...
    <lib-file src="src/android/ILib.aidl" />
    ...
  </platform>
  <platform type="android" version="*">
    ... common stuff ...
  </platform>
</plugin>
```

Note: `version="*"` should be optional, thus keeping compatibility with 
plugins that do not make use of the feature.

---

Best regards,

JC

Re: plugin.xml with platform version filters

Posted by julio cesar sanchez <jc...@gmail.com>.
I'm -1 to this.

If you want to support old versions, just use the old path as our mapping
should understand it now and move it to the new appropriate place. But
don't use the old and the new as that will cause duplicate files.

Also that wouldn't solve the problem as old cordova-android versions won't
understand that new syntax and will probably pick the files from all the
android platform tags.


El lun., 26 nov. 2018 a las 16:56, Jean-Christophe Hoelt (<ho...@fovea.cc>)
escribió:

> Hello Cordova devs,
>
>
> I'm Jean-Christophe Hoelt, author of the Cordova "In-App Purchase"
> plugin for iOS/Android/Windows (cordova-plugin-purchase).
>
>
> cordova-android's recently had issues with file paths during plugin
> installation.
>
> A clean solution to the issue will require introducing breaking change
> in the `plugin.xml` file with the next major release.
>
> As a plugin author, I'd like to discuss a simple change to structure of
> `plugin.xml` that should make things more flexible for us, plugins
> authors, who like to support multiple version of cordova.
>
>
> I explained my suggestion on GitHub and was advised to raise the issue
> on the mailing list.
>
> https://github.com/apache/cordova-android/issues/585
>
>
> I copy the core idea below.
>
> ---
>
> Has it been ever considered to allow multiple `<platform>` tags with
> version filters?
>
> Here is a short demo of what I mean in a plugin description file:
>
> ```xml
> <plugin ...>
>   <platform type="android" version="<8.0.0">
>     ...
>     <source-file src="src/android/ILib.aidl"
> target-dir="src/com/android/vending/billing" />
>     ...
>   </platform>
>   <platform type="android" version=">=8.0.0">
>     ...
>     <lib-file src="src/android/ILib.aidl" />
>     ...
>   </platform>
>   <platform type="android" version="*">
>     ... common stuff ...
>   </platform>
> </plugin>
> ```
>
> Note: `version="*"` should be optional, thus keeping compatibility with
> plugins that do not make use of the feature.
>
> ---
>
> Best regards,
>
> JC
>