From a84395e43fc5e97e115bdb799e2000c71ba5ec1b Mon Sep 17 00:00:00 2001 From: Sean Evoy Date: Wed, 3 Mar 2004 15:09:16 +0000 Subject: [PATCH] A change in VCErrorParser to fix PR 53253 causes an IndexOutOfBounds exception when echoing a build command on Win32 if the absolute path to the make utility is specified, i.e. C:\\make.exe. The work-around is to not have the launcher echo the command, and just output it to the build console directly. --- build/org.eclipse.cdt.managedbuilder.core/ChangeLog | 8 ++++++++ .../internal/core/GeneratedMakefileBuilder.java | 11 ++++++++++- .../internal/core/PluginResources.properties | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/ChangeLog b/build/org.eclipse.cdt.managedbuilder.core/ChangeLog index 08889c3e6c9..edef64bed10 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/ChangeLog +++ b/build/org.eclipse.cdt.managedbuilder.core/ChangeLog @@ -1,3 +1,11 @@ +2004-03-02 Sean Evoy + A change in VCErrorParser to fix PR 53253 causes an IndexOutOfBounds + exception when echoing a build command on Win32 if the absolute path + to the make utility is specified, i.e. C:\\make.exe + + The work-around is to not have the launcher echo the command, and just + output it to the build console directly. + 2004-03-02 James Ciesielski Marked those strings that are non-translatable as such and externalized those strings that can be translated. There is still work to be done in diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java index ac10a67949c..1e84f6b4e43 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java @@ -348,7 +348,7 @@ public class GeneratedMakefileBuilder extends ACBuilder { // Get a launcher for the make command String errMsg = null; CommandLauncher launcher = new CommandLauncher(); - launcher.showCommand(true); + launcher.showCommand(false); // Set the environmennt, some scripts may need the CWD var to be set. Properties props = launcher.getEnvironment(); @@ -372,6 +372,15 @@ public class GeneratedMakefileBuilder extends ACBuilder { OutputStream stderr = epm.getOutputStream(); // Launch make + StringBuffer cmd = new StringBuffer(); + cmd.append(makeCommand.toOSString()); + for (int index = 0; index < makeTargets.length; ++index) { + cmd.append(' '); + cmd.append(makeTargets[index]); + } + cmd.append(System.getProperty("line.separator", "\n")); //$NON-NLS-2$ + consoleOutStream.write(cmd.toString().getBytes()); + consoleOutStream.flush(); Process proc = launcher.execute(makeCommand, makeTargets, env, workingDirectory); if (proc != null) { try { diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties index 5cb366dc1ab..920678b21c4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties @@ -17,7 +17,7 @@ ManagedMakeBuilder.message.updating = Updating project files... ManagedMakeBuilder.message.make = Calling {0} for project {1} ManagedMakeBuilder.message.creating.markers = Generating markers... ManagedMakeBuilder.message.error = Build error -ManagedMakeBuilder.message.error.refresh = Error refreshing project. +ManagedMakeBuilder.message.error.refresh = Error refreshing project ManagedMakeBuilder.message.finished = Build complete for project {0} ManagedMakeBuilder.comment.module.list = Every subdirectory with source files must be described here ManagedMakeBuilder.comment.source.list = Each subdirectory must contribute its source files here