package com.google.appengine; import java.util.Properties; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; /** * Maven project version is dot based, e.g "1.9.15" , * whereas appengine-web.xml is dash based, e.g. "1-9-15" * This goal creates a Maven property with a correct app engine version. * @goal create-property */ public class CreateGoodVersionFromPomVersionMojo extends AbstractMojo { /** * @parameter expression="${project}" required="true" */ private MavenProject mavenProject; /** * @parameter expression="${$appengine.create-property-version}" * default-value="AppEngineFriendlyVersion" */ private String propertyName; @Override public void execute() throws MojoExecutionException { String version = mavenProject.getVersion(); Properties props = mavenProject.getProperties(); String newVersion = version.toLowerCase(); newVersion = newVersion.replace('.', '-'); newVersion = newVersion.toLowerCase(); props.put(propertyName, newVersion); getLog().info("added property " + propertyName + "=" + newVersion); } }