retrolambda:process-test

Full name:

net.orfjackal.retrolambda:retrolambda-maven-plugin:2.5.5:process-test

Description:

Processes test classes compiled with Java 8 so that they will be compatible with Java 5, 6 or 7 runtime.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • Binds by default to the lifecycle phase: process-test-classes.

Required Parameters

Name Type Since Description
defaultMethods boolean 2.0.0 Whether to backport default methods and static methods on interfaces. LIMITATIONS: All backported interfaces and all classes which implement them or call their static methods must be backported together, with one execution of Retrolambda.
Default value is: false.
User property is: retrolambdaDefaultMethods.
javacHacks boolean 2.5.5 Whether to apply experimental javac issues workarounds.
Default value is: false.
User property is: retrolambdaJavacHacks.
quiet boolean 2.4.0 Reduces the amount of logging.
Default value is: false.
User property is: retrolambdaQuiet.
target String 1.2.0 The Java version targeted by the bytecode processing. Possible values are 1.5, 1.6, 1.7 and 1.8. After processing the classes will be compatible with the target JVM provided the known limitations are considered. See project documentation for more details.
Default value is: 1.7.
User property is: retrolambdaTarget.
testInputDir File 1.3.0 Directory containing the original classes compiled with Java 8.
Default value is: ${project.build.testOutputDirectory}.
User property is: retrolambdaTestInputDir.
testOutputDir File 1.3.0 Directory where to write the backported classes. If same as the input directory, will overwrite the original classes.
Default value is: ${project.build.testOutputDirectory}.
User property is: retrolambdaTestOutputDir.

Optional Parameters

Name Type Since Description
fork boolean 1.6.0 Forces Retrolambda to run in a separate process. The default is not to fork, in which case Maven has to run under Java 8, or this plugin will fall back to forking. The forked process uses a Java agent hook for capturing the lambda classes generated by Java 8, whereas the non-forked version hooks into internal Java APIs, making it more susceptible to breaking between Java releases.
Default value is: false.
java8home File 1.2.0 Directory of the Java 8 installation for running Retrolambda. The JRE to be used will be determined in priority order:
  1. This parameter
  2. JDK toolchain
  3. Same as Maven

User property is: java8home.

Parameter Details

defaultMethods:

Whether to backport default methods and static methods on interfaces. LIMITATIONS: All backported interfaces and all classes which implement them or call their static methods must be backported together, with one execution of Retrolambda.
  • Type: boolean
  • Since: 2.0.0
  • Required: Yes
  • User Property: retrolambdaDefaultMethods
  • Default: false

fork:

Forces Retrolambda to run in a separate process. The default is not to fork, in which case Maven has to run under Java 8, or this plugin will fall back to forking. The forked process uses a Java agent hook for capturing the lambda classes generated by Java 8, whereas the non-forked version hooks into internal Java APIs, making it more susceptible to breaking between Java releases.
  • Type: boolean
  • Since: 1.6.0
  • Required: No
  • Default: false

java8home:

Directory of the Java 8 installation for running Retrolambda. The JRE to be used will be determined in priority order:
  1. This parameter
  2. JDK toolchain
  3. Same as Maven
  • Type: java.io.File
  • Since: 1.2.0
  • Required: No
  • User Property: java8home

javacHacks:

Whether to apply experimental javac issues workarounds.
  • Type: boolean
  • Since: 2.5.5
  • Required: Yes
  • User Property: retrolambdaJavacHacks
  • Default: false

quiet:

Reduces the amount of logging.
  • Type: boolean
  • Since: 2.4.0
  • Required: Yes
  • User Property: retrolambdaQuiet
  • Default: false

target:

The Java version targeted by the bytecode processing. Possible values are 1.5, 1.6, 1.7 and 1.8. After processing the classes will be compatible with the target JVM provided the known limitations are considered. See project documentation for more details.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: Yes
  • User Property: retrolambdaTarget
  • Default: 1.7

testInputDir:

Directory containing the original classes compiled with Java 8.
  • Type: java.io.File
  • Since: 1.3.0
  • Required: Yes
  • User Property: retrolambdaTestInputDir
  • Default: ${project.build.testOutputDirectory}

testOutputDir:

Directory where to write the backported classes. If same as the input directory, will overwrite the original classes.
  • Type: java.io.File
  • Since: 1.3.0
  • Required: Yes
  • User Property: retrolambdaTestOutputDir
  • Default: ${project.build.testOutputDirectory}