1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

1. Fix for the [Bug 189301] Regression: Build Make Target adds -k flag

2. additional small bug-fixes to the custom builder mechanism
This commit is contained in:
Mikhail Sennikovsky 2007-05-31 13:31:39 +00:00
parent fb0d03553c
commit a415f36011
2 changed files with 28 additions and 6 deletions

View file

@ -873,7 +873,7 @@ public class Builder extends BuildObject implements IBuilder, IMatchKeyProvider
}
if (getArgumentsAttribute() != null) {
element.setAttribute(IBuilder.ARGUMENTS, getArgumentsAttribute());
element.setAttribute(IBuilder.ARGUMENTS, getArguments/*Attribute*/());
}
if(getAutoBuildTargetAttribute() != null)
@ -990,6 +990,12 @@ public class Builder extends BuildObject implements IBuilder, IMatchKeyProvider
String stopOnErrCmd = getStopOnErrCmd(isStopOnError());
String parallelBuildCmd = isParallelBuildOn() ? getParallelizationCmd(getParallelizationNum()) : EMPTY_STRING;
String reversedStopOnErrCmd = getStopOnErrCmd(!isStopOnError());
String reversedParallelBuildCmd = !isParallelBuildOn() ? getParallelizationCmd(getParallelizationNum()) : EMPTY_STRING;
args = removeCmd(args, reversedStopOnErrCmd);
args = removeCmd(args, reversedParallelBuildCmd);
args = addCmd(args, stopOnErrCmd);
args = addCmd(args, parallelBuildCmd);

View file

@ -59,6 +59,7 @@ public class BuilderFactory {
static final String CONTENTS_BUILDER = PREFIX + ".builder"; //$NON-NLS-1$
static final String CONTENTS_BUILDER_CUSTOMIZATION = PREFIX + ".builderCustomization"; //$NON-NLS-1$
static final String CONTENTS_CONFIGURATION_IDS = PREFIX + ".configurationIds"; //$NON-NLS-1$
static final String CONTENTS_ACTIVE_CFG_SETTINGS = PREFIX + ".activeConfigSettings"; //$NON-NLS-1$
// static final String IDS = PREFIX + ".ids"; //$NON-NLS-1$
static final String CONFIGURATION_IDS = PREFIX + ".configurationIds"; //$NON-NLS-1$
@ -227,7 +228,10 @@ public class BuilderFactory {
Boolean d = Boolean.valueOf(builder.isDefaultBuildCmd());
el.setAttribute(BuilderFactory.USE_DEFAULT_BUILD_CMD, d.toString());
return el.toStringMap();
Map map = el.toStringMap();
map.put(CONTENTS, CONTENTS_ACTIVE_CFG_SETTINGS);
return map;
}
public static IBuilder createCustomBuilder(IConfiguration cfg, String builderId) throws CoreException{
@ -311,9 +315,14 @@ public class BuilderFactory {
args.remove(ErrorParserManager.PREF_ERROR_PARSER);
tmp = (String)args.get(USE_DEFAULT_BUILD_CMD);
if(tmp != null && Boolean.valueOf(tmp).equals(Boolean.TRUE)){
args.remove(IMakeCommonBuildInfo.BUILD_COMMAND);
args.remove(IMakeCommonBuildInfo.BUILD_ARGUMENTS);
if(tmp != null){
if(Boolean.valueOf(tmp).equals(Boolean.TRUE)){
args.remove(IMakeCommonBuildInfo.BUILD_COMMAND);
args.remove(IMakeCommonBuildInfo.BUILD_ARGUMENTS);
} else {
args.put(IBuilder.ATTRIBUTE_IGNORE_ERR_CMD, "");
args.put(IBuilder.ATTRIBUTE_PARALLEL_BUILD_CMD, "");
}
}
//end adjusting settings
@ -349,7 +358,13 @@ public class BuilderFactory {
builder = createBuilder(cfg, args, true);
}
builders = new IBuilder[]{builder};
//TODO:
} else if (CONTENTS_ACTIVE_CFG_SETTINGS.equals(type)) {
IConfiguration cfg = info.getDefaultConfiguration();
IBuilder builder = cfg.getEditableBuilder();
builders = new IBuilder[]{builder};
} else if (CONTENTS_BUILDER.equals(type)){
IConfiguration cfgs[] = configsFromMap(args, info);
if(cfgs.length != 0){
@ -416,6 +431,7 @@ public class BuilderFactory {
}
return NO_CHANGES;
}
public static boolean applyBuilder(ICommand cmd, IBuilder builder) {
Map oldMap = cmd.getArguments();
Map map = builderBuildArgsMap(builder);