Class FileSystemCompiler

java.lang.Object
org.codehaus.groovy.tools.FileSystemCompiler

public class FileSystemCompiler extends Object
Command-line compiler (aka. groovyc).
  • Constructor Details

    • FileSystemCompiler

      public FileSystemCompiler(CompilerConfiguration configuration) throws ConfigurationException
      Creates a file-system compiler using the supplied configuration.
      Parameters:
      configuration - the compiler configuration to apply
      Throws:
      ConfigurationException - if the compilation unit cannot be created
    • FileSystemCompiler

      public FileSystemCompiler(CompilerConfiguration configuration, CompilationUnit cu) throws ConfigurationException
      Creates a file-system compiler using the supplied configuration and optional prebuilt compilation unit.
      Parameters:
      configuration - the compiler configuration to apply
      cu - an existing compilation unit to reuse, or null to build a suitable one
      Throws:
      ConfigurationException - if the compilation unit cannot be created
  • Method Details

    • displayHelp

      public static void displayHelp()
      Prints the usage help message for FileSystemCompiler.CompilationOptions to stderr.
      Since:
      2.5
      See Also:
    • displayHelp

      public static void displayHelp(PrintWriter writer)
      Prints the usage help message for the FileSystemCompiler.CompilationOptions to the specified PrintWriter.
      Since:
      2.5
    • displayVersion

      public static void displayVersion()
      Prints version information to stderr.
      See Also:
    • displayVersion

      public static void displayVersion(PrintWriter writer)
      Prints version information to the specified PrintWriter.
      Since:
      2.5
    • checkFiles

      public static int checkFiles(String[] filenames)
      Counts unreadable or missing source files in the supplied list.
      Parameters:
      filenames - the file names to validate
      Returns:
      the number of invalid file entries
    • validateFiles

      public static boolean validateFiles(String[] filenames)
      Returns whether all supplied file names resolve to readable files.
      Parameters:
      filenames - the file names to validate
      Returns:
      true if every file exists and can be read
    • commandLineCompile

      public static void commandLineCompile(String[] args) throws Exception
      Same as main(args) except that exceptions are thrown out instead of causing the VM to exit.
      Throws:
      Exception
    • commandLineCompile

      public static void commandLineCompile(String[] args, boolean lookupUnnamedFiles) throws Exception
      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
      Throws:
      Exception
    • configureParser

      public static CommandLine configureParser(FileSystemCompiler.CompilationOptions options)
      Creates and configures the command-line parser for compilation options.
      Parameters:
      options - the options object to bind parser results to
      Returns:
      the configured parser
    • main

      public static void main(String[] args)
      Primary entry point for compiling from the command line (using the groovyc script).

      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

      Parameters:
      args - command line arguments
    • commandLineCompileWithErrorHandling

      public static void commandLineCompileWithErrorHandling(String[] args, boolean lookupUnnamedFiles)
      Primary entry point for compiling from the command line (using the groovyc script).

      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

      Parameters:
      args - command line arguments
      lookupUnnamedFiles - do a lookup for .groovy files not part of the given list of files to compile
    • doCompilation

      public static void doCompilation(CompilerConfiguration configuration, CompilationUnit unit, String[] filenames) throws Exception
      Compiles the supplied source files using the given configuration.
      Parameters:
      configuration - the compiler configuration to use
      unit - an existing compilation unit to reuse, or null
      filenames - the source files to compile
      Throws:
      Exception - if compilation fails
    • doCompilation

      public static void doCompilation(CompilerConfiguration configuration, CompilationUnit unit, String[] filenames, boolean lookupUnnamedFiles) throws Exception
      Compiles the supplied source files using the given configuration and controls whether unnamed Groovy sources are searched relative to the provided file list.
      Parameters:
      configuration - the compiler configuration to use
      unit - an existing compilation unit to reuse, or null
      filenames - the source files to compile
      lookupUnnamedFiles - whether to search for unnamed Groovy sources beside the listed files
      Throws:
      Exception - if compilation fails
    • deleteRecursive

      public static void deleteRecursive(File file)
      Deletes the supplied file or directory tree if it exists.
      Parameters:
      file - the file or directory to delete
    • compile

      public void compile(String[] paths) throws Exception
      Compiles the sources at the supplied paths.
      Parameters:
      paths - the source paths to compile
      Throws:
      Exception - if compilation fails
    • compile

      public void compile(File[] files) throws Exception
      Compiles the supplied source files.
      Parameters:
      files - the source files to compile
      Throws:
      Exception - if compilation fails