Which options, 1 or 2?

On 7/15/13 9:22 AM, "Max Woghiren" <m...@chromium.org> wrote:

>Just a heads up‹I plan to make this change and I will make the appropriate
>documentation updates.
>
>
>On Tue, Jul 9, 2013 at 4:15 PM, Filip Maj <f...@adobe.com> wrote:
>
>> 2 is more explicit. Either case require a good docs update.
>>
>> On 7/9/13 12:57 PM, "Andrew Grieve" <agri...@chromium.org> wrote:
>>
>> >Another use-case that's come up with the core plugins is the ability to
>> >clobber one module with a platform-specific one (instead of merging
>>with
>> >it).
>> >
>> >Right now where this was happening we're copy & pasting the <js-module>
>> >tag
>> >for each non-specialized platform. Not great.
>> >
>> >Option 1:
>> >Allow <js-module> within platform to have the same name= without
>>plugman
>> >complaining
>> >
>> >Option 2:
>> ><js-module name="SameName" override="true">
>> >
>> >I think I prefer option 1.
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >On Mon, Jul 8, 2013 at 2:51 PM, Andrew Grieve <agri...@chromium.org>
>> >wrote:
>> >
>> >> You specify what JS path you want to merge into. I think this is
>>wrong.
>> >>
>> >> E.g.:
>> >> <js-module src="..." name="A" >
>> >>   <clobbers target="window.plugins.A" />
>> >>   <clobbers target="window.oldPath.A" />
>> >> </js-module>
>> >>
>> >> <platform name="ios">
>> >> <js-module ...>
>> >>   <merges target="window.plugins.A" />
>> >>   <merges target="window.oldPath.A" />
>> >> </js-module>
>> >> </platform>
>> >>
>> >> With this example, you'd actually only need to have a single merge
>>line,
>> >> since window.plugins.A and window.oldPath.A actually refer to the
>>same
>> >> object. It's also less apparent when specifying the symbol path, that
>> >> you're modifying the actual module that maps to it.
>> >>
>> >> Instead - I think what better captures the merges use-case would be
>>to
>> >> specify the name of the *module* to merge into. E.g.:
>> >>
>> >> <js-module src="..." name="A">
>> >>   <clobbers target="window.plugins.A" />
>> >>   <clobbers target="window.oldPath.A" />
>> >> </js-module>
>> >>
>> >> <platform name="ios">
>> >> <js-module ...>
>> >>   <merges target="A" />
>> >> </js-module>
>> >> </platform>
>> >>
>> >>
>> >> We could then also have a plugman-time check that the "A" module
>>exists
>> >>to
>> >> be merged into.
>> >>
>> >> Existing uses of <merges> are minimal, so I think we can change this
>>now
>> >> without harm:
>> >>
>> >> $ grep merges cordova*plugin*/plugin.xml
>> >> cordova-plugin-contacts/plugin.xml:            <merges
>> >> target="navigator.contacts" />
>> >> cordova-plugin-contacts/plugin.xml:            <merges
>>target="Contact"
>> >>/>
>> >> cordova-plugin-dialogs/plugin.xml:        <merges
>> >> target="navigator.notification" />
>> >> cordova-plugin-dialogs/plugin.xml:            <merges
>> >> target="navigator.notification" />
>> >> cordova-plugin-file/plugin.xml:            <merges
>> >>target="window.Entry" />
>> >> cordova-plugin-file/plugin.xml:            <merges
>> >> target="window.FileUploadOptions" />
>> >> cordova-plugin-file/plugin.xml:            <merges
>> >> target="window.FileUploadOptions" />
>> >>
>>
>>

Reply via email to