From 3e716729387ad65977855cfa02cca20f75296d50 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Wed, 25 Apr 2007 08:33:32 +0000 Subject: [PATCH] Fix for [Bug 183863] Makefile generation is switched on for the target build in case of the managed build capable builder is being used for the configuration --- .../cdt/managedbuilder/internal/core/Builder.java | 14 +++++++++++--- .../internal/core/BuilderFactory.java | 10 +++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java index 231e67c22b1..a1a2a8cd427 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java @@ -2065,12 +2065,20 @@ public class Builder extends BuildObject implements IBuilder, IMatchKeyProvider else if(!cfg.supportsBuild(false)) return true; } + + Boolean attr = getManagedBuildOnAttribute(); + if(attr != null) + return attr.booleanValue(); + return true; + } + + public Boolean getManagedBuildOnAttribute(){ if(managedBuildOn == null){ if(superClass != null) - return superClass.isManagedBuildOn(); - return true; + return ((Builder)superClass).getManagedBuildOnAttribute(); + return null; } - return managedBuildOn.booleanValue(); + return managedBuildOn; } public void setManagedBuildOn(boolean on) throws CoreException { diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/BuilderFactory.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/BuilderFactory.java index f31d2fc5391..1f87a644260 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/BuilderFactory.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/BuilderFactory.java @@ -278,9 +278,17 @@ public class BuilderFactory { args.put(IBuilder.ID, ManagedBuildManager.calculateChildId(cfg.getId(), null)); MapStorageElement el = new BuildArgsStorageElement(args, null); Builder builder = new Builder(tCh, el, ManagedBuildManager.getVersion().toString()); + IBuilder cfgBuilder = cfg.getEditableBuilder(); if(builder.getBuildPathAttribute() == null){ //set the build path from the cfg settings - builder.setBuildPath(cfg.getEditableBuilder().getBuildPath()); + builder.setBuildPath(cfgBuilder.getBuildPath()); + } + if(builder.getManagedBuildOnAttribute() == null){ + try { + builder.setManagedBuildOn(cfgBuilder.isManagedBuildOn()); + } catch (CoreException e) { + ManagedBuilderCorePlugin.log(e); + } } return builder; }