From 2feaf3a8ea747341ccf9b2b6036ce226e25805c8 Mon Sep 17 00:00:00 2001 From: Mark Hoffmann Date: Fri, 16 Feb 2024 13:48:24 +0100 Subject: [PATCH] fixes #5982 - delegate error message Signed-off-by: Mark Hoffmann --- bndtools.core/src/bndtools/launch/util/LaunchUtils.java | 7 +++++++ bndtools.m2e/src/bndtools/m2e/MavenRunProvider.java | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bndtools.core/src/bndtools/launch/util/LaunchUtils.java b/bndtools.core/src/bndtools/launch/util/LaunchUtils.java index 927338d6f6..8389dc83e5 100644 --- a/bndtools.core/src/bndtools/launch/util/LaunchUtils.java +++ b/bndtools.core/src/bndtools/launch/util/LaunchUtils.java @@ -68,6 +68,7 @@ public static Run createRun(ILaunchConfiguration configuration, RunMode mode) th public static Run createRun(IResource targetResource, RunMode mode) throws Exception { Run run = null; + String error = null; for (RunProvider runProvider : getRunProviders()) { try { if ((run = runProvider.create(targetResource, mode)) != null) { @@ -76,6 +77,9 @@ public static Run createRun(IResource targetResource, RunMode mode) throws Excep } catch (CoreException e) { StatusManager.getManager() .handle(e.getStatus(), StatusManager.BLOCK); + } catch (IllegalStateException ise) { + error = ise.getMessage(); + logger.logError("Error in run listener", ise); } catch (Throwable t) { logger.logError("Error in run listener", t); } @@ -86,6 +90,9 @@ public static Run createRun(IResource targetResource, RunMode mode) throws Excep targetResource.getLocation())); } + if (error != null) { + run.error(error); + } RunMode.set(run, mode); for (RunListener runListener : getRunListeners()) { diff --git a/bndtools.m2e/src/bndtools/m2e/MavenRunProvider.java b/bndtools.m2e/src/bndtools/m2e/MavenRunProvider.java index 7569e6130a..587bda2245 100644 --- a/bndtools.m2e/src/bndtools/m2e/MavenRunProvider.java +++ b/bndtools.m2e/src/bndtools/m2e/MavenRunProvider.java @@ -138,8 +138,10 @@ private Bndrun create0(IResource targetResource, IMavenProjectFacade projectFaca return mavenBndrunContainer.init(bndrunFile, mode.name(), new File(mavenProject.getBuild() .getDirectory())); + } else { + throw new IllegalStateException(String + .format("Cannot find a resolver configuration for '%s' in pom.xml.", targetResource.getName())); } - break; case TEST : if ((mojoExecution = getBndTestingMojoExecution(maven, projectFacade, bndrunMatchs, monitor)) != null) {