Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-dev] How to always invoke a builder

Hi,

In my plug-in I always want to run my builder when the user manually requests a project build even when there have been no changes in the project at all. I have to do this because the tool I call in my builder itself does incremental builds. Basically I want to have the same behaviour as the Eclipse CDT Make plug-in which always invokes make. I now call forgetLastBuiltState() in my builder which actually works fine when "build automatically" is switched off.

My problem is that when automatic build is activated, my builder gets called endlessly. Here is some code to show you how my builder works:

build() {
        try {
            removeAllMarkers(project);
            runExternalTool(args, monitor, project);
            refreshProject(monitor, project);
        } catch (Exception e) {
            // error handling
        } finally {
            forgetLastBuiltState();
        }

         return null;
}

Do you know how I can accomplish that my builder is always called when requested but without the issues mentioned when automatic build is turned on? Could it be that the problem is that all three commands (remove markers, run the tool which changes workspace resources, and refresh) create resource change events which retrigger a build?

Thanks,
Michael


Back to the top