Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-core-dev] Build questions

Title: Message
60803 describes pretty much the same problem I am having.  Not surprising since we make a CDT-based product :) .  I was trying to get this level of granularity by ignoring AUTO_BUILD events in my builder.  However, since in some situations AUTO_BUILD is turned to FULL_BUILD, it doesn't work 100% of the time.  This causes a long-running (Linux kernel) build to sometimes be run at an inopportune time.  I think our problem is compounded by the fact that we use forgetLastBuildState() in our builder, which I think now causes slightly different behavior than it did in the past.  Anyways thanks for the pointer; I'll monitor bugzilla for updates.
 
  Jeremiah
-----Original Message-----
From: John Arthorne [mailto:John_Arthorne@xxxxxxxxxx]
Sent: Friday, August 27, 2004 10:28 AM
To: platform-core-dev@xxxxxxxxxxx
Subject: RE: [platform-core-dev] Build questions


To clarify, this behaviour was added in Eclipse 3.0 intentionally. There is no longer a trigger in the UI for FULL_BUILD to be kicked off. Without the line of code mentioned, it would no longer be possible to induce a FULL_BUILD. The first build after a CLEAN_BUILD would have been an incremental build (either auto or not), but with a null resource delta. Although it has always been specified that null deltas can occur, we discovered that in practice many builders were not handling it properly. Thus, when the delta is null, a FULL_BUILD now occurs. Without a delta, it is impossible to perform a correct incremental build anyway.

I acknowledge that the Eclipse build infrastructure is designed for builders that can perform incremental compilation. Builders that don't care about project deltas, but just want builders with varying types of triggers are not well served by the build manager. It is especially difficult for heterogenous workspaces where some builders are incremental and others are not. This is discussed for example in:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=60803
--

platform-core-dev-admin@xxxxxxxxxxx wrote on 08/26/2004 04:57:54 PM:

> FYI - This builder behavior also causes problems for me.  It particular,
> we would like to respond to an AUTO_BUILD request differently than an
> INCREMENTAL_BUILD or a FULL_BUILD.  However the code that Alex mentions
> changes the "kind" flag that is passed to my builder.  Therefore even
> when it is really an AUTO_BUILD, my builder sometimes gets the
> FULL_BUILD flag and therefore performs the wrong operation.  It would be
> nice if you could leave the decision to change the flag up to each
> builder individually.
>
>   Jeremiah
>
> -----Original Message-----
> From: Alex Chapiro [mailto:achapiro@xxxxxxx]
> Sent: Thursday, July 22, 2004 5:49 PM
> To: platform-core-dev@xxxxxxxxxxx
> Subject: [platform-core-dev] Build questions
>
>
> <beginning of message snipped>
> ...
>
>
>  I'm blaming in my troubles the following lines of code from
> BuildManager.basicBuild(...) method:
>
> lastBuiltTree = currentBuilder.getLastBuiltTree();
> // If no tree is available we have to do a full build
> if (!clean && lastBuiltTree == null)
>    trigger = IncrementalProjectBuilder.FULL_BUILD;
>
> in case 1) lastBuildTree is always null after CLEAN_BUILD (see below in
> the same method:
> if (clean || currentBuilder.wasForgetStateRequested()) {
>     currentBuilder.setLastBuiltTree(null);
>
> In case 2) lastBuildTree is null after forgetLastBuildState calling.
>
> Build manager should provide framework for other builders
> implementations. I don't understand why it instead of being transparent
> for user commands implements some hidden undocumented and unmodifiable
> behavior.
> Of course I realize that maybe I provide a wrong interpretation. I'd be
> happy if either I will be corrected or any work around will be advised.
>
> Sorry for the long and messy explanation of the problem.
>
> Thanks.
>
>
> _______________________________________________
> platform-core-dev mailing list
> platform-core-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-core-dev
> _______________________________________________
> platform-core-dev mailing list
> platform-core-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-core-dev

Back to the top