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 property="project" required="true" */ private MavenProject project; /** * @parameter property="property_name" default-value="AppEngineFriendlyVersion" */ private String property_name; @Override public void execute() throws MojoExecutionException { String version = project.getVersion(); Properties props = project.getProperties(); String newVersion = version.toLowerCase(); newVersion = newVersion.replace('.', '-'); newVersion = newVersion.toLowerCase(); props.put(property_name, newVersion); getLog().info("added property " + property_name + "=" + newVersion); } }