cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Santana <csantan...@gmail.com>
Subject Re: Discuss Android plugin compatibility problem
Date Fri, 17 Jul 2015 13:07:59 GMT
Stupid iOS autocorrect had a bunch of typos gradle not cradle

On Fri, Jul 17, 2015 at 9:06 AM Carlos Santana <csantana23@gmail.com> wrote:

> What's the problem Joe? Having declaring cradle dependencies in plugin.xml
> I think is a good thing. At high level a plugin should be able to some how
> declare its dependencies for things located in gradle/maven via plugin.xml,
> 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 <bowserj@gmail.com> 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 <csantana23@gmail.com>
>> wrote:
>>
>> > Steve plugin.xml already supports declaring gradle deps
>> >
>> > On Thu, Jul 16, 2015 at 1:29 PM Joe Bowser <bowserj@gmail.com> 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 work
>> like
>> > > how Crosswalk works.
>> > >
>> > > On Thu, Jul 16, 2015 at 10:18 AM Steven Gill <stevengill97@gmail.com>
>> > > 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 <csantana23@gmail.com>
>> > 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 <bowserj@gmail.com>
>> > wrote:
>> > > > >
>> > > > > > Is there a bug created for this? It sounds like we should
have
>> 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
about
>> > > plugins
>> > > > > > > having libraries that will conflict, future is gradle
no ANT
>> 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$AccessibilityServiceInfoVersionImpl;
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > To reproduce this problem you can add both Facebook
[1] and
>> > > > > > 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 adding
>> > > > > > > > utility/common/popular dependencies via corresponding
gradle
>> > > > > > > configuration
>> > > > > > > > (not using libs folder) as the only way to support
multiple
>> > > plugins
>> > > > > > which
>> > > > > > > > could rely on the same dependency. In this case
gradle will
>> be
>> > > able
>> > > > > to
>> > > > > > > > handle this situation correctly using its smart
Dependency
>> > > > > > > > Management/Versioning logic [4].
>> > > > > > > >
>> > > > > > > > For example,
>> > > > > > > >
>> > > > > > > > <source-file
>> > src="src/android/com/plugin/android-support-v13.jar"
>> > > > > > > > target-dir="libs/" />
>> > > > > > > > ->
>> > > > > > > > <framework src="com.android.support:support-v13:21.0.0"
/>
>> > > > > > > >
>> > > > > > > > Disadvantage of this approach is that Ant build
won't be
>> > > supported
>> > > > (I
>> > > > > > > know
>> > > > > > > > some tricky/more complex way to correctly support
both Ant
>> and
>> > > > Gradle
>> > > > > > > but I
>> > > > > > > > don't think it is worth adding more complexity
for plugins
>> > > > 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.org
>> > > > > > > > For additional commands, e-mail:
>> dev-help@cordova.apache.org
>> > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message