class Buildr::Groovy::Groovyc
Groovyc compiler:
compile.using(:groovyc)
You need to require 'buildr/groovy/compiler' if you need to use this compiler.
Used by default if .groovy files are found in the src/main/groovy directory (or src/test/groovy) and sets the target directory to target/classes (or target/test/classes).
Groovyc is a joint compiler, this means that when selected for a project, this compiler is used to compile both groovy and java sources. It's recommended that Groovy sources are placed in the src/main/groovy directory, even though this compiler also looks in src/main/java
Groovyc accepts the following options:
-
:encoding – Encoding of source files
-
:verbose – Asks the compiler for verbose output, true when running in verbose mode.
-
:fork – Whether to execute groovyc using a spawned instance of the JVM; defaults to no
-
:memoryInitialSize – The initial size of the memory for the underlying VM, if using fork mode; ignored otherwise.
Defaults to the standard VM memory setting. (Examples: 83886080, 81920k, or 80m)
-
:memoryMaximumSize – The maximum size of the memory for the underlying VM, if using fork mode; ignored otherwise.
Defaults to the standard VM memory setting. (Examples: 83886080, 81920k, or 80m)
-
:listfiles – Indicates whether the source files to be compiled will be listed; defaults to no
-
:stacktrace – If true each compile error message will contain a stacktrace
-
:warnings – Issue warnings when compiling. True when running in verbose mode.
-
:debug – Generates bytecode with debugging information. Set from the debug
environment variable/global option.
-
:deprecation – If true, shows deprecation messages. False by default.
-
:optimise – Generates faster bytecode by applying optimisations to the program.
-
:source – Source code compatibility.
-
:target – Bytecode compatibility.
-
:javac – Hash of options passed to the ant javac task
Constants
- ANT_TASK
- GROOVYC_OPTIONS
- JAVAC_OPTIONS
- OPTIONS
- REQUIRES
The groovyc compiler jars are added to classpath at load time, if you want to customize artifact versions, you must set them on the
artifact_ns(Buildr::Groovy::Groovyc).groovy = '1.7.1'
namespace before this file is required.