configuration.getJointCompilationOptions().put("stubDir", tmpDir); FileSystemCompiler compiler = new FileSystemCompiler(configuration, unit); if (lookupUnnamedFiles) { for (String filename : filenames) { compiler.compile(filenames); } finally { try { if (tmpDir != null) deleteRecursive(tmpDir); } catch (Throwable t) { System.err.println("error: could not delete temp files - " + tmpDir.getPath());
/** * Same as main(args) except that exceptions are thrown out instead of causing * the VM to exit and the lookup for .groovy files can be controlled */ public static void commandLineCompile(String[] args, boolean lookupUnnamedFiles) throws Exception { CompilationOptions options = new CompilationOptions(); CommandLine parser = configureParser(options); ParseResult parseResult = parser.parseArgs(args); if (CommandLine.printHelpIfRequested(parseResult)) { return; } displayStackTraceOnError = options.printStack; CompilerConfiguration configuration = options.toCompilerConfiguration(); // Load the file name list String[] filenames = options.generateFileNames(); boolean fileNameErrors = filenames == null; if (!fileNameErrors && (filenames.length == 0)) { parser.usage(System.err); return; } fileNameErrors = fileNameErrors && !validateFiles(filenames); if (!fileNameErrors) { doCompilation(configuration, null, filenames, lookupUnnamedFiles); } }
public static boolean validateFiles(String[] filenames) { return checkFiles(filenames) == 0; }
boolean fileNameErrors = filenames == null; fileNameErrors = fileNameErrors || !FileSystemCompiler.validateFiles(filenames); FileSystemCompiler.doCompilation(configuration, makeCompileUnit(loader), filenames, forceLookupUnnamedFiles);
Options options = createCompilationOptions(); displayHelp(options); return; displayVersion(); return; CompilerConfiguration configuration = generateCompilerConfigurationFromOptions(cli); String[] filenames = generateFileNamesFromOptions(cli); boolean fileNameErrors = filenames == null; if (!fileNameErrors && (filenames.length == 0)) { displayHelp(options); return; fileNameErrors = fileNameErrors && !validateFiles(filenames); doCompilation(configuration, null, filenames, lookupUnnamedFiles);
Options options = FileSystemCompiler.createCompilationOptions(); cli = cliParser.parse(options, commandLine); configuration = FileSystemCompiler.generateCompilerConfigurationFromOptions(cli); String[] filenames = FileSystemCompiler.generateFileNamesFromOptions(cli); boolean fileNameErrors = filenames == null; fileNameErrors = fileNameErrors && !FileSystemCompiler.validateFiles(filenames); FileSystemCompiler.doCompilation(configuration, makeCompileUnit(), filenames); File tmpFile = files.next(); try { FileSystemCompiler.deleteRecursive(tmpFile); } catch (Throwable t) { System.err.println("error: could not delete temp files - " + tmpFile.getPath());
public static void doCompilation(CompilerConfiguration configuration, CompilationUnit unit, String[] filenames) throws Exception { File tmpDir = null; // if there are any joint compilation options set stub dir if not set try { if ((configuration.getJointCompilationOptions() != null) && !configuration.getJointCompilationOptions().containsKey("stubDir")) { tmpDir = createTempDir(); configuration.getJointCompilationOptions().put("stubDir", tmpDir); } FileSystemCompiler compiler = new FileSystemCompiler(configuration, unit); compiler.compile(filenames); } finally { try { if (tmpDir != null) deleteRecursive(tmpDir); } catch (Throwable t) { System.err.println("error: could not delete temp files - " + tmpDir.getPath()); } } }
displayHelp(options); return; displayVersion(); return; if( filenames.length == 0 ) displayHelp(options); return; int errors = checkFiles( filenames ); File tmpDir = createTempDir(); configuration.getJointCompilationOptions().put("stubDir",tmpDir); FileSystemCompiler compiler = new FileSystemCompiler(configuration); compiler.compile( filenames );
public static void deleteRecursive(File file) { if (!file.exists()) { return; } if (file.isFile()) { file.delete(); } else if (file.isDirectory()) { File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) { deleteRecursive(files[i]); } file.delete(); } } }
private void compile(File dir, File[] files) throws Exception { final CompilationUnit unit = new JavaAwareCompilationUnit(compilerConfiguration, compilerClassLoader, null); new FileSystemCompiler(compilerConfiguration, unit).compile(files); }
/** * Same as main(args) except that exceptions are thrown out instead of causing * the VM to exit. */ public static void commandLineCompile(String[] args) throws Exception { commandLineCompile(args, true); }
/** * Primary entry point for compiling from the command line * (using the groovyc script). * <p> * If calling inside a process and you don't want the JVM to exit on an * error call commandLineCompile(String[]), which this method simply wraps * * @param args command line arguments */ public static void main(String[] args) { commandLineCompileWithErrorHandling(args, true); }
public static void doCompilation(CompilerConfiguration configuration, CompilationUnit unit, String[] filenames) throws Exception { doCompilation(configuration, unit, filenames, true); }
protected void runTest(String[] names) throws Exception { List files = new ArrayList(); for (int i = 0; i < names.length; i++) { String name = names[i]; File file = new File("src/test/groovy/" + name); files.add(file); assertTrue("Could not find source file: " + file, file.exists()); } compiler.compile((File[]) files.toArray(new File[names.length])); }
protected void setUp() throws Exception { File dir = new File("target/test-generated-classes"); dir.mkdirs(); Map options = new HashMap(); options.put("stubDir", dir); CompilerConfiguration configuration = new CompilerConfiguration(); configuration.setTargetDirectory(dir); configuration.setVerbose(dumpClass); configuration.setJointCompilationOptions(options); compiler = new FileSystemCompiler(configuration); }
/** Prints version information to stderr. * @see #displayVersion(PrintWriter) */ public static void displayVersion() { displayVersion(new PrintWriter(System.err, true)); }
/** Prints the usage help message for {@link CompilationOptions} to stderr. * @see #displayHelp(PrintWriter) * @since 2.5 */ public static void displayHelp() { displayHelp(new PrintWriter(System.err, true)); }
Options options = createCompilationOptions(); displayHelp(options); return; displayVersion(); return; CompilerConfiguration configuration = generateCompilerConfigurationFromOptions(cli); String[] filenames = generateFileNamesFromOptions(cli); boolean fileNameErrors = filenames == null; if (!fileNameErrors && (filenames.length == 0)) { displayHelp(options); return; fileNameErrors = fileNameErrors && !validateFiles(filenames); doCompilation(configuration, null, filenames);
Options options = FileSystemCompiler.createCompilationOptions(); cli = cliParser.parse(options, commandLine); configuration = FileSystemCompiler.generateCompilerConfigurationFromOptions(cli); configuration.setScriptExtensions(getScriptExtensions()); String tmpExtension = getScriptExtension(); String[] filenames = FileSystemCompiler.generateFileNamesFromOptions(cli); boolean fileNameErrors = filenames == null; fileNameErrors = fileNameErrors && !FileSystemCompiler.validateFiles(filenames); FileSystemCompiler.doCompilation(configuration, makeCompileUnit(), filenames, false); for (File temporaryFile : temporaryFiles) { try { FileSystemCompiler.deleteRecursive(temporaryFile); } catch (Throwable t) { System.err.println("error: could not delete temp files - " + temporaryFile.getPath());
public static void doCompilation(CompilerConfiguration configuration, CompilationUnit unit, String[] filenames) throws Exception { File tmpDir = null; // if there are any joint compilation options set stubDir if not set try { if ((configuration.getJointCompilationOptions() != null) && !configuration.getJointCompilationOptions().containsKey("stubDir")) { tmpDir = createTempDir(); configuration.getJointCompilationOptions().put("stubDir", tmpDir); } FileSystemCompiler compiler = new FileSystemCompiler(configuration, unit); compiler.compile(filenames); } finally { try { if (tmpDir != null) deleteRecursive(tmpDir); } catch (Throwable t) { System.err.println("error: could not delete temp files - " + tmpDir.getPath()); } } }