From 6e4b3727d910bbc2266644f7229af26e7b6328f8 Mon Sep 17 00:00:00 2001 From: rfeng Date: Tue, 3 Feb 2009 05:41:25 +0000 Subject: Produce more information about the resolution errors git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@740222 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/tools/maven/compiler/JavaCompiler.java | 3 ++- .../tools/maven/compiler/osgi/BundleResolver.java | 21 +++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'java/sca/tools') diff --git a/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java b/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java index eb33804862..f522ca291a 100644 --- a/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java +++ b/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/JavaCompiler.java @@ -189,7 +189,8 @@ public class JavaCompiler extends AbstractCompiler { stateController.assertResolved(b); getLogger().info("OSGi bundle is resolved: " + b.getSymbolicName()); } catch (BundleException e) { - getLogger().error(stateController.getAllErrors().toString()); + // getLogger().error(stateController.getAllErrors().toString()); + getLogger().error(e.getMessage()); // FIXME: For now, only a warning is reported // throw new CompilerException(e.getMessage(), e); } diff --git a/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java b/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java index b3bf4ee4cd..202e6d9a1b 100644 --- a/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java +++ b/java/sca/tools/maven/maven-eclipse-compiler/src/main/java/org/apache/tuscany/sca/tools/maven/compiler/osgi/BundleResolver.java @@ -357,12 +357,21 @@ public class BundleResolver { public void assertResolved(BundleDescription desc) throws BundleException { if (!desc.isResolved()) { StringBuffer msg = new StringBuffer(); - msg.append("Bundle ").append(desc.getSymbolicName()).append(" cannot be resolved\n"); - msg.append("Resolution errors:\n"); - ResolverError[] errors = getResolverErrors(desc); - for (int i = 0; i < errors.length; i++) { - ResolverError error = errors[i]; - msg.append(error).append("\n"); + msg.append("Bundle ").append(desc.getSymbolicName()).append(" cannot be resolved: \n"); + BundleDescription[] bundles = state.getBundles(); + int index = 0; + for (BundleDescription b : bundles) { + if (b.isResolved()) { + continue; + } + ResolverError[] errors = state.getResolverErrors(b); + if (errors.length > 0) { + msg.append("[").append(index++).append("] ").append(b.getSymbolicName()).append("\n"); + } + for (int i = 0; i < errors.length; i++) { + ResolverError error = errors[i]; + msg.append(error).append("\n"); + } } throw new BundleException(msg.toString()); -- cgit v1.2.3