diff --git a/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java b/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java index 01a6104..31c7580 100644 --- a/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java +++ b/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java @@ -48,7 +48,7 @@ public class FirstMojo @Parameter( defaultValue = "${basedir}", readonly = true ) private File basedir; - @Parameter( expression = "${first.touchFile}", defaultValue = "${project.build.directory}/touch.txt", + @Parameter( expression = "first.touchFile", defaultValue = "${project.build.directory}/touch.txt", required = true ) private File touchFile; diff --git a/maven-plugin-plugin/src/it/java-basic/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java b/maven-plugin-plugin/src/it/java-basic/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java index 18ce947..d83a4ad 100644 --- a/maven-plugin-plugin/src/it/java-basic/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java +++ b/maven-plugin-plugin/src/it/java-basic/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java @@ -47,7 +47,7 @@ public class FirstMojo private File basedir; /** - * @parameter expression="${first.touchFile}" default-value="${project.build.directory}/touch.txt" + * @parameter expression="first.touchFile" default-value="${project.build.directory}/touch.txt" * @required */ private File touchFile; diff --git a/maven-plugin-tools-annotations/src/site/apt/index.apt b/maven-plugin-tools-annotations/src/site/apt/index.apt index 9b3a951..ced4f30 100644 --- a/maven-plugin-tools-annotations/src/site/apt/index.apt +++ b/maven-plugin-tools-annotations/src/site/apt/index.apt @@ -74,7 +74,7 @@ public class MyMojo * @deprecated */ @Parameter( alias = "myAlias", - expression = "${aSystemProperty}", + expression = "aSystemProperty", defaultValue = "${anExpression}", readonly = required = ) @@ -97,6 +97,7 @@ public class MyMojo } +---------+ + * See also * {{{../maven-plugin-annotations/index.html}Maven Plugin Tools Java 5 Annotations}} diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java index 68ea254..b0680be 100644 --- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java +++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java @@ -420,7 +420,7 @@ public class PluginDescriptorGenerator { for ( Parameter parameter : parameters ) { - String expression = parameter.getExpression(); + String expression = getExpression( parameter ); if ( StringUtils.isNotEmpty( expression ) && expression.startsWith( "${component." ) ) { @@ -571,6 +571,23 @@ public class PluginDescriptorGenerator w.endElement(); } + /** + * Get the expression value, eventually surrounding it with ${ }. + * + * @param parameter the parameter + * @return the expression value + */ + private String getExpression( Parameter parameter ) + { + String expression = parameter.getExpression(); + if ( StringUtils.isNotBlank( expression ) && !expression.contains( "${" ) ) + { + expression = "${" + expression.trim() + "}"; + parameter.setExpression( expression ); + } + return expression; + } + protected String rewriteHelpClassToMojoPackage( PluginToolsRequest request ) throws GeneratorException { diff --git a/maven-plugin-tools-java/src/site/apt/index.apt b/maven-plugin-tools-java/src/site/apt/index.apt index e47b040..94cd31c 100644 --- a/maven-plugin-tools-java/src/site/apt/index.apt +++ b/maven-plugin-tools-java/src/site/apt/index.apt @@ -62,7 +62,7 @@ public class MyMojo extends AbstractMojo { /** - * @parameter alias="myAlias" implementation="" expression="${aSystemProperty}" default-value="${anExpression}" + * @parameter alias="myAlias" implementation="" expression="aSystemProperty" default-value="${anExpression}" * @readonly * @required * @since @@ -86,6 +86,9 @@ public class MyMojo } +---------+ + <>: before 3.0, <<<${ }>>> were required for <<>> value (<<>>), + but starting with 3.0, you can omit it (<<>>) + * See also * {{{/developers/mojo-api-specification.html#The_Descriptor_and_Annotations}Mojo API Specification}}