commit | 25ae3615daa64fc8f74c423671d1cc3b1f02c399 | [log] [tgz] |
---|---|---|
author | lgoubet <laurent.goubet@obeo.fr> | Mon Aug 31 14:47:41 2020 +0200 |
committer | lgoubet <laurent.goubet@obeo.fr> | Mon Aug 31 14:47:41 2020 +0200 |
tree | 9bea444097a85c1bbcf600d38b2c8189390ce024 | |
parent | 6926c74d1c41c07ab174bfcbc648c0612e980317 [diff] |
Delete sub-projects first when cleaning up test workspace Change-Id: I4ab448ed6b81e139cc8a1fc44cc296c8ee186625
diff --git a/plugins/org.eclipse.emf.compare.ide.ui.tests.git.framework/src/org/eclipse/emf/compare/ide/ui/tests/git/framework/internal/statements/InternalGitTestSupport.java b/plugins/org.eclipse.emf.compare.ide.ui.tests.git.framework/src/org/eclipse/emf/compare/ide/ui/tests/git/framework/internal/statements/InternalGitTestSupport.java index 1a129dd..560f99f 100644 --- a/plugins/org.eclipse.emf.compare.ide.ui.tests.git.framework/src/org/eclipse/emf/compare/ide/ui/tests/git/framework/internal/statements/InternalGitTestSupport.java +++ b/plugins/org.eclipse.emf.compare.ide.ui.tests.git.framework/src/org/eclipse/emf/compare/ide/ui/tests/git/framework/internal/statements/InternalGitTestSupport.java
@@ -345,8 +345,15 @@ } new DisconnectProviderOperation(disconnectMe).execute(null); - for (IProject iProject : ResourcesPlugin.getWorkspace().getRoot().getProjects()) { - iProject.delete(true, new NullProgressMonitor()); + // Delete sub-projects first + List<IProject> allProjects = new ArrayList<>( + Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects())); + allProjects.sort((p1, p2) -> p2.getLocation().toString().compareTo(p1.getLocation().toString())); + + for (IProject iProject : allProjects) { + if (iProject.isAccessible()) { + iProject.delete(true, new NullProgressMonitor()); + } } ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());