Fix BuckPrologCompiler to create Java 6 class files

Gerrit targets Java 6, not Java 7. If Buck is run under JDK 7
the javac compiler by default will assume -source 7 -target 7
and write incompatible class files.

Ensure the compiler builds for Java 6 language features and
Java 6 class format by passing the correct flags.

Change-Id: Ib2c013a6d1955d94b75cfd5d967d2f45ef4d5486
diff --git a/lib/prolog/java/BuckPrologCompiler.java b/lib/prolog/java/BuckPrologCompiler.java
index d23e15d..b731ea7 100644
--- a/lib/prolog/java/BuckPrologCompiler.java
+++ b/lib/prolog/java/BuckPrologCompiler.java
@@ -12,11 +12,15 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import com.googlecode.prolog_cafe.compiler.CompileException;
+import com.googlecode.prolog_cafe.compiler.Compiler;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
 import java.util.jar.JarEntry;
@@ -29,9 +33,6 @@
 import javax.tools.StandardJavaFileManager;
 import javax.tools.ToolProvider;
 
-import com.googlecode.prolog_cafe.compiler.CompileException;
-import com.googlecode.prolog_cafe.compiler.Compiler;
-
 public class BuckPrologCompiler {
   public static void main(String[] argv) throws IOException, CompileException {
     List<File> srcs = new ArrayList<File>();
@@ -82,14 +83,16 @@
         classpath.append(jar.getPath());
       }
       ArrayList<String> args = new ArrayList<String>();
-      args.add("-g:none");
-      args.add("-nowarn");
+      args.addAll(Arrays.asList(new String[]{
+          "-source", "6",
+          "-target", "6",
+          "-g:none",
+          "-nowarn",
+          "-d", classes.getPath()}));
       if (classpath.length() > 0) {
         args.add("-classpath");
         args.add(classpath.toString());
       }
-      args.add("-d");
-      args.add(classes.getPath());
       if (!javac.getTask(null, fm, d, args, null,
           fm.getJavaFileObjectsFromFiles(find(java, ".java"))).call()) {
         StringBuilder msg = new StringBuilder();