|
33 | 33 | import org.eclipse.core.runtime.CoreException;
|
34 | 34 | import org.eclipse.core.runtime.IPath;
|
35 | 35 | import org.eclipse.core.runtime.IProgressMonitor;
|
| 36 | +import org.eclipse.core.runtime.IStatus; |
36 | 37 | import org.eclipse.core.runtime.NullProgressMonitor;
|
37 | 38 | import org.eclipse.core.runtime.Platform;
|
| 39 | +import org.eclipse.core.runtime.Status; |
38 | 40 | import org.osgi.framework.Bundle;
|
39 | 41 |
|
40 | 42 | import io.sloeber.autoBuild.api.AutoBuildCommon;
|
@@ -1128,16 +1130,33 @@ public void forceCleanBeforeBuild() {
|
1128 | 1130 | myForceCleanBeforeBuild = true;
|
1129 | 1131 | }
|
1130 | 1132 |
|
1131 |
| - public void forceFullBuildIfNeeded(IProgressMonitor monitor) throws CoreException { |
| 1133 | + public void forceFullBuildIfNeeded(IProgressMonitor monitor) { |
1132 | 1134 | if (myForceCleanBeforeBuild) {
|
1133 | 1135 | myForceCleanBeforeBuild = false;
|
1134 |
| - IFolder buildFolder = getBuildFolder(); |
1135 |
| - if (buildFolder != null && buildFolder.exists()) { |
1136 |
| - buildFolder.delete(true, monitor); |
1137 |
| - } |
1138 |
| - |
| 1136 | + deleteBuildFolder(monitor); |
1139 | 1137 | }
|
| 1138 | + } |
1140 | 1139 |
|
| 1140 | + @Override |
| 1141 | + public void deleteBuildFolder(IProgressMonitor monitor) { |
| 1142 | + //Do not delete the build folder as it may be in use with other processes (like discovery) |
| 1143 | + |
| 1144 | + IFolder buildFolder = getBuildFolder(); |
| 1145 | + if (buildFolder != null && buildFolder.exists()) { |
| 1146 | + try { |
| 1147 | + for(IResource curMember:buildFolder.members()) { |
| 1148 | + try { |
| 1149 | + curMember.delete(true, monitor); |
| 1150 | + } catch (CoreException e) { |
| 1151 | + Activator.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, |
| 1152 | + "Failed to delete member "+curMember.getName(), e)); |
| 1153 | + } |
| 1154 | + |
| 1155 | + } |
| 1156 | + } catch (CoreException e) { |
| 1157 | + e.printStackTrace(); |
| 1158 | + } |
| 1159 | + } |
1141 | 1160 | }
|
1142 | 1161 |
|
1143 | 1162 | private static String getSpecFile(String languageId) {
|
|
0 commit comments