Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3E56C187E4 for ; Fri, 17 Jul 2015 15:39:21 +0000 (UTC) Received: (qmail 76490 invoked by uid 500); 17 Jul 2015 15:39:21 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 76445 invoked by uid 500); 17 Jul 2015 15:39:20 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 76431 invoked by uid 99); 17 Jul 2015 15:39:20 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2015 15:39:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 30686D5688 for ; Fri, 17 Jul 2015 15:39:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.998 X-Spam-Level: ** X-Spam-Status: No, score=2.998 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id n9Nt7uce6i1m for ; Fri, 17 Jul 2015 15:39:10 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bn0109.outbound.protection.outlook.com [157.56.110.109]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id 55F69261E6 for ; Fri, 17 Jul 2015 15:39:09 +0000 (UTC) Received: from BY1PR03MB1385.namprd03.prod.outlook.com (10.162.127.139) by BY1PR03MB1387.namprd03.prod.outlook.com (10.162.127.141) with Microsoft SMTP Server (TLS) id 15.1.213.14; Fri, 17 Jul 2015 15:38:45 +0000 Received: from BY1PR03MB1385.namprd03.prod.outlook.com ([10.162.127.139]) by BY1PR03MB1385.namprd03.prod.outlook.com ([10.162.127.139]) with mapi id 15.01.0213.000; Fri, 17 Jul 2015 15:38:45 +0000 From: Mefire O. To: "dev@cordova.apache.org" Subject: Re: Discuss Android plugin compatibility problem Thread-Topic: Discuss Android plugin compatibility problem Thread-Index: AdC/1xq20sLW3+0uSfm9JLX+jkwsvAACy2SAAABy5AAAAFmOgAABLCQXAABOpYAAAGIzAAAWwGuAAAEb3gAAEUXFAAAD5mEAAAFmpuM= Date: Fri, 17 Jul 2015 15:38:45 +0000 Message-ID: References: <233b92a0-7f34-46b0-80df-6839485f45c4@email.android.com> , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cordova.apache.org; dkim=none (message not signed) header.d=none; x-originating-ip: [2601:602:8400:a9f6:1ae:1fe5:a342:6b4] x-microsoft-exchange-diagnostics: 1;BY1PR03MB1387;5:47kdPOlxGdj+A1mD72jdCU8YwG3SN21MdEU0y0VvZ+ENnUli50Nac7lPQ0tAAOZtYGZtKRJhAs12saucUilqkF1omJJatzMNePOsWt/uDTaPpGePlW3mcKRPUxJLn+9E2fKLPHojJob2grLVEwqI7A==;24:o2d5h29l3tywfbAehqJNIUGZ7jziYYhUwBg/qGOZF3azRS2pyDaVUm7BDMHoFrZ10wVJcVNypi6he57/++32XwMalne2N6nA34/RgjPAy04=;20:BG7oQrNaPHVGnCvqFAqzN0feHuD21AzZ7HniNMgYRFwFfOOlEeuIijC/ZtTyj1v4N/Ff4j+4Q1qyou5yjJTMMA== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(42134001)(42139001);SRVR:BY1PR03MB1387; by1pr03mb1387: X-MS-Exchange-Organization-RulesExecuted x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(108003899814671); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401001)(5005006)(3002001);SRVR:BY1PR03MB1387;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1387; x-forefront-prvs: 06400060E1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(377454003)(252514010)(24454002)(164054003)(102836002)(86612001)(2950100001)(110136002)(19625215002)(50986999)(76176999)(189998001)(54356999)(86362001)(31696002)(2351001)(19580395003)(19617315012)(87936001)(33646002)(19580405001)(77096005)(46102003)(5001960100002)(122556002)(15975445007)(16236675004)(31686004)(2656002)(77156002)(2501003)(5002640100001)(99286002)(93886004)(450100001)(62966003)(5001920100001)(92566002)(107886002)(2900100001)(3826002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1387;H:BY1PR03MB1385.namprd03.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; Content-Type: multipart/alternative; boundary="_000_cc5d6963c122416b8267d038588a3c74emailandroidcom_" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2015 15:38:45.1171 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1387 --_000_cc5d6963c122416b8267d038588a3c74emailandroidcom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable So, it seems like mechanisms are already in place to enable us to do what w= e wanna do here. The actionable step I'm seeing here is 'updating the docs to ask plugin dev= s to use plugin.xml to define gradle dependencies'. If you folks agree with what this actionable item, I will create a jira ite= m to track it. Thanks, On Jul 17, 2015 7:59 AM, Joe Bowser wrote: I'm fine with it. I just spaced out and forgot we did that for Crosswalk. I thought we had a reference to a gradle file instead. On Fri, Jul 17, 2015 at 6:14 AM Carlos Santana wrote= : > What's the problem Joe? Having declaring cradle dependencies in plugin.xm= l > I think is a good thing. At high level a plugin should be able to some ho= w > declare its dependencies for things located in gradle/maven via plugin.xm= l, > a metada file, or hook. > We in IBM are using gradle in plugin.xml for some plugins we do, we want = to > do the same for iOS with cocoapods > > On Fri, Jul 17, 2015 at 12:53 AM Joe Bowser wrote: > > > Wait, yeah, plugin.xml does handle that. I was thinking config.xml. > WTF? > > > > On Thu, Jul 16, 2015 at 9:21 PM Carlos Santana > > wrote: > > > > > Steve plugin.xml already supports declaring gradle deps > > > > > > On Thu, Jul 16, 2015 at 1:29 PM Joe Bowser wrote: > > > > > > > Ideally Maven should handle all this shit, and it should be > invisible. > > > Our > > > > plugin system should not handle Java dependencies or any other > platform > > > > dependencies, and we should work behind the scenes to make this wor= k > > like > > > > how Crosswalk works. > > > > > > > > On Thu, Jul 16, 2015 at 10:18 AM Steven Gill > > > > > wrote: > > > > > > > > > Would this be added to plugin.xml? > > > > > > > > > > On Thu, Jul 16, 2015 at 10:09 AM, Mefire O. < > ommenjik@microsoft.com> > > > > > wrote: > > > > > > > > > > > +1 on moving deps to gradle. > > > > > > > > > > > > On Jul 16, 2015 9:37 AM, Carlos Santana > > > wrote: > > > > > > you mean the scripts in cordova-android right? then yes > > > > > > > > > > > > +1 create jira bug, enhancements etc.. if doesn't get track it > > > doesn't > > > > > get > > > > > > done > > > > > > > > > > > > On Thu, Jul 16, 2015 at 12:26 PM Joe Bowser > > > wrote: > > > > > > > > > > > > > Is there a bug created for this? It sounds like we should hav= e > > the > > > > > local > > > > > > > scripts handle dependency adding on Android. > > > > > > > > > > > > > > On Thu, Jul 16, 2015 at 9:14 AM Carlos Santana < > > > csantana23@gmail.com > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > +1 gradle declared dependencies only, cli to warn users abo= ut > > > > plugins > > > > > > > > having libraries that will conflict, future is gradle no AN= T > > I'm > > > ok > > > > > to > > > > > > > > start deprecating ant going forward. > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jul 16, 2015 at 11:27 AM Sergey Grebnov (Akvelon) < > > > > > > > > v-segreb@microsoft.com> wrote: > > > > > > > > > > > > > > > > > Hi guys, I want to raise the following question - what we > > > should > > > > > > > > > recommend plugin developers to avoid 'Multiple dex files > > > > defined' > > > > > > > issue > > > > > > > > on > > > > > > > > > Android, for example [3] > > > > > > > > > > > > > > > > > > UNEXPECTED TOP-LEVEL EXCEPTION: > > > > > > > > > com.android.dex.DexException: Multiple dex files > > define > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$A= ccessibilityServiceInfoVersionImpl; > > > > > > > > > > > > > > > > > > > > > > > > > > > To reproduce this problem you can add both Facebook [1] a= nd > > > > > > > PushPlugin[2] > > > > > > > > > and then build android platform. > > > > > > > > > > > > > > > > > > This happens due to we still use jars to add plugin > > > dependencies, > > > > > but > > > > > > > > > there are several very popular among them (like > > > android-support, > > > > > > gson) > > > > > > > so > > > > > > > > > we bring the same dependencies several times so build > fails. > > > > > > > > > > > > > > > > > > I think we should start recommending people to start addi= ng > > > > > > > > > utility/common/popular dependencies via corresponding > gradle > > > > > > > > configuration > > > > > > > > > (not using libs folder) as the only way to support multip= le > > > > plugins > > > > > > > which > > > > > > > > > could rely on the same dependency. In this case gradle wi= ll > > be > > > > able > > > > > > to > > > > > > > > > handle this situation correctly using its smart Dependenc= y > > > > > > > > > Management/Versioning logic [4]. > > > > > > > > > > > > > > > > > > For example, > > > > > > > > > > > > > > > > > > > > src=3D"src/android/com/plugin/android-support-v13.jar" > > > > > > > > > target-dir=3D"libs/" /> > > > > > > > > > -> > > > > > > > > > > > > > > > > > > > > > > > > > > > Disadvantage of this approach is that Ant build won't be > > > > supported > > > > > (I > > > > > > > > know > > > > > > > > > some tricky/more complex way to correctly support both An= t > > and > > > > > Gradle > > > > > > > > but I > > > > > > > > > don't think it is worth adding more complexity for plugin= s > > > > > developers > > > > > > > > just > > > > > > > > > to continue supporting Ant). > > > > > > > > > > > > > > > > > > Guys, any recommendations/thoughts how we should proceed = in > > > this > > > > > > > > > situation? Maybe someone has better solution for this > > problem? > > > > > > > > > > > > > > > > > > [1] https://github.com/Wizcorp/phonegap-facebook-plugin > > > > > > > > > [2] https://github.com/phonegap-build/PushPlugin > > > > > > > > > [3] > > > > > https://github.com/Wizcorp/phonegap-facebook-plugin/issues/1028 > > > > > > > > > [4] > > > > > > > > > > https://docs.gradle.org/current/userguide/dependency_management.html > > > > > > > > > > > > > > > > > > Thx! > > > > > > > > > Sergey > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > > To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.or= g > > > > > > > > > For additional commands, e-mail: > dev-help@cordova.apache.org > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --_000_cc5d6963c122416b8267d038588a3c74emailandroidcom_--