Fix eclipse autobuild order
set build order according to tea configured build order.
Change-Id: I9f58e0dd4f2b8b0dbd54fb07fd63c0e722b9b565
Signed-off-by: jkubitz <jkubitz-eclipse@gmx.de>
diff --git a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/chain/TeaBuildChain.java b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/chain/TeaBuildChain.java
index 9c26a69..7f13130 100644
--- a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/chain/TeaBuildChain.java
+++ b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/chain/TeaBuildChain.java
@@ -132,6 +132,13 @@
return chain;
}
+ public List<String> getBuildOrder() {
+ return groupedElements.values().stream()
+ .flatMap(teaBuildElement -> teaBuildElement.stream().filter(e -> e instanceof TeaBuildProjectElement)
+ .map(e -> ((TeaBuildProjectElement) e).getProject().getName()))
+ .collect(Collectors.toList());
+ }
+
/**
* Retrieve the {@link TeaBuildElement} for the given name. This can be used
* to lookup specific elements e.g. for dependency wiring.
diff --git a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/tasks/TaskBuildWorkspace.java b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/tasks/TaskBuildWorkspace.java
index 702eae2..f977384 100644
--- a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/tasks/TaskBuildWorkspace.java
+++ b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/tasks/TaskBuildWorkspace.java
@@ -48,11 +48,7 @@
TeaBuildChain chain = TeaBuildChain.make(taskContext,
Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects()));
- if (config.batchCompile) {
- // to allow parallel builds to happen at all during batch execution,
- // remove build order in workspace.
- setWorkspaceBuildOrder(null);
- }
+ setWorkspaceBuildOrder(chain.getBuildOrder());
IStatus result = chain.execute(tracker, config.failureThreshold);