diff --git a/pom.xml b/pom.xml index 42b2161..86ba366 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ under the License. - 3.6.3 + 3.8.1 2021-02-24T19:52:25Z diff --git a/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java b/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java index ec55f24..63fec56 100644 --- a/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java +++ b/src/main/java/org/apache/maven/plugins/scripting/EvalMojo.java @@ -24,12 +24,16 @@ import java.io.File; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; +import org.apache.maven.settings.Settings; /** * Evaluate the specified script or scriptFile @@ -64,14 +68,30 @@ public class EvalMojo extends AbstractMojo { @Parameter(defaultValue = "${project}", readonly = true) private MavenProject project; + @Parameter(defaultValue = "${mojoExecution}", readonly = true) + MojoExecution mojoExecution; + + @Parameter(defaultValue = "${pluginDescriptor}", readonly = true) + private PluginDescriptor pluginDescriptor; + + @Parameter(defaultValue = "${session}", readonly = true) + private MavenSession session; + + @Parameter(defaultValue = "${settings}", readonly = true) + private Settings settings; + @Override public void execute() throws MojoExecutionException, MojoFailureException { try { AbstractScriptEvaluator execute = constructExecute(); Bindings bindings = new SimpleBindings(); + bindings.put("session", session); bindings.put("project", project); + bindings.put("pluginDescriptor", pluginDescriptor); bindings.put("log", getLog()); + bindings.put("mojoExecution", mojoExecution); + bindings.put("settings", settings); Object result = execute.eval(bindings, getLog()); diff --git a/src/site/markdown/script-context.md b/src/site/markdown/script-context.md index 03ed850..5425422 100644 --- a/src/site/markdown/script-context.md +++ b/src/site/markdown/script-context.md @@ -20,5 +20,9 @@ under the License. The following variables are available in the script context + * `org.apache.maven.execution.MavenSession session` * `org.apache.maven.project.MavenProject project` - * `org.apache.maven.plugin.logging.Log log` \ No newline at end of file + * `org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor` + * `org.apache.maven.plugin.logging.Log log` + * `org.apache.maven.plugin.MojoExecution mojoExecution` + * `org.apache.maven.settings.Settings settings`