You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Wargo, John" <jo...@sap.com> on 2013/06/20 19:31:35 UTC

Multiple plugins with the same dependencies

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<ma...@sap.com>
Twitter: @johnwargo


Re: Multiple plugins with the same dependencies

Posted by Filip Maj <fi...@adobe.com>.
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" <jo...@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 <fi...@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" <jo...@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<ma...@sap.com>
>> >Twitter: @johnwargo
>> >
>>
>>


RE: Multiple plugins with the same dependencies

Posted by "Wargo, John" <jo...@sap.com>.
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 <fi...@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/common.
> js
> [2]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
> js#L10
> [3]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
> js#L17
> [4]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/android
> .js#L37
> [5]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/ios.js#
> L35
>
> On 6/20/13 10:31 AM, "Wargo, John" <jo...@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<ma...@sap.com>
> >Twitter: @johnwargo
> >
>
>

Re: Multiple plugins with the same dependencies

Posted by Andrew Grieve <ag...@chromium.org>.
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 <fi...@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/common.
> js
> [2]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
> js#L10
> [3]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
> js#L17
> [4]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/android
> .js#L37
> [5]
> https://github.com/apache/cordova-plugman/blob/master/src/platforms/ios.js#
> L35
>
> On 6/20/13 10:31 AM, "Wargo, John" <jo...@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<ma...@sap.com>
> >Twitter: @johnwargo
> >
>
>

Re: Multiple plugins with the same dependencies

Posted by Filip Maj <fi...@adobe.com>.
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/common.
js
[2] 
https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
js#L10
[3] 
https://github.com/apache/cordova-plugman/blob/master/src/platforms/common.
js#L17
[4] 
https://github.com/apache/cordova-plugman/blob/master/src/platforms/android
.js#L37
[5] 
https://github.com/apache/cordova-plugman/blob/master/src/platforms/ios.js#
L35

On 6/20/13 10:31 AM, "Wargo, John" <jo...@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<ma...@sap.com>
>Twitter: @johnwargo
>