├── .gitignore ├── src └── main │ └── java │ └── com │ └── pangratz │ └── CreateGaeFriendlyVersionMojo.java └── pom.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse 2 | .classpath 3 | .project 4 | .settings 5 | bin 6 | 7 | # Maven 8 | target 9 | 10 | # Mac OS X 11 | .DS_Store -------------------------------------------------------------------------------- /src/main/java/com/pangratz/CreateGaeFriendlyVersionMojo.java: -------------------------------------------------------------------------------- 1 | package com.pangratz; 2 | 3 | import java.util.Properties; 4 | 5 | import org.apache.maven.plugin.AbstractMojo; 6 | import org.apache.maven.plugin.MojoExecutionException; 7 | import org.apache.maven.project.MavenProject; 8 | 9 | /** 10 | * @goal create-property 11 | */ 12 | public class CreateGaeFriendlyVersionMojo extends AbstractMojo { 13 | 14 | /** 15 | * @parameter expression="${project}" required="true" 16 | */ 17 | private MavenProject mavenProject; 18 | 19 | /** 20 | * @parameter expression="${create-property.propertyName}" 21 | * default-value="gaeFriendlyVersion" 22 | */ 23 | private String propertyName; 24 | 25 | public void execute() throws MojoExecutionException { 26 | String version = mavenProject.getVersion(); 27 | Properties props = mavenProject.getProperties(); 28 | 29 | String newVersion = version.toLowerCase(); 30 | newVersion = newVersion.replace('.', '-'); 31 | newVersion = newVersion.toLowerCase(); 32 | props.put(propertyName, newVersion); 33 | 34 | getLog().info("added property " + propertyName + "=" + newVersion); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | com.pangratz 4 | gaefriendly-version-maven-plugin 5 | maven-plugin 6 | 0.0.2-SNAPSHOT 7 | maven-gaefriendly-version-plugin Maven Mojo 8 | http://pangratz.github.com/gaefriendly-version-maven-plugin/ 9 | 10 | 11 | pangratz 12 | gaefriendly-version-maven-plugin 13 | scm:git:git@github.com:${gitUser}/${gitProject}.git 14 | release-repo::default::file:../../repository/releases 15 | 16 | 17 | 18 | ${scmUrl} 19 | ${scmUrl} 20 | ${scmUrl} 21 | 22 | 23 | 24 | 25 | org.apache.maven 26 | maven-project 27 | 2.2.1 28 | 29 | 30 | org.apache.maven 31 | maven-plugin-api 32 | 2.2.1 33 | 34 | 35 | 36 | 37 | 38 | deploy-snapshot 39 | 40 | snapshot-repo::default::file:repository/snapshots 41 | 42 | 43 | 44 | 45 | 46 | --------------------------------------------------------------------------------