From 689ad9f6ec4ed40cafccf60aae2ec866203b321b Mon Sep 17 00:00:00 2001 From: William Riley Date: Tue, 13 Feb 2018 16:42:33 +0000 Subject: [PATCH] Bug 531043 - Display errors/warning count for makefile & cmake builds Change-Id: I8b2ab525af137ddd890f5713a3278cce6d17bffd Signed-off-by: William Riley --- .../core/internal/CMakeBuildConfiguration.java | 15 ++++++++------- .../cdt/cmake/core/internal/messages.properties | 2 +- .../core/build/StandardBuildConfiguration.java | 7 ++++--- .../cdt/internal/core/build/messages.properties | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeBuildConfiguration.java b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeBuildConfiguration.java index fbaaa6c81ce..fab83820cc1 100644 --- a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeBuildConfiguration.java +++ b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/CMakeBuildConfiguration.java @@ -200,15 +200,16 @@ public class CMakeBuildConfiguration extends CBuildConfiguration { Process process = processBuilder.start(); outStream.write(String.join(" ", command) + '\n'); //$NON-NLS-1$ watchProcess(process, new IConsoleParser[] { epm }); + + project.refreshLocal(IResource.DEPTH_INFINITE, monitor); + + // Load compile_commands.json file + processCompileCommandsFile(monitor); + + outStream.write(String.format(Messages.CMakeBuildConfiguration_BuildingComplete, epm.getErrorCount(), + epm.getWarningCount(), buildDir.toString())); } - project.refreshLocal(IResource.DEPTH_INFINITE, monitor); - - // Load compile_commands.json file - processCompileCommandsFile(monitor); - - outStream.write(String.format(Messages.CMakeBuildConfiguration_BuildingComplete, buildDir.toString())); - return new IProject[] { project }; } catch (IOException e) { throw new CoreException(Activator.errorStatus(String.format(Messages.CMakeBuildConfiguration_Building, project.getName()), e)); diff --git a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/messages.properties b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/messages.properties index db58245796d..a1feb4b8bf2 100644 --- a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/messages.properties +++ b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/internal/messages.properties @@ -7,7 +7,7 @@ ################################################################################ CMakeBuildConfiguration_Building=Building %s CMakeBuildConfiguration_BuildingIn=Building in: %s\n -CMakeBuildConfiguration_BuildingComplete=Build complete: %s\n +CMakeBuildConfiguration_BuildingComplete=Build complete (%d errors, %d warnings): %s\n: CMakeBuildConfiguration_Cleaning=Cleaning %s CMakeBuildConfiguration_NotFound=CMakeFiles not found. Assuming clean. CMakeBuildConfiguration_NoToolchainFile=No CMake toolchain file found for this target. diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java index 5aecc329e46..e8716ada7da 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java @@ -264,11 +264,12 @@ public class StandardBuildConfiguration extends CBuildConfiguration { Process process = processBuilder.start(); IConsoleParser[] consoleParsers = new IConsoleParser[] { epm, this }; watchProcess(process, consoleParsers); + project.refreshLocal(IResource.DEPTH_INFINITE, monitor); + + outStream.write(String.format(Messages.StandardBuildConfiguration_1, epm.getErrorCount(), + epm.getWarningCount(), buildDir.toString())); } - project.refreshLocal(IResource.DEPTH_INFINITE, monitor); - - outStream.write(String.format(Messages.StandardBuildConfiguration_1, buildDir.toString())); return new IProject[] { project }; } catch (IOException e) { diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/messages.properties b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/messages.properties index f8f6780ef99..3313cbe5a6a 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/messages.properties +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/build/messages.properties @@ -10,7 +10,7 @@ CBuilder_ExceptionWhileBuilding2=Exception while building CBuilder_NotConfiguredCorrectly=Build not configured correctly\n CBuilder_NotConfiguredCorrectly2=Build not configured correctly\n StandardBuildConfiguration_0=Building in: %s\n -StandardBuildConfiguration_1=Build complete: %s\n +StandardBuildConfiguration_1=Build complete (%d errors, %d warnings): %s\n StandardBuildConfiguration_CommandNotFound=Error: build command '%s' not found CBuildConfiguration_CreateJob=Create Build Folder CBuildConfiguration_Location=line %d, external location: %s