Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Disabling managed project converter

Hi Jeremiah,

I don't have much good news for you.  You have some good points below,
but it's too late in CDT 3.0 to be re-architecting the project converter
mechanism.  There is a new converter extension point in CDT 3.0, but it
has of yet received no usage that I'm aware of.  I think we will need to
consider it "experimental" for now.

You can read about the new converter extension point in bugzilla 89872.
Basically, you can define a converter to convert a toolchain, tool, or
builder.  The current design works like this:

MBS loads the project and matches referenced IDs in the project file to
IDs in the manifest file.  If a matched element in the manifest file
specifies the converToId attribute set, MBS marks the project element
indicating that a conversion needs to take place.  

In the converter extension, you can specify the version of MBS that the
converter was written for.  If the converter was written for a version
of MBS less than the current version of MBS, the converter is called
before the automatic MBS conversion takes place.  If the converter was
written for the current version of the MBS, the converter is called
after the automatic MBS conversion.

The converter is passed the "in memory" representation of the project -
i.e., the project object hierarchy (IToolChain, ITool, etc.), and so can
do just about anything it wants to the project (including "breaking"
it).

You might be able to add a converter before the automatic MBS conversion
that stores additional information in your separate file that will allow
you to be able to make the configuration matches after the automatic
conversion.

I have also added some specific answers below.

Regards,
Leo

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Lott, Jeremiah
Sent: Tuesday, July 19, 2005 5:33 PM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] Disabling managed project converter

Hello,

I've been looking at converting our managed make projects from our
current product (CDT 2.0 based) to a new (future) CDT 3.0 based one.
I'm having problems with the existing managed project converter.  Is
there any way to turn off or replace it?  

[Leo] No.

I'm starting to think the best
way to get around the problems is to write my own converter.  However,
this would conflict with the existing converter.  Here are my current
problems for reference:

-We are storing per-configuration information in a file outside the
.cdtbuild file.  This information is indexed by configuration ID.  When
a configuration is converted, it gets a new ID.  Therefore this
connection is broken.  I don't see any way to correlate the two IDs.

-I would really like to change our plugin.xml build tool definition to
take advantage of the new features in CDT 2.1/3.0, which I was finding
quite useful.  However, many of the changes I would like to make cause
the converter to no longer be able to upgrade the project.

-The prompt that comes up doesn't make sense in the context of our
product.  It uses the CDT version numbers 2.0 -> 3.0.  However, our
product's version number is changing from 3.1 -> 3.2 (probably).

[Leo] There is no way to change that at this time.

-The prompt comes up once per project.  When I first opened my workspace
I got 20 or so prompts in a row before I could do anything else.  I may
have a few more projects than our average customer will, but at least
some of them will probably have numbers of projects in this range.

[Leo] There is no way to change that at this time.

Thanks for any insight,

  Jeremiah Lott
  TimeSys Corporation
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top