I could not resolve this problem due to bug in cordova not being able to fetch nested plugins - dependent plugins that contains dependencies to another plugins that also depending on variable that was provided. Phonegap plugin requires to be added using cordova add. We can enable dependency resolver but this will miss default configuration. ` Fixing this problem in Cordova, however this is still not going to resolve problem as if we specify dependencies in the configuration, we will need to provide valid variables. This variables cannot be overriden later and they can have impact on people compilation.
cordova plugin add @aerogear/cordova-plugin-aerogear-push@^1.0.0-alpha or cordova plugin add phonegap-plugin-push
Is going to instal required plugin, but this will also fetch another set of plugins that need to be included into config. They going to be physically in the config so we losing ability to lock the version of plugin. If we remove them to lock version (as we do with other aerogear plugins) they are not going to be fetched again which defeats the purpose of the wrapper.
{code} <plugin name="phonegap-plugin-push" spec="^2.2.3"> <variable name="ANDROID_SUPPORT_V13_VERSION" value="27.+" /> <variable name="FCM_VERSION" value="11.6.2" /> </plugin> {code}
Needs to Will be added into user projects instead of plugin itself because users may get into conflicts and they will need to change this values. h3. Including all of this I think we should:
- Use phonegap plugin directly in documentation - Change showcase app to use this plugin directly. - Remove @aerogear/cordova-plugin-aerogear-push (we were thinking about providing wrappers, but in fact I do not see any code being added there as we have all in separate @aerogear/push library)
h3. Impact
- Documentation (ping [~peter.braun]) - Minor PR's need to be added
TL;DR - we need to use phonegap plugin directly due to fact that it depends on 3 different plugins and require configuration from end users.
FYI [~davidmartin] [~aliok2]
|
|