Skip to content

Commit d144c2f

Browse files
author
jantje
committed
1 parent af7c84b commit d144c2f

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

io.sloeber.core/src/io/sloeber/core/api/SloeberProject.java

+10-5
Original file line numberDiff line numberDiff line change
@@ -406,10 +406,11 @@ public boolean configure(ICProjectDescription prjCDesc, boolean prjDescWritable)
406406
}
407407
if (prjDescWritable) {
408408
if (myNeedsSyncWithCDT) {
409-
saveProjDesc = syncWithCDT(prjCDesc, prjDescWritable);
409+
saveProjDesc = saveProjDesc || syncWithCDT(prjCDesc, prjDescWritable);
410410
}
411411
if (myNeedsClean) {
412-
cleanOldData(prjCDesc);
412+
myNeedsClean = cleanOldData(prjCDesc);
413+
saveProjDesc = saveProjDesc || myNeedsClean;
413414
}
414415
}
415416
return saveProjDesc;
@@ -425,7 +426,8 @@ public boolean configure(ICProjectDescription prjCDesc, boolean prjDescWritable)
425426
if (myNeedsClean) {
426427
// we migrated from a previous sloeber configuration
427428
// and we can safely delete the old data
428-
cleanOldData(prjCDesc);
429+
myNeedsClean = cleanOldData(prjCDesc);
430+
saveProjDesc = saveProjDesc || myNeedsClean;
429431
}
430432
if (myNeedsSyncWithCDT) {
431433
saveProjDesc = saveProjDesc || syncWithCDT(prjCDesc, prjDescWritable);
@@ -451,21 +453,24 @@ private boolean syncWithCDT(ICProjectDescription prjCDesc, boolean prjDescWritab
451453
* @param prjCDesc
452454
* @return
453455
*/
454-
private void cleanOldData(ICProjectDescription prjCDesc) {
456+
private boolean cleanOldData(ICProjectDescription prjCDesc) {
457+
boolean needsClean = false;
455458
IEnvironmentVariableManager envManager = CCorePlugin.getDefault().getBuildEnvironmentManager();
456459
IContributedEnvironment contribEnv = envManager.getContributedEnvironment();
457460
for (ICConfigurationDescription confDesc : prjCDesc.getConfigurations()) {
458461
IEnvironmentVariable[] CurVariables = contribEnv.getVariables(confDesc);
459462
for (int i = (CurVariables.length - 1); i > 0; i--) {
460463
if (CurVariables[i].getName().startsWith("A.")) { //$NON-NLS-1$
461464
contribEnv.removeVariable(CurVariables[i].getName(), confDesc);
465+
needsClean = true;
462466
}
463467
if (CurVariables[i].getName().startsWith("JANTJE.")) { //$NON-NLS-1$
464468
contribEnv.removeVariable(CurVariables[i].getName(), confDesc);
469+
needsClean = true;
465470
}
466471
}
467472
}
468-
myNeedsClean = false;
473+
return needsClean;
469474
}
470475

471476
/**

0 commit comments

Comments
 (0)