diff options
4 files changed, 38 insertions, 10 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF b/build/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF index 7e843ce629a..bb90a81f342 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF +++ b/build/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.managedbuilder.core; singleton:=true -Bundle-Version: 8.6.1.qualifier +Bundle-Version: 8.6.2.qualifier Bundle-Activator: org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java index d1c6b57d320..dada8d82a19 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2016 Intel Corporation and others. + * Copyright (c) 2005, 2019 Intel Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -12,6 +12,7 @@ * Intel Corporation - Initial API and implementation * IBM Corporation * Marc-Andre Laperle + * EclipseSource *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; @@ -131,6 +132,10 @@ public class AdditionalInput implements IAdditionalInput { * @param additionalInput The existing AdditionalInput to clone. */ public AdditionalInput(IInputType parent, AdditionalInput additionalInput) { + this(parent, additionalInput, false); + } + + public AdditionalInput(IInputType parent, AdditionalInput additionalInput, boolean retainRebuildState) { this.fParent = parent; fIsExtensionAdditionalInput = false; @@ -143,8 +148,13 @@ public class AdditionalInput implements IAdditionalInput { fKind = additionalInput.fKind; } - setDirty(true); - setRebuildState(true); + if (retainRebuildState) { + setDirty(additionalInput.fIsDirty); + setRebuildState(additionalInput.fRebuildState); + } else { + setDirty(true); + setRebuildState(true); + } } /* diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputOrder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputOrder.java index d03131f5781..7b4444988c5 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputOrder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputOrder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2016 Intel Corporation and others. + * Copyright (c) 2005, 2019 Intel Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -11,6 +11,7 @@ * Contributors: * Intel Corporation - Initial API and implementation * IBM Corporation + * EclipseSource *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; @@ -93,6 +94,17 @@ public class InputOrder implements IInputOrder { * @param inputOrder The existing InputOrder to clone. */ public InputOrder(IInputType parent, InputOrder inputOrder) { + this(parent, inputOrder, false); + } + + /** + * Create an <code>InputOrder</code> based upon an existing InputOrder. + * + * @param parent The <code>IInputType</code> the InputOrder will be added to. + * @param inputOrder The existing InputOrder to clone. + * @param retainRebuildState Whether or not to retain the <code>rebuildState</code> and <code>dirty</code> state of <code>inputOrder</code>. + */ + public InputOrder(IInputType parent, InputOrder inputOrder, boolean retainRebuildState) { this.fParent = parent; fIsExtensionInputOrder = false; @@ -109,8 +121,13 @@ public class InputOrder implements IInputOrder { fExcluded = inputOrder.fExcluded; } - setDirty(true); - setRebuildState(true); + if (retainRebuildState) { + setDirty(inputOrder.fIsDirty); + setRebuildState(inputOrder.fRebuildState); + } else { + setDirty(true); + setRebuildState(true); + } } /* diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputType.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputType.java index 843b7c3852f..ebcfc85df2f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputType.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/InputType.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2016 Intel Corporation and others. + * Copyright (c) 2005, 2019 Intel Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -11,6 +11,7 @@ * Contributors: * Intel Corporation - Initial API and implementation * IBM Corporation + * EclipseSource *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; @@ -282,13 +283,13 @@ public class InputType extends BuildObject implements IInputType { // Clone the children if (inputType.inputOrderList != null) { for (InputOrder inputOrder : inputType.getInputOrderList()) { - InputOrder newInputOrder = new InputOrder(this, inputOrder); + InputOrder newInputOrder = new InputOrder(this, inputOrder, copyIds); getInputOrderList().add(newInputOrder); } } if (inputType.additionalInputList != null) { for (AdditionalInput additionalInput : inputType.getAdditionalInputList()) { - AdditionalInput newAdditionalInput = new AdditionalInput(this, additionalInput); + AdditionalInput newAdditionalInput = new AdditionalInput(this, additionalInput, copyIds); getAdditionalInputList().add(newAdditionalInput); } } |