cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Maj <...@adobe.com>
Subject Re: Multiple plugins with the same dependencies
Date Thu, 20 Jun 2013 22:04:21 GMT
There is dependency support built into plugman / plugins. So your
developers would only need to install the two plugins - the third shared
one would be installed automatically. See the <dependency> element of the
spec [1].

As for your example about two plugins relying on the same third party
plugin, as long as the version of the shared-dep plugin is the same for
both plugins that rely on it, then you are fine.

That is about the extent of dependency support we set out to accomplish
for cordova 3.0.

[1] 
https://github.com/apache/cordova-plugman/blob/master/plugin_spec.md#depend
ency

On 6/20/13 2:59 PM, "Wargo, John" <john.wargo@sap.com> wrote:

>That's what we thought - perhaps make a plugin out of the common
>dependency, but that becomes more to manage.   I'd have to install three
>plugins to make this work when developers are going to expect that
>plugman manages this for them. What happens for example if two
>non-related plugins rely upon some third party dependency?
>
>John M. Wargo
>Email: john.wargo@sap.com
>Twitter: @johnwargo
>
>
>-----Original Message-----
>From: agrieve@google.com [mailto:agrieve@google.com] On Behalf Of Andrew
>Grieve
>Sent: Thursday, June 20, 2013 2:56 PM
>To: dev
>Subject: Re: Multiple plugins with the same dependencies
>
>I think the correct approach here would be to create a plugin that only
>provides SDMCommon-2.3.0.183.jar, and then have your other plugins depend
>on it.
>
>
>On Thu, Jun 20, 2013 at 1:45 PM, Filip Maj <fil@adobe.com> wrote:
>
>> The file collision checking is built in.
>>
>> A -f / --force flag would need to be implemented to support this case.
>>
>> There are a set of common file methods handling things like copying
>>stuff
>> over, deleting files, that kind of stuff [1]. These helper methods all
>> have built-in checking that the source of a file exists [2], as well as
>>a
>> target destination does _not_ exist [3]. It is [3] that would have to be
>> tweaked and hooked into command-line flags to enable this functionality.
>>
>> Additionally, individual platforms handle particular files differently.
>> See for example how Android handles <source-file> elements [4], vs. how
>> iOS handles <source-file> elements [5]. We'd have to make sure that
>>these
>> platform-specific handlers are also hooked into the command line flag
>> appropriately.
>>
>> There is no issue currently filed for this but I can see this being a
>> useful option. That being said, I am not sure if/when I will be able to
>> tackle this problem, so pull requests/patches are welcome.
>>
>> [1]
>> 
>>https://github.com/apache/cordova-plugman/blob/master/src/platforms/commo
>>n.
>> js
>> [2]
>> 
>>https://github.com/apache/cordova-plugman/blob/master/src/platforms/commo
>>n.
>> js#L10
>> [3]
>> 
>>https://github.com/apache/cordova-plugman/blob/master/src/platforms/commo
>>n.
>> js#L17
>> [4]
>> 
>>https://github.com/apache/cordova-plugman/blob/master/src/platforms/andro
>>id
>> .js#L37
>> [5]
>> 
>>https://github.com/apache/cordova-plugman/blob/master/src/platforms/ios.j
>>s#
>> L35
>>
>> On 6/20/13 10:31 AM, "Wargo, John" <john.wargo@sap.com> wrote:
>>
>> >We¹re trying to install two plugins that share some of the same
>> >dependencies and we¹re getting an
>> >
>> >error. Is there a way to turn off checking if a file already exists?
>>If
>> >not, do you have any suggestions
>> >
>> >on how to implement this?
>> >
>> >
>> >
>> >Error: "C:\temp\plug\test\libs\SDMCommon-2.3.0.183.jar" already exists!
>> >
>> >
>> >
>> >Looks like we need a -force or -f flag added to plugman to support
>>this.
>> >
>> >John M. Wargo
>> >SAP | Charlotte, NC | USA
>> >Office: +1 704.321.0265 | Mobile: +1 704.249.7476
>> >Email: john.wargo@sap.com<mailto:john.wargo@sap.com>
>> >Twitter: @johnwargo
>> >
>>
>>

Mime
View raw message