Fork me on GitHub

gplus:compile

Full name:

org.codehaus.gmavenplus:gmavenplus-plugin:4.0.1:compile

Description:

Compiles the main sources. Note that this mojo requires Groovy >= 1.5.0, and >= 2.0.0-beta-3 (the indy version) for compiling with invokedynamic option.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 1.0-beta-1.
  • Binds by default to the lifecycle phase: compile.

Optional Parameters

Name Type Since Description
<configScript> File - A script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater). Note that its encoding must match your source encoding.
<debug> boolean - Whether Groovy compiler should be set to debug.
Default: false
<includeClasspath> IncludeClasspath 1.8.0 What classpath to include. One of
  • PROJECT_ONLY
  • PROJECT_AND_PLUGIN
  • PLUGIN_ONLY
Uses the same scope as the required dependency resolution of this mojo. Use only if you know what you're doing.
Default: PROJECT_ONLY
<invokeDynamic> boolean - Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater). Has no effect for Groovy 4, as it is always enabled.
Default: false
<outputDirectory> File - The location for the compiled classes.
Default: ${project.build.outputDirectory}
<parallelParsing> Boolean 1.11.0 Whether to enable Groovy's parallel parsing. Requires Groovy 3.0.5. Is enabled by default for Groovy 4.0.0-alpha-1 or newer.
<parameters> boolean - Generate metadata for reflection on method parameter names using the functionality provided by JEP 118 (requires Java 8 or greater and Groovy 2.5.0-alpha-1 or greater).
Default: false
<previewFeatures> boolean 1.7.1 Whether the bytecode version has preview features enabled (JEP 12). Requires Groovy >= 3.0.0-beta-1 or Groovy >= 2.5.7, but not any 2.6 versions and Java >= 12.
Default: false
<skipBytecodeCheck> boolean 1.9.0 Whether to check that the version of Groovy used is able to use the requested targetBytecode.
Default: false
User Property: skipBytecodeCheck
<sourceEncoding> String - The encoding of source files.
Default: ${project.build.sourceEncoding}
<sources> FileSet[] - The Groovy source files (relative paths). Default: "${project.basedir}/src/main/groovy/**/*.groovy"
<targetBytecode> String - The Groovy compiler bytecode compatibility. One of
  • 1.4 (or 4)
  • 1.5 (or 5)
  • 1.6 (or 6)
  • 1.7 (or 7)
  • 1.8 (or 8)
  • 9 (or 1.9)
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
Using 1.6 (or 6) or 1.7 (or 7) requires Groovy >= 2.1.3. Using 1.8 (or 8) requires Groovy >= 2.3.3. Using 9 (or 1.9) requires Groovy >= 2.5.3, or Groovy >= 2.6.0 alpha 4, or Groovy >= 3.0.0 alpha 2. Using 9 (or 1.9) with invokedynamic requires Groovy >= 2.5.3, or Groovy >= 3.0.0 alpha 2, but not any 2.6 versions. Using 10, 11, or 12 requires Groovy >= 2.5.3, or Groovy >= 3.0.0 alpha 4, but not any 2.6 versions. Using 13 requires Groovy >= 2.5.7, or Groovy >= 3.0.0-beta-1, but not any 2.6 versions. Using 14 requires Groovy >= 3.0.0 beta-2. Using 15 requires Groovy >= 3.0.3. Using 16 requires Groovy >= 3.0.6. Using 17 requires Groovy >= 3.0.8 or Groovy > 4.0.0-alpha-3. Using 18 requires Groovy > 4.0.0-beta-1. Using 19 requires Groovy > 4.0.2. Using 20 requires Groovy > 4.0.6. Using 21 requires Groovy > 4.0.11. Using 22 requires Groovy > 4.0.16. Using 23 requires Groovy > 4.0.21.
Default: 1.8
User Property: maven.compiler.target
<tolerance> int - Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).
Default: 0
<verbose> boolean - Whether Groovy compiler should be set to verbose.
Default: false
<warningLevel> int - Groovy compiler warning level. Should be one of:
0
None
1
Likely Errors
2
Possible Errors
3
Paranoia

Default: 1

Parameter Details

<configScript>

A script for tweaking the configuration options (requires Groovy 2.1.0-beta-1 or greater). Note that its encoding must match your source encoding.
  • Type: java.io.File
  • Required: No

<debug>

Whether Groovy compiler should be set to debug.
  • Type: boolean
  • Required: No
  • Default: false

