mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Bug 517581 Keep env var operation on merged vars the same.
If we are merging two env vars and the operations are both append or prepend, keep that as the operation instead of replace. Change-Id: I758a54b8903eabafac38bf2f3f7d7065c0373e70
This commit is contained in:
parent
63ff83042b
commit
d3dcd92d8f
1 changed files with 12 additions and 8 deletions
|
@ -51,15 +51,19 @@ public class EnvVarOperationProcessor {
|
|||
case IEnvironmentVariable.ENVVAR_APPEND:{
|
||||
String delimiter = added.getDelimiter();
|
||||
return new EnvironmentVariable(name,
|
||||
performAppend(initial.getValue(),added.getValue(),delimiter),
|
||||
// IEnvironmentVariable.ENVVAR_APPEND,
|
||||
performAppend(initial.getValue(), added.getValue(), delimiter),
|
||||
initial.getOperation() == IEnvironmentVariable.ENVVAR_APPEND
|
||||
? IEnvironmentVariable.ENVVAR_APPEND
|
||||
: IEnvironmentVariable.ENVVAR_REPLACE,
|
||||
delimiter);
|
||||
}
|
||||
case IEnvironmentVariable.ENVVAR_PREPEND:{
|
||||
String delimiter = added.getDelimiter();
|
||||
return new EnvironmentVariable(name,
|
||||
performPrepend(initial.getValue(),added.getValue(),delimiter),
|
||||
// IEnvironmentVariable.ENVVAR_PREPEND,
|
||||
performPrepend(initial.getValue(), added.getValue(), delimiter),
|
||||
initial.getOperation() == IEnvironmentVariable.ENVVAR_PREPEND
|
||||
? IEnvironmentVariable.ENVVAR_PREPEND
|
||||
: IEnvironmentVariable.ENVVAR_REPLACE,
|
||||
delimiter);
|
||||
}
|
||||
case IEnvironmentVariable.ENVVAR_REPLACE:
|
||||
|
@ -155,7 +159,7 @@ public class EnvVarOperationProcessor {
|
|||
static public List<String> convertToList(String value, String delimiter){
|
||||
if (value == null)
|
||||
value = ""; //$NON-NLS-1$
|
||||
List<String> list = new ArrayList<String>();
|
||||
List<String> list = new ArrayList<>();
|
||||
int delLength = delimiter.length();
|
||||
int valLength = value.length();
|
||||
|
||||
|
@ -182,7 +186,7 @@ public class EnvVarOperationProcessor {
|
|||
* removes duplicates
|
||||
*/
|
||||
static public List<String> removeDuplicates(List<String> value, List<String> duplicates){
|
||||
List<String> list = new ArrayList<String>();
|
||||
List<String> list = new ArrayList<>();
|
||||
Iterator<String> valueIter = value.iterator();
|
||||
while(valueIter.hasNext()){
|
||||
String curVal = valueIter.next();
|
||||
|
|
Loading…
Add table
Reference in a new issue