Hello gear-heads,
The aerogear-cordova-oauth2 project currently has a
requirement to
be built with gradle, in order to be able to build the
aerogear
oauth2 dependencies. This affects users, as once they
add the
aeorgear cordova plugin to their project, they have to
switch to a
gradle-based build.
I propose we look at what was done with
google-play-services as a
means of working around this gradle requirement. There
are two ways
to introduce a dependency to google-play-services in
your cordova
project/plugin:
a) Add a maven dependency:
com.google.android.gms:play-services:4.0.30@aar
b) Add a cordova plulgin dependency:
com.google.playservices
a) can be achieved only after following the
how-to-build-aerogear-android [1] instructions, so an
even bigger
inconvenience for users.
b) on the other hand is as simple as:
i) running "cordova plugin add com.google.playservices"
in your
project folder
or
ii) adding "com.google.playservices" as a dependency to
the android
section of your plugin's plugin.xml file [2].
This is made possible because the google-play-services
binaries are
published as a cordova plugin via a project hosted on
github [3].
I propose we create a project similar to [3], to hold
the aerogear
android dependencies. Call it
"aerogear-android-services" for the
sake of this argument. We would then register this
project with
cordova so the aerogear-cordova-oauth2 plugin can have a
dependency
on the aerogear-android-services cordova plugin, rather
then the
maven/gradle dependency we have now. This would then
alleviate the
aerogear-cordova-oauth2 from needing to be built with
gradle.
Thoughts?
[1]
https://aerogear.org/docs/guides/aerogear-android/how-to-build-aerogear-android/
[2]
https://github.com/bleathem/cordova-oauth-google-services/blob/master/plugin.xml#L28
[3]
https://github.com/MobileChromeApps/google-play-services