Hi,
User's of my product want to use "File > Import > Import existing project" to import a CDT project from one ISV vendor (A) and have it converted to a CDT project from another ISV vendor (B). As an ISV (vendor C) I need to write the project converter to handle this. I'm hoping I can accomplish this with <extension point="org.eclipse.cdt.managedbuilder.core.projectConverter">, but have a few questions.
1) My product contains the product feature from vendor B. Will it be necessary for my product to contain the product feature (definitions) from vendor A for the conversion to be possible?
2) Using the ext point:
<extension
point="org.eclipse.cdt.managedbuilder.core.projectConverter">
<converter
class="myProjectConverterClass"
fromId="org.eclipse.cdt.cross.arm.gnu.vendorA.xxx"
id="myProjectConverter.id"
mbsVersion="4.0.0"
name="Vendor A Project Converter"
toId="org.eclipse.cdt.cross.arm.gnu.vendorB.xxx">
</converter>
In my runtime workbench I import a vendor A type project. After the import, which generates expected "Managed Build system manifest file error"s in my SDK console, I right click in Project Explorer and select Convert To... which opens the Project Converters for <project name> dialog and lists "Vendor A Project Converter" in the Converters List, which I can select and have myProjectConverterClass called. Great! But I can only get this work when I choose a fromid which contains an instance number, eg:
fromId="org.eclipse.cdt.cross.arm.gnu.vendorA.windows.elf.toolchain.debug.1234567890"
I haven't found a fromid without an instance number that causes the converter to be recognised. Why is this?
3) Reading some background*, for this conversion to be possible do I need to modify all the convertToId 's of vendor A's definitions? The process is more pushing from vendor A rather than pulling from vendor B? This is a continuation of Question 1 I guess.
4) Is the org.eclipse.cdt.managedbuilder.core.projectConverter ext point primarily designed for converting between projects of the same type, but differing MBS versions?
Should I expect my project converter to be triggered automatically when the import occurs if both projects are the same MBS version? Or will I have to rely on the user selecting the Convert To... menu item?
5) Incidentally, what is this ext point used for?
<extension point="org.eclipse.cdt.core.projectConverter">
I've played with the org.eclipse.cdt.managedbuilder.core.tests.MultiVersionSupportTests tests, but am still finding the conversion concepts difficult. If there are any other resources on this subject I'd be interested.
Thanks for any help.
cheers john
Ref: