You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/10/03 16:02:48 UTC
svn commit: r1393496 -
/cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java
Author: dkulp
Date: Wed Oct 3 14:02:48 2012
New Revision: 1393496
URL: http://svn.apache.org/viewvc?rev=1393496&view=rev
Log:
Add some extra diagnostics to the java6 compilation
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java?rev=1393496&r1=1393495&r2=1393496&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/common/util/Compiler.java Wed Oct 3 14:02:48 2012
@@ -25,8 +25,11 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.LinkedList;
import java.util.List;
+import javax.tools.Diagnostic;
+import javax.tools.DiagnosticListener;
import javax.tools.JavaCompiler;
import javax.tools.JavaCompiler.CompilationTask;
import javax.tools.JavaFileObject;
@@ -44,10 +47,19 @@ public class Compiler {
private String encoding;
private boolean forceFork = Boolean.getBoolean(Compiler.class.getName() + "-fork");
private File classpathTmpFile;
+ private List<String> errors = new LinkedList<String>();
+ private List<String> warnings = new LinkedList<String>();
public Compiler() {
}
+ public List<String> getErrors() {
+ return errors;
+ }
+ public List<String> getWarnings() {
+ return warnings;
+ }
+
public void setMaxMemory(long l) {
maxMemory = l;
}
@@ -181,7 +193,28 @@ public class Compiler {
List<String> args = new ArrayList<String>();
addArgs(args);
- CompilationTask task = compiler.getTask(null, fileManager, null, args, null, fileList);
+ DiagnosticListener<JavaFileObject> listener = new DiagnosticListener<JavaFileObject>() {
+ public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+ switch (diagnostic.getKind()) {
+ case ERROR:
+ errors.add(diagnostic.toString());
+ if (verbose) {
+ System.err.println(diagnostic.toString());
+ }
+ break;
+ case WARNING:
+ case MANDATORY_WARNING:
+ warnings.add(diagnostic.toString());
+ if (verbose) {
+ System.err.println(diagnostic.toString());
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ };
+ CompilationTask task = compiler.getTask(null, fileManager, listener , args, null, fileList);
Boolean ret = task.call();
try {
fileManager.close();
@@ -189,6 +222,7 @@ public class Compiler {
System.err.print("[ERROR] IOException during compiling.");
e.printStackTrace();
}
+
return ret;
}