You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Joe Bowser <bo...@gmail.com> on 2016/06/14 20:58:34 UTC

Proof of Concept: Plugins as Android Modules

Hey

Here's a proof of concept for Android Modules.  It works for cordova core
plugins, but it's kinda brittle because I need to figure out how to handle
dependencies and excluding duplicate compilation in our tools.

https://github.com/infil00p/cordova-android/tree/framework_fixes
https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc

Surprisingly, the changes made are very minor to get this to work, and
there's a lot of serious advantages we give.  That said, our Gradle scripts
are incredibly brittle, and we don't have the luxury of changing any
execution order to try to get around excluding dependencies.

I think it would be good if we could add in plugin.xml a way to exclude
compilation of dependencies that are already included.  Right now if you
include a plugin that depends on the CordovaLib module in the project, our
plugin will install things twice.

Does anyone have any thoughts about this?  I really want this to be a lot
less brittle before introducing this method of installing plugins.

Joe

Re: Proof of Concept: Plugins as Android Modules

Posted by Shazron <sh...@gmail.com>.
Bump - any eyeballs on Joe's issue?

On Wed, Jul 13, 2016 at 4:53 AM, Joe Bowser <bo...@gmail.com> wrote:

> Hey
>
> Does anyone have a solution to the problem I'm facing with Gradle
> dependencies.  I can use some more eyeballs on this.
>
> Thanks
>
> Joe
>
> On Mon, Jun 27, 2016 at 1:57 PM, Joe Bowser <bo...@gmail.com> wrote:
>
> > I know, that's extremely annoying, and I would like to remove that
> > sometime in the future if possible.
> >
> >
> > On Wed, Jun 22, 2016 at 8:43 AM, Vladimir Kotikov (Akvelon) <
> > v-vlkoti@microsoft.com> wrote:
> >
> >> Please disregard my point about CordovaLib excludes - I didn't notice
> >> that build.gradle is regenerated before every build
> >>
> >> -
> >> Best regards, Vladimir
> >>
> >> -----Original Message-----
> >> From: Vladimir Kotikov (Akvelon) [mailto:v-vlkoti@microsoft.com]
> >> Sent: Wednesday, June 22, 2016 6:39 PM
> >> To: dev@cordova.apache.org
> >> Subject: RE: Proof of Concept: Plugins as Android Modules
> >>
> >> Hi, Joe
> >>
> >> I've looked into your changes and did some quick testing. IMO they looks
> >> good apart some minor issues:
> >>
> >> - after adding a plugin and opening resultant project in Android studio
> I
> >> was unable to build the project w/ debug configuration - only release
> seems
> >> to work. The error I'm getting is
> >>     Error:Module 'CordovaLib' has variant 'release' selected, but the
> >> module ''android'' depends on variant 'debug'
> >> From CLI everything seems to work fine.
> >>
> >> - I'm not very experienced in Gradle things, but looks like adding
> >> excludes to every plugin's subproject [1] - is not really required. At
> >> least I was able to build the generated project without these excludes.
> >> Moreover, the Gradle build output with and without these excludes is
> >> similar - no additional compilation of CordovaLib is performed
> >>
> >> - I had to manually update "buildToolsVersion" property in
> InappBrowser's
> >> build.gradle - perhaps we would need for a logic to update that property
> >> according to installed build tools version at build time?
> >>
> >> -
> >> [1]
> >>
> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes#diff-417ebeefa9eab114cf248463f6886bbaR103
> >> [2]
> >>
> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes
> >>
> >> -
> >> Best regards, Vladimir
> >>
> >> -----Original Message-----
> >> From: Joe Bowser [mailto:bowserj@gmail.com]
> >> Sent: Tuesday, June 21, 2016 12:38 AM
> >> To: dev <de...@cordova.apache.org>
> >> Subject: Re: Proof of Concept: Plugins as Android Modules
> >>
> >> Bump! It'd be good to get some feedback on this sooner rather than
> later.
> >>
> >> On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <
> >> jcesarmobile@gmail.com
> >> > wrote:
> >>
> >> > Hi.
> >> >
> >> > I sadly can't contribute to this because I don't think I have enough
> >> > Android knowledge, but just wanted to answer on this topic as I feel
> >> > that is very important and I think this one and the previous ones you
> >> > sent related to this didn't get enough attention.
> >> > So, even if I can't personally help, maybe answering on the topic can
> >> > get some attention, or at least you can know that somebody read it and
> >> > support it.
> >> >
> >> >
> >> > 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
> >> >
> >> > > Hey
> >> > >
> >> > > Here's a proof of concept for Android Modules.  It works for cordova
> >> > > core plugins, but it's kinda brittle because I need to figure out
> >> > > how to
> >> > handle
> >> > > dependencies and excluding duplicate compilation in our tools.
> >> > >
> >> > > https://github.com/infil00p/cordova-android/tree/framework_fixes
> >> > >
> https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
> >> > >
> >> > > Surprisingly, the changes made are very minor to get this to work,
> >> > > and there's a lot of serious advantages we give.  That said, our
> >> > > Gradle
> >> > scripts
> >> > > are incredibly brittle, and we don't have the luxury of changing any
> >> > > execution order to try to get around excluding dependencies.
> >> > >
> >> > > I think it would be good if we could add in plugin.xml a way to
> >> > > exclude compilation of dependencies that are already included.
> >> > > Right now if you include a plugin that depends on the CordovaLib
> >> > > module in the project,
> >> > our
> >> > > plugin will install things twice.
> >> > >
> >> > > Does anyone have any thoughts about this?  I really want this to be
> >> > > a lot less brittle before introducing this method of installing
> >> plugins.
> >> > >
> >> > > Joe
> >> > >
> >> >
> >>  B
> >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> >> [  X  ܚX K  K[XZ[
> >>    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >>    ] Z [    ܙ ݘK \ X  K ܙ B
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> >> For additional commands, e-mail: dev-help@cordova.apache.org
> >>
> >
> >
>

Re: Proof of Concept: Plugins as Android Modules

Posted by Joe Bowser <bo...@gmail.com>.
Hey

Does anyone have a solution to the problem I'm facing with Gradle
dependencies.  I can use some more eyeballs on this.

Thanks

Joe

On Mon, Jun 27, 2016 at 1:57 PM, Joe Bowser <bo...@gmail.com> wrote:

> I know, that's extremely annoying, and I would like to remove that
> sometime in the future if possible.
>
>
> On Wed, Jun 22, 2016 at 8:43 AM, Vladimir Kotikov (Akvelon) <
> v-vlkoti@microsoft.com> wrote:
>
>> Please disregard my point about CordovaLib excludes - I didn't notice
>> that build.gradle is regenerated before every build
>>
>> -
>> Best regards, Vladimir
>>
>> -----Original Message-----
>> From: Vladimir Kotikov (Akvelon) [mailto:v-vlkoti@microsoft.com]
>> Sent: Wednesday, June 22, 2016 6:39 PM
>> To: dev@cordova.apache.org
>> Subject: RE: Proof of Concept: Plugins as Android Modules
>>
>> Hi, Joe
>>
>> I've looked into your changes and did some quick testing. IMO they looks
>> good apart some minor issues:
>>
>> - after adding a plugin and opening resultant project in Android studio I
>> was unable to build the project w/ debug configuration - only release seems
>> to work. The error I'm getting is
>>     Error:Module 'CordovaLib' has variant 'release' selected, but the
>> module ''android'' depends on variant 'debug'
>> From CLI everything seems to work fine.
>>
>> - I'm not very experienced in Gradle things, but looks like adding
>> excludes to every plugin's subproject [1] - is not really required. At
>> least I was able to build the generated project without these excludes.
>> Moreover, the Gradle build output with and without these excludes is
>> similar - no additional compilation of CordovaLib is performed
>>
>> - I had to manually update "buildToolsVersion" property in InappBrowser's
>> build.gradle - perhaps we would need for a logic to update that property
>> according to installed build tools version at build time?
>>
>> -
>> [1]
>> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes#diff-417ebeefa9eab114cf248463f6886bbaR103
>> [2]
>> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes
>>
>> -
>> Best regards, Vladimir
>>
>> -----Original Message-----
>> From: Joe Bowser [mailto:bowserj@gmail.com]
>> Sent: Tuesday, June 21, 2016 12:38 AM
>> To: dev <de...@cordova.apache.org>
>> Subject: Re: Proof of Concept: Plugins as Android Modules
>>
>> Bump! It'd be good to get some feedback on this sooner rather than later.
>>
>> On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <
>> jcesarmobile@gmail.com
>> > wrote:
>>
>> > Hi.
>> >
>> > I sadly can't contribute to this because I don't think I have enough
>> > Android knowledge, but just wanted to answer on this topic as I feel
>> > that is very important and I think this one and the previous ones you
>> > sent related to this didn't get enough attention.
>> > So, even if I can't personally help, maybe answering on the topic can
>> > get some attention, or at least you can know that somebody read it and
>> > support it.
>> >
>> >
>> > 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
>> >
>> > > Hey
>> > >
>> > > Here's a proof of concept for Android Modules.  It works for cordova
>> > > core plugins, but it's kinda brittle because I need to figure out
>> > > how to
>> > handle
>> > > dependencies and excluding duplicate compilation in our tools.
>> > >
>> > > https://github.com/infil00p/cordova-android/tree/framework_fixes
>> > > https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
>> > >
>> > > Surprisingly, the changes made are very minor to get this to work,
>> > > and there's a lot of serious advantages we give.  That said, our
>> > > Gradle
>> > scripts
>> > > are incredibly brittle, and we don't have the luxury of changing any
>> > > execution order to try to get around excluding dependencies.
>> > >
>> > > I think it would be good if we could add in plugin.xml a way to
>> > > exclude compilation of dependencies that are already included.
>> > > Right now if you include a plugin that depends on the CordovaLib
>> > > module in the project,
>> > our
>> > > plugin will install things twice.
>> > >
>> > > Does anyone have any thoughts about this?  I really want this to be
>> > > a lot less brittle before introducing this method of installing
>> plugins.
>> > >
>> > > Joe
>> > >
>> >
>>  B
>> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>> [  X  ܚX K  K[XZ[
>>    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>>    ] Z [    ܙ ݘK \ X  K ܙ B
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
>> For additional commands, e-mail: dev-help@cordova.apache.org
>>
>
>

Re: Proof of Concept: Plugins as Android Modules

Posted by Joe Bowser <bo...@gmail.com>.
I know, that's extremely annoying, and I would like to remove that sometime
in the future if possible.

On Wed, Jun 22, 2016 at 8:43 AM, Vladimir Kotikov (Akvelon) <
v-vlkoti@microsoft.com> wrote:

> Please disregard my point about CordovaLib excludes - I didn't notice that
> build.gradle is regenerated before every build
>
> -
> Best regards, Vladimir
>
> -----Original Message-----
> From: Vladimir Kotikov (Akvelon) [mailto:v-vlkoti@microsoft.com]
> Sent: Wednesday, June 22, 2016 6:39 PM
> To: dev@cordova.apache.org
> Subject: RE: Proof of Concept: Plugins as Android Modules
>
> Hi, Joe
>
> I've looked into your changes and did some quick testing. IMO they looks
> good apart some minor issues:
>
> - after adding a plugin and opening resultant project in Android studio I
> was unable to build the project w/ debug configuration - only release seems
> to work. The error I'm getting is
>     Error:Module 'CordovaLib' has variant 'release' selected, but the
> module ''android'' depends on variant 'debug'
> From CLI everything seems to work fine.
>
> - I'm not very experienced in Gradle things, but looks like adding
> excludes to every plugin's subproject [1] - is not really required. At
> least I was able to build the generated project without these excludes.
> Moreover, the Gradle build output with and without these excludes is
> similar - no additional compilation of CordovaLib is performed
>
> - I had to manually update "buildToolsVersion" property in InappBrowser's
> build.gradle - perhaps we would need for a logic to update that property
> according to installed build tools version at build time?
>
> -
> [1]
> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes#diff-417ebeefa9eab114cf248463f6886bbaR103
> [2]
> https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes
>
> -
> Best regards, Vladimir
>
> -----Original Message-----
> From: Joe Bowser [mailto:bowserj@gmail.com]
> Sent: Tuesday, June 21, 2016 12:38 AM
> To: dev <de...@cordova.apache.org>
> Subject: Re: Proof of Concept: Plugins as Android Modules
>
> Bump! It'd be good to get some feedback on this sooner rather than later.
>
> On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <
> jcesarmobile@gmail.com
> > wrote:
>
> > Hi.
> >
> > I sadly can't contribute to this because I don't think I have enough
> > Android knowledge, but just wanted to answer on this topic as I feel
> > that is very important and I think this one and the previous ones you
> > sent related to this didn't get enough attention.
> > So, even if I can't personally help, maybe answering on the topic can
> > get some attention, or at least you can know that somebody read it and
> > support it.
> >
> >
> > 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
> >
> > > Hey
> > >
> > > Here's a proof of concept for Android Modules.  It works for cordova
> > > core plugins, but it's kinda brittle because I need to figure out
> > > how to
> > handle
> > > dependencies and excluding duplicate compilation in our tools.
> > >
> > > https://github.com/infil00p/cordova-android/tree/framework_fixes
> > > https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
> > >
> > > Surprisingly, the changes made are very minor to get this to work,
> > > and there's a lot of serious advantages we give.  That said, our
> > > Gradle
> > scripts
> > > are incredibly brittle, and we don't have the luxury of changing any
> > > execution order to try to get around excluding dependencies.
> > >
> > > I think it would be good if we could add in plugin.xml a way to
> > > exclude compilation of dependencies that are already included.
> > > Right now if you include a plugin that depends on the CordovaLib
> > > module in the project,
> > our
> > > plugin will install things twice.
> > >
> > > Does anyone have any thoughts about this?  I really want this to be
> > > a lot less brittle before introducing this method of installing
> plugins.
> > >
> > > Joe
> > >
> >
>  B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>   [  X  ܚX K  K[XZ[
>    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>    ] Z [    ܙ ݘK \ X  K ܙ B
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> For additional commands, e-mail: dev-help@cordova.apache.org
>

RE: Proof of Concept: Plugins as Android Modules

Posted by "Vladimir Kotikov (Akvelon)" <v-...@microsoft.com>.
Please disregard my point about CordovaLib excludes - I didn't notice that build.gradle is regenerated before every build

-
Best regards, Vladimir

-----Original Message-----
From: Vladimir Kotikov (Akvelon) [mailto:v-vlkoti@microsoft.com] 
Sent: Wednesday, June 22, 2016 6:39 PM
To: dev@cordova.apache.org
Subject: RE: Proof of Concept: Plugins as Android Modules

Hi, Joe

I've looked into your changes and did some quick testing. IMO they looks good apart some minor issues:

- after adding a plugin and opening resultant project in Android studio I was unable to build the project w/ debug configuration - only release seems to work. The error I'm getting is
    Error:Module 'CordovaLib' has variant 'release' selected, but the module ''android'' depends on variant 'debug'
From CLI everything seems to work fine.

- I'm not very experienced in Gradle things, but looks like adding excludes to every plugin's subproject [1] - is not really required. At least I was able to build the generated project without these excludes. Moreover, the Gradle build output with and without these excludes is similar - no additional compilation of CordovaLib is performed

- I had to manually update "buildToolsVersion" property in InappBrowser's build.gradle - perhaps we would need for a logic to update that property according to installed build tools version at build time?

-
[1] https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes#diff-417ebeefa9eab114cf248463f6886bbaR103
[2] https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes

-
Best regards, Vladimir

-----Original Message-----
From: Joe Bowser [mailto:bowserj@gmail.com]
Sent: Tuesday, June 21, 2016 12:38 AM
To: dev <de...@cordova.apache.org>
Subject: Re: Proof of Concept: Plugins as Android Modules

Bump! It'd be good to get some feedback on this sooner rather than later.

On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <jcesarmobile@gmail.com
> wrote:

> Hi.
>
> I sadly can't contribute to this because I don't think I have enough 
> Android knowledge, but just wanted to answer on this topic as I feel 
> that is very important and I think this one and the previous ones you 
> sent related to this didn't get enough attention.
> So, even if I can't personally help, maybe answering on the topic can 
> get some attention, or at least you can know that somebody read it and 
> support it.
>
>
> 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
>
> > Hey
> >
> > Here's a proof of concept for Android Modules.  It works for cordova 
> > core plugins, but it's kinda brittle because I need to figure out 
> > how to
> handle
> > dependencies and excluding duplicate compilation in our tools.
> >
> > https://github.com/infil00p/cordova-android/tree/framework_fixes
> > https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
> >
> > Surprisingly, the changes made are very minor to get this to work, 
> > and there's a lot of serious advantages we give.  That said, our 
> > Gradle
> scripts
> > are incredibly brittle, and we don't have the luxury of changing any 
> > execution order to try to get around excluding dependencies.
> >
> > I think it would be good if we could add in plugin.xml a way to 
> > exclude compilation of dependencies that are already included.
> > Right now if you include a plugin that depends on the CordovaLib 
> > module in the project,
> our
> > plugin will install things twice.
> >
> > Does anyone have any thoughts about this?  I really want this to be 
> > a lot less brittle before introducing this method of installing plugins.
> >
> > Joe
> >
>
B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB  [  X  ܚX KK[XZ[
 ] ][  X  ܚX P ܙݘK \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[
 ] Z[ ܙݘK \X K ܙ B

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org

RE: Proof of Concept: Plugins as Android Modules

Posted by "Vladimir Kotikov (Akvelon)" <v-...@microsoft.com>.
Hi, Joe

I've looked into your changes and did some quick testing. IMO they looks good apart some minor issues:

- after adding a plugin and opening resultant project in Android studio I was unable to build the project w/ debug configuration - only release seems to work. The error I'm getting is
    Error:Module 'CordovaLib' has variant 'release' selected, but the module ''android'' depends on variant 'debug'
From CLI everything seems to work fine.

- I'm not very experienced in Gradle things, but looks like adding excludes to every plugin's subproject [1] - is not really required. At least I was able to build the generated project without these excludes. Moreover, the Gradle build output with and without these excludes is similar - no additional compilation of CordovaLib is performed

- I had to manually update "buildToolsVersion" property in InappBrowser's build.gradle - perhaps we would need for a logic to update that property according to installed build tools version at build time?

-
[1] https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes#diff-417ebeefa9eab114cf248463f6886bbaR103
[2] https://github.com/apache/cordova-android/compare/master...infil00p:framework_fixes

-
Best regards, Vladimir

-----Original Message-----
From: Joe Bowser [mailto:bowserj@gmail.com] 
Sent: Tuesday, June 21, 2016 12:38 AM
To: dev <de...@cordova.apache.org>
Subject: Re: Proof of Concept: Plugins as Android Modules

Bump! It'd be good to get some feedback on this sooner rather than later.

On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <jcesarmobile@gmail.com
> wrote:

> Hi.
>
> I sadly can't contribute to this because I don't think I have enough 
> Android knowledge, but just wanted to answer on this topic as I feel 
> that is very important and I think this one and the previous ones you 
> sent related to this didn't get enough attention.
> So, even if I can't personally help, maybe answering on the topic can 
> get some attention, or at least you can know that somebody read it and 
> support it.
>
>
> 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
>
> > Hey
> >
> > Here's a proof of concept for Android Modules.  It works for cordova 
> > core plugins, but it's kinda brittle because I need to figure out 
> > how to
> handle
> > dependencies and excluding duplicate compilation in our tools.
> >
> > https://github.com/infil00p/cordova-android/tree/framework_fixes
> > https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
> >
> > Surprisingly, the changes made are very minor to get this to work, 
> > and there's a lot of serious advantages we give.  That said, our 
> > Gradle
> scripts
> > are incredibly brittle, and we don't have the luxury of changing any 
> > execution order to try to get around excluding dependencies.
> >
> > I think it would be good if we could add in plugin.xml a way to 
> > exclude compilation of dependencies that are already included.  
> > Right now if you include a plugin that depends on the CordovaLib 
> > module in the project,
> our
> > plugin will install things twice.
> >
> > Does anyone have any thoughts about this?  I really want this to be 
> > a lot less brittle before introducing this method of installing plugins.
> >
> > Joe
> >
>

Re: Proof of Concept: Plugins as Android Modules

Posted by Joe Bowser <bo...@gmail.com>.
Bump! It'd be good to get some feedback on this sooner rather than later.

On Thu, Jun 16, 2016 at 3:57 PM, julio cesar sanchez <jcesarmobile@gmail.com
> wrote:

> Hi.
>
> I sadly can't contribute to this because I don't think I have enough
> Android knowledge, but just wanted to answer on this topic as I feel that
> is very important and I think this one and the previous ones you sent
> related to this didn't get enough attention.
> So, even if I can't personally help, maybe answering on the topic can get
> some attention, or at least you can know that somebody read it and support
> it.
>
>
> 2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:
>
> > Hey
> >
> > Here's a proof of concept for Android Modules.  It works for cordova core
> > plugins, but it's kinda brittle because I need to figure out how to
> handle
> > dependencies and excluding duplicate compilation in our tools.
> >
> > https://github.com/infil00p/cordova-android/tree/framework_fixes
> > https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
> >
> > Surprisingly, the changes made are very minor to get this to work, and
> > there's a lot of serious advantages we give.  That said, our Gradle
> scripts
> > are incredibly brittle, and we don't have the luxury of changing any
> > execution order to try to get around excluding dependencies.
> >
> > I think it would be good if we could add in plugin.xml a way to exclude
> > compilation of dependencies that are already included.  Right now if you
> > include a plugin that depends on the CordovaLib module in the project,
> our
> > plugin will install things twice.
> >
> > Does anyone have any thoughts about this?  I really want this to be a lot
> > less brittle before introducing this method of installing plugins.
> >
> > Joe
> >
>

Re: Proof of Concept: Plugins as Android Modules

Posted by julio cesar sanchez <jc...@gmail.com>.
Hi.

I sadly can't contribute to this because I don't think I have enough
Android knowledge, but just wanted to answer on this topic as I feel that
is very important and I think this one and the previous ones you sent
related to this didn't get enough attention.
So, even if I can't personally help, maybe answering on the topic can get
some attention, or at least you can know that somebody read it and support
it.


2016-06-14 22:58 GMT+02:00 Joe Bowser <bo...@gmail.com>:

> Hey
>
> Here's a proof of concept for Android Modules.  It works for cordova core
> plugins, but it's kinda brittle because I need to figure out how to handle
> dependencies and excluding duplicate compilation in our tools.
>
> https://github.com/infil00p/cordova-android/tree/framework_fixes
> https://github.com/infil00p/cordova-plugin-inappbrowser/tree/aar_poc
>
> Surprisingly, the changes made are very minor to get this to work, and
> there's a lot of serious advantages we give.  That said, our Gradle scripts
> are incredibly brittle, and we don't have the luxury of changing any
> execution order to try to get around excluding dependencies.
>
> I think it would be good if we could add in plugin.xml a way to exclude
> compilation of dependencies that are already included.  Right now if you
> include a plugin that depends on the CordovaLib module in the project, our
> plugin will install things twice.
>
> Does anyone have any thoughts about this?  I really want this to be a lot
> less brittle before introducing this method of installing plugins.
>
> Joe
>