Community
Participate
Working Groups
Created attachment 81195 [details] Proposed Changes IProvisionerWizard has a method getLocations() that returns an array of File objects. Currently the API assumes that all of the returned Files represent directories to search. This is limiting for the p2 target provisioner as we may not want every plug-in in a directory to be added to the target. We are proposing that the javadoc wording on the API method and the implementation of TargetPluginsTab.handleAdd() be changed to allow the returned array to contain any combination of directories (which will be searched as before) and files (which will be checked for existence and then added to the target).
Unclear whether these changes will be enough for p2 (might need to store more information about the target). The API changes should wait until things are cleared up. However, comments on the proposed change are welcome.
We've got some work to do on this one. I see two problems with the patch: 1. If we allow the File objects to be plug-ins, we currently are not able to deal with plug-ins in directory form. They will not show up. 2. We can add jarred bundles, but upon restart they disappear. I think we might have to consider holding off until after M3 because these aren't super simple problems to fix.
OK, so what if we keep the existing IProvisioningWizard interface, but add a second interface (IProvisioningWizard2) that allows the enabled set of plug-ins to be specified? This would allow us to return multiple locations containing plug-ins and set the enabled ones in one action. This will support the case where locations containing plug-ins are > 1, and only some plug-ins from each location are required.
> 1. If we allow the File objects to be plug-ins, we currently are not able to deal with plug-ins in directory form. They will not show up. What about the following logic: - if it is a file (isFile()), then no doubt it is a jar'ed plug-in - it it is a folder and there is a META-INF/Manifest.MF or a plugin.xml, then it is a folder style plugin, otherwise it is a folder containing plugins (like you do today).
Looks like we'll be dealing with things in a different manner. No need for changes to the IProvisionerWizard. Marking as INVALID.