diff options
2 files changed, 11 insertions, 3 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/CommandBuilder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/CommandBuilder.java index 7bcec107c79..bc924ce04df 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/CommandBuilder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/CommandBuilder.java @@ -23,6 +23,7 @@ import org.eclipse.cdt.core.ICommandLauncher; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildCommand; import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin; import org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeMessages; +import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -47,6 +48,8 @@ public class CommandBuilder implements IBuildModelBuilder { private Process fProcess; private String fErrMsg; + private IProject fProject; + protected class OutputStreamWrapper extends OutputStream { private OutputStream fOut; @@ -80,8 +83,9 @@ public class CommandBuilder implements IBuildModelBuilder { } - public CommandBuilder(IBuildCommand cmd, IResourceRebuildStateContainer cr){ + public CommandBuilder(IBuildCommand cmd, IResourceRebuildStateContainer cr, IProject project){ fCmd = cmd; + fProject = project; } protected OutputStream wrap(OutputStream out){ @@ -143,7 +147,7 @@ public class CommandBuilder implements IBuildModelBuilder { } protected ICommandLauncher createLauncher() { - return CommandLauncherFactoryManager.getInstance().getCommandLauncher(); + return CommandLauncherFactoryManager.getInstance().getCommandLauncher(fProject); } public String getErrMsg() { diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/StepBuilder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/StepBuilder.java index 9773bec0aac..b40ae1ccc68 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/StepBuilder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/StepBuilder.java @@ -17,7 +17,9 @@ import org.eclipse.cdt.managedbuilder.buildmodel.IBuildCommand; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildDescription; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildResource; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildStep; +import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; @@ -223,8 +225,10 @@ public class StepBuilder implements IBuildModelBuilder { fCommandBuilders = new CommandBuilder[0]; else { fCommandBuilders = new CommandBuilder[cmds.length]; + IConfiguration cfg = fStep.getBuildDescription().getConfiguration(); + IProject project = (IProject)cfg.getOwner(); for(int i = 0; i < cmds.length; i++){ - fCommandBuilders[i] = new CommandBuilder(cmds[i], fRebuildStateContainer); + fCommandBuilders[i] = new CommandBuilder(cmds[i], fRebuildStateContainer, project); } } } |