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:bows...@gmail.com] Sent: Tuesday, June 21, 2016 12:38 AM To: dev <dev@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 <jcesarmob...@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 <bows...@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 > > >