Refactor Main entry point

MOE_MIGRATED_REVID=136890047
diff --git a/java/com/google/turbine/main/Main.java b/java/com/google/turbine/main/Main.java
index 2e31adc..393a021 100644
--- a/java/com/google/turbine/main/Main.java
+++ b/java/com/google/turbine/main/Main.java
@@ -54,11 +54,19 @@
   private static final int BUFFER_SIZE = 65536;
 
   public static void main(String[] args) throws IOException {
-    TurbineOptions options = TurbineOptionsParser.parse(Arrays.asList(args));
-    compile(options);
+    compile(args);
   }
 
-  public static void compile(TurbineOptions options) throws IOException {
+  public static boolean compile(String[] args) throws IOException {
+    TurbineOptions options = TurbineOptionsParser.parse(Arrays.asList(args));
+    return compile(options);
+  }
+
+  public static boolean compile(TurbineOptions options) throws IOException {
+    if (!options.processors().isEmpty()) {
+      return false;
+    }
+
     ImmutableList<CompUnit> units = parseAll(options);
 
     // TODO(cushon): reduce classpath
@@ -81,6 +89,7 @@
     }
 
     writeOutput(Paths.get(options.outputFile()), lowered.bytes());
+    return true;
   }
 
   /** Parse all source files and source jars. */