diff --git a/pom.xml b/pom.xml
index e093008b7..54ea68171 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,7 @@ under the License.
! The following property is used in the integration tests MCOMPILER-157
-->
3.5
- 2.11.1
+ 2.11.2-SNAPSHOT
2.4.21
3.7.0
diff --git a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
index 2f083965b..a97b36d28 100644
--- a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
+++ b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
@@ -402,6 +402,14 @@ public abstract class AbstractCompilerMojo
@Parameter( property = "maven.compiler.debuglevel" )
private String debuglevel;
+ /**
+ * Keyword to be appended to the -implicit:
command-line switch.
+ *
+ * @since 3.10.2
+ */
+ @Parameter( property = "maven.compiler.implicit" )
+ private String implicit;
+
/**
*
*/
@@ -686,6 +694,8 @@ public void execute()
compilerConfiguration.setDebugFileName( getDebugFileName() );
+ compilerConfiguration.setImplicitOption( implicit );
+
if ( debug && StringUtils.isNotEmpty( debuglevel ) )
{
String[] split = StringUtils.split( debuglevel, "," );
@@ -1910,4 +1920,9 @@ public void setRelease( String release )
this.release = release;
targetOrReleaseSet = true;
}
+
+ final String getImplicit()
+ {
+ return implicit;
+ }
}
diff --git a/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java b/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java
index 79d87113d..bc78398ad 100644
--- a/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java
+++ b/src/test/java/org/apache/maven/plugin/compiler/CompilerMojoTestCase.java
@@ -267,6 +267,22 @@ public void testCompilerArgs()
assertEquals( Arrays.asList( "key1=value1","-Xlint","-my&special:param-with+chars/not>allowed_in_XML_element_names" ), compileMojo.compilerArgs );
}
+ public void testImplicitFlagNone()
+ throws Exception
+ {
+ CompilerMojo compileMojo = getCompilerMojo( "target/test-classes/unit/compiler-implicit-test/plugin-config-none.xml" );
+
+ assertEquals( "none", compileMojo.getImplicit() );
+ }
+
+ public void testImplicitFlagNotSet()
+ throws Exception
+ {
+ CompilerMojo compileMojo = getCompilerMojo( "target/test-classes/unit/compiler-implicit-test/plugin-config-not-set.xml" );
+
+ assertNull( compileMojo.getImplicit() );
+ }
+
public void testOneOutputFileForAllInput2()
throws Exception
{
diff --git a/src/test/resources/unit/compiler-implicit-test/plugin-config-none.xml b/src/test/resources/unit/compiler-implicit-test/plugin-config-none.xml
new file mode 100644
index 000000000..faf333410
--- /dev/null
+++ b/src/test/resources/unit/compiler-implicit-test/plugin-config-none.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+ ${basedir}/target/test-classes/unit/compiler-implicit-test/src/main/java
+
+ javac
+ true
+ ${basedir}/target/test/unit/compiler-implicit-test/target/classes
+ ${basedir}/target/test/unit/compiler-implicit-test/target
+ none
+
+
+
+
+
diff --git a/src/test/resources/unit/compiler-implicit-test/plugin-config-not-set.xml b/src/test/resources/unit/compiler-implicit-test/plugin-config-not-set.xml
new file mode 100644
index 000000000..1ad147b68
--- /dev/null
+++ b/src/test/resources/unit/compiler-implicit-test/plugin-config-not-set.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+ ${basedir}/target/test-classes/unit/compiler-implicit-test/src/main/java
+
+ javac
+ true
+ ${basedir}/target/test/unit/compiler-implicit-test/target/classes
+ ${basedir}/target/test/unit/compiler-implicit-test/target
+
+
+
+
+