From 754c2670aeca16150770bd4d84e7581897ff5119 Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Tue, 31 Mar 2026 13:27:19 +0200 Subject: [PATCH] avoid needless recompile, log firsthand problem #45 --- .../tea/library/build/util/TeaBuildUtil.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/bundles/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/TeaBuildUtil.java b/bundles/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/TeaBuildUtil.java index d7dd188..d09e1b9 100644 --- a/bundles/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/TeaBuildUtil.java +++ b/bundles/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/util/TeaBuildUtil.java @@ -118,7 +118,7 @@ public static IStatus tryCompile(TaskingLog log, TaskProgressTracker tracker, Te break; } - if (pass == 0 && status.getSeverity() > IStatus.WARNING) { + if (pass == 0) { // In case of an error in pass 0, there is a probability for // the errors to // disappear by just triggering another full build (without @@ -126,17 +126,25 @@ public static IStatus tryCompile(TaskingLog log, TaskProgressTracker tracker, Te // can be compiler confusion and dependencies between // generated artifacts. + for (IStatus s : status.getChildren()) { + if (s.getSeverity() > IStatus.WARNING) { + log.debug(s.getMessage()); + } + } + log.info(logTxt + ": fast recompile"); project.build(IncrementalProjectBuilder.FULL_BUILD, null); status = getStatus(element); - if (status.getSeverity() > IStatus.WARNING) { - for (IStatus s : status.getChildren()) { - if (s.getSeverity() > IStatus.WARNING) { - log.debug(s.getMessage()); - } - } + if (status.getSeverity() <= IStatus.WARNING) { + break; + } + } + + for (IStatus s : status.getChildren()) { + if (s.getSeverity() > IStatus.WARNING) { + log.info(s.getMessage()); } }