Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] IManagedProject, IManagedBuildInfo, ICProjectDescription

Hi Oleg and Mikhail,

Thanks for helping! After reading your emails and digging some more in the
code I'm starting to see the picture.

Looks like ManagedBuildManager.saveBuildInfo() actually ends up delegating
to ICProjectDescriptionManager.setProjectDescription().

But before doing that, it brings ICProjectDescription up to date with
IManagedBuildInfo, by calling BuildSettingsUtil.synchBuildInfo(). [So looks
like if I had any changes in ICProjectDescription only (not sure that's
possible), it would get lost here?]

BuildConfigurationData (a kind of CConfigurationData) seems to be the bridge
between ICConfigurationDescription and Iconfiguration, sort of serving up
IConfiguration's internal data for the core model in a form it 
understands. At least this is what I drew from a cursory look (no javadoc
comments anywhere in the code).

So if I change the buildInfo and IConfiguration stuff, my changes apparently
get transferred to the project description as soon as I call
saveBuildInfo().

It is only not clear if (and how) it works the other way: when I change the
project description, how does it get reflected in buildInfo? Or does it? My
suspect is getConfigurationForDescription() here...


My questions:

Is this architecture going to stay (in 5.0 and beyond), or which direction
is it moving?

MakeProject and ManagedMakeProject. These classes seem to be dead, no
references anywhere. Going to be removed?

Are there any plans to write some design doc on build system internals, or
to start adding javadoc comments to the code? How do new team members get to
know the code, and which direction it's going? [I can try to write up what I
learned about CDT internals for the developers FAQ, if that's any help]

Best regards,
Andras

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> Behalf Of Krasilnikov, Oleg
> Sent: Friday, December 14, 2007 6:33 PM
> To: CDT General developers list.
> Subject: RE: [cdt-dev] IManagedProject, IManagedBuildInfo,
> ICProjectDescription
> 
> Hello Andras.
> 
> I'm sure that Mikhail Sennikovsky could more useful answer.
> But now he has another work area.
> Thus, I'm not sure he can react immediately.
> 
> So I'll try to answer your questions.
> Please feel free to ask additionally.
> 
> Currently, every CDT project supports 2 abstraction levels:
> Core level: all CDT projects are to be compliant.
>                 Since CDT 4.0, configurations are supported on
>                 core level, although their implementation is specific.
> Build level: All features dependent of build mechanism.
>                 Standard CDT supports 2 kinds of them:
>                 - Managed Build System (MBS), which performs build,
> generating
>                   make files for stand-alone builder(s) or building
> files itself
>                 - Standard Build System, which refers to usual,
> user-written,
>                   make files mechainsm.
> Additionally, third-party developers provide a lot of other build
> systems, but
>                  all of them refer to CDT core functionality.
> 
> Regarding your question:
> 
> ICProjectDescription - project representation on the core
> (MBS-independent) level.
> 
> IManagedProject - project representation on the Managed Build System
> level.
> 
> IManagedBuildInfo - build info associaled with Managed Build project.
>       It is, in fact slightly obsolete way to get project
> (config-independent) properties.
> 
> 
> -----------------------------------
> With best regards, Oleg Krasilnikov
> 
> 
> 
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
> On Behalf Of Andras Varga
> Sent: Thursday, December 13, 2007 5:42 PM
> To: 'CDT General developers list.'
> Subject: [cdt-dev] IManagedProject, IManagedBuildInfo,
> ICProjectDescription
> 
> Hi all,
> 
> Can someone please enlighten me on the purpose (and differences between)
> the following classes: IManagedProject, IManagedBuildInfo,
> ICProjectDescription?
> When do I use one or the other?
> 
> They all seem to deal with configurations, e.g. ICProjectDescription and
> IManagedProject both contain createConfiguration() methods, one taking
> ICConfigurationDescription and the other IConfiguration.
> 
> Further similar classes are ManagedMakeProject (which seems to be dead,
> as there're no references to it?), and ICProject.
> 
> Thanks,
> Andras
> 
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> --------------------------------------------------------------------
> Closed Joint Stock Company Intel A/O
> Registered legal address: 125252, Moscow, Russian Federation,
> Chapayevsky Per, 14.
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top