<includeClasspath>

What classpath to include. One of
  • PROJECT_ONLY
  • PROJECT_AND_PLUGIN
  • PLUGIN_ONLY
Uses the same scope as the required dependency resolution of this mojo. Use only if you know what you're doing.
  • Type: org.codehaus.gmavenplus.model.IncludeClasspath
  • Since: 1.8.0
  • Required: No
  • Default: PROJECT_ONLY

<invokeDynamic>

Whether to support invokeDynamic (requires Java 7 or greater and Groovy indy 2.0.0-beta-3 or greater). Has no effect for Groovy 4, as it is always enabled.
  • Type: boolean
  • Required: No
  • Default: false

<outputDirectory>

The location for the compiled classes.
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.outputDirectory}

<parallelParsing>

Whether to enable Groovy's parallel parsing. Requires Groovy 3.0.5. Is enabled by default for Groovy 4.0.0-alpha-1 or newer.
  • Type: java.lang.Boolean
  • Since: 1.11.0
  • Required: No

<parameters>

Generate metadata for reflection on method parameter names using the functionality provided by JEP 118 (requires Java 8 or greater and Groovy 2.5.0-alpha-1 or greater).
  • Type: boolean
  • Required: No
  • Default: false

<previewFeatures>

Whether the bytecode version has preview features enabled (JEP 12). Requires Groovy >= 3.0.0-beta-1 or Groovy >= 2.5.7, but not any 2.6 versions and Java >= 12.
  • Type: boolean
  • Since: 1.7.1
  • Required: No
  • Default: false

<skipBytecodeCheck>

Whether to check that the version of Groovy used is able to use the requested targetBytecode.
  • Type: boolean
  • Since: 1.9.0
  • Required: No
  • User Property: skipBytecodeCheck
  • Default: false

<sourceEncoding>

The encoding of source files.
  • Type: java.lang.String
  • Required: No
  • Default: ${project.build.sourceEncoding}

<sources>

The Groovy source files (relative paths). Default: "${project.basedir}/src/main/groovy/**/*.groovy"
  • Type: org.apache.maven.shared.model.fileset.FileSet[]
  • Required: No

<targetBytecode>

The Groovy compiler bytecode compatibility. One of
  • 1.4 (or 4)
  • 1.5 (or 5)
  • 1.6 (or 6)
  • 1.7 (or 7)
  • 1.8 (or 8)
  • 9 (or 1.9)
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
Using 1.6 (or 6) or 1.7 (or 7) requires Groovy >= 2.1.3. Using 1.8 (or 8) requires Groovy >= 2.3.3. Using 9 (or 1.9) requires Groovy >= 2.5.3, or Groovy >= 2.6.0 alpha 4, or Groovy >= 3.0.0 alpha 2. Using 9 (or 1.9) with invokedynamic requires Groovy >= 2.5.3, or Groovy >= 3.0.0 alpha 2, but not any 2.6 versions. Using 10, 11, or 12 requires Groovy >= 2.5.3, or Groovy >= 3.0.0 alpha 4, but not any 2.6 versions. Using 13 requires Groovy >= 2.5.7, or Groovy >= 3.0.0-beta-1, but not any 2.6 versions. Using 14 requires Groovy >= 3.0.0 beta-2. Using 15 requires Groovy >= 3.0.3. Using 16 requires Groovy >= 3.0.6. Using 17 requires Groovy >= 3.0.8 or Groovy > 4.0.0-alpha-3. Using 18 requires Groovy > 4.0.0-beta-1. Using 19 requires Groovy > 4.0.2. Using 20 requires Groovy > 4.0.6. Using 21 requires Groovy > 4.0.11. Using 22 requires Groovy > 4.0.16. Using 23 requires Groovy > 4.0.21.
  • Type: java.lang.String
  • Required: No
  • User Property: maven.compiler.target
  • Default: 1.8

<tolerance>

Groovy compiler error tolerance (the number of non-fatal errors (per unit) that should be tolerated before compilation is aborted).
  • Type: int
  • Required: No
  • Default: 0

<verbose>

Whether Groovy compiler should be set to verbose.
  • Type: boolean
  • Required: No
  • Default: false

<warningLevel>

Groovy compiler warning level. Should be one of:
0
None
1
Likely Errors
2
Possible Errors
3
Paranoia
  • Type: int
  • Required: No
  • Default: 1