Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT build config references versus Platform project references

Hi

On 7 August 2012 14:55, Belyavsky, Baltasar <bbelyavsky@xxxxxx> wrote:
> The Platform references were already removed from CDT build flow at some
> point in the past, but that change was reverted because it broke some
> scenarios.
>
> Take a look at https://bugs.eclipse.org/bugs/show_bug.cgi?id=291751, which
> was reverted because it introduced
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=317402.

No no, this isn't related to platform configuration refs. The change in CDT 6 was really a hack (the issue is explained in: https://bugs.eclipse.org/317402#c3)

The build config reference code that John will hopefully commit doesn't suffer from this bug, and should fix both bug 291751 and  and bug 317402.

> Another problem is that the indexer still uses the Platform project
> references – removing the Platform references currently causes the indexer
> to ignore referenced projects even if the CDT build-configuration references
> are in place.

Really?  Even if this is the case, it shouldn't matter.  The platform project references were retrofitted so that they are now built on top of the configuration level references.  

This is because secretly all projects in Eclipse now have at least one configuration.  So:
Project A   ---Depends on----> Project B
is actually
Project A<Default Configuratio> -----Depends on----> Project B:Default Configuration

See:
http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2FresAdv_buildconfigs.htm
As each project must have at least one build configuration, it's not possible to remove all configurations from a project. Doing so automatically re-adds the default build configuration, with name: "".

(I know I'm cheating by citing a document I wrote ;) )

Platform Build Configurations really are the building block for project level references, not a bolt-on afterthought.  

See how it's implemented for project level refs:
https://github.com/eclipse/eclipse.platform.resources/blob/master/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Project.java#L519
https://github.com/eclipse/eclipse.platform.resources/blob/master/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/ProjectDescription.java#L189

I think the main outstanding issue with build configs is that CDT master isn't using it :)

Cheers,
James

Back to the top