Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] project converter (org.eclipse.cdt.managedbuilder.core.projectConverter)

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:
*: [cdt-dev] MBS Project Conversion: https://dev.eclipse.org/mhonarc/lists/cdt-dev/msg10847.html


Back to the top