From 70e982f80180e46d967fab294e3f5f7cdf9d0687 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Thu, 4 Sep 2003 17:41:21 +0000 Subject: [PATCH] fixed builder and added move status messages --- .../org/eclipse/cdt/make/core/MakeBuilder.java | 17 ++++++++--------- .../cdt/make/core/PluginResources.properties | 3 ++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java index 6a0ab979753..c5df3664183 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java @@ -93,7 +93,6 @@ public class MakeBuilder extends ACBuilder { private boolean invokeMake(int kind, IMakeBuilderInfo info, IProgressMonitor monitor) { boolean isClean = false; IProject currProject = getProject(); - SubProgressMonitor subMonitor = null; if (monitor == null) { monitor = new NullProgressMonitor(); @@ -115,9 +114,9 @@ public class MakeBuilder extends ACBuilder { String[] targets = getTargets(kind, info); if (targets.length != 0 && targets[targets.length - 1].equals("clean")) //$NON-NLS-1$ isClean = true; + // Before launching give visual cues via the monitor - subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN); - subMonitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Invoking_Command") + buildCommand.toString()); //$NON-NLS-1$ + monitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Invoking_Command") + buildCommand.toString()); //$NON-NLS-1$ String errMsg = null; CommandLauncher launcher = new CommandLauncher(); @@ -167,13 +166,13 @@ public class MakeBuilder extends ACBuilder { p.getOutputStream().close(); } catch (IOException e) { } - if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK) + if (launcher.waitAndRead(stdout, stderr, new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)) != CommandLauncher.OK) errMsg = launcher.getErrorMessage(); - subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN); - subMonitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Updating_project")); //$NON-NLS-1$ + monitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Updating_project")); //$NON-NLS-1$ try { + currProject.refreshLocal(IResource.DEPTH_INFINITE, null); // Do not allow the cancel of the refresh, since the builder is external // to Eclipse, files may have been created/modified and we will be out-of-sync. // The caveat is for hugue projects, it may take sometimes at every build. @@ -202,14 +201,14 @@ public class MakeBuilder extends ACBuilder { stdout.close(); stderr.close(); + monitor.subTask(MakeCorePlugin.getResourceString("MakeBuilder.Creating_Markers")); //$NON-NLS-1$ epm.reportProblems(); - - subMonitor.done(); } } catch (Exception e) { CCorePlugin.log(e); + } finally { + monitor.done(); } - monitor.done(); return (isClean); } diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/PluginResources.properties b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/PluginResources.properties index e0fefdabd7e..6c204e2ff15 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/PluginResources.properties +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/PluginResources.properties @@ -1,8 +1,9 @@ MakeBuilder.buildError=Error launching builder ({0}) -MakeBuilder.Invoking_Make_Builder=Invoking Make Builder: +MakeBuilder.Invoking_Make_Builder=Invoking Make Builder... MakeBuilder.Invoking_Command=Invoking Command: MakeBuilder.Updating_project=Updating project... +MakeBuidler.Creating_Markers=Generating markers... BuildInfoFactory.Missing_Builder=Missing Builder: