Community
Participate
Working Groups
I20061031-0656 Importing required plug-ins wants to replace exisiting source plug-ins Steps: - new workspace - import plug-ins in source: org.eclipse.jdt.apt.core org.eclipse.jdt.apt.ui org.eclipse.jdt.core - File > Import > Plug-ins..., select "... required by existing ..." and "Binary Projects" - press Next, Select All => The list on the right contains org.eclipse.jdt.apt.core and org.eclipse.jdt.core. When pressing Finish, I'm being asked whether I want to replace those plugins. => Expected: existing non-binary plug-ins should not be imported again.
I don't agree. there should be a option to override source plug-ins with binary version. But I can agree that option to not override source plugins can be useful (maybe some checkbox will be ok ?) I can work on this bug ;) But lets make first things first and decide how to implement this option.
I selected "Importing plug-ins and fragments required by existing workspace plug-ins" on the page before, so it makes little sense to replace two of the three plug-ins by their binary version (note that apt.ui is NOT on the list to import, and I also cannot add it manually). Another checkbox would be overkill. If you want to replace all existing imported plug-ins by binary version, use the "Select from ..." option on the first page and then click "Existing Unshared".
One of the things we strive for in PDE is flexibility. We can quickly get into problems where we follow one use case or belief too closely which angers users who do things differently. It seems for your use case that source plug-ins are more valuable than binary plug-ins. I understand how this might be more helpful in some development environments. Though I could think of a case when a developer might want to over right their plug-in's dependencies with binary equivalents. For instance, I might be trying to do some modifications to debug a problem in jdt.core. Afterwards, when I am done I might then want to work on jdt.ui. After importing jdt.ui, I may want to have any of my changes I no longer need in jdt.core erased. The easiest way is to do a binary import for all its dependencies. In an effort to not restrict users, we should leave this one as is. If you don't want to over write existing source projects, you can select "No to All" when the prompt to over write an existing project comes up. If the user wants to replace the source projects with the original binary data, they can simply click "Yes to All".
Updating status, see comment #3