package com.simpligility.maven.plugins.android; import java.util.Properties; import java.io.InputStream; import java.io.IOException; /** * PluginInfo reads plugin.properties which contains filtered * values from the build like the GAV coordinates of the plugin itself * and provides convenience methods for accessing these properties * and related things about the plugin. * * @author Manfred Moser */ public class PluginInfo { static { loadProperties(); } private static final String COLON = ":"; private static Properties prop; private static String groupId; private static String artifactId; private static String version; private static void loadProperties() { prop = new Properties(); InputStream in = PluginInfo.class.getResourceAsStream( "plugin.properties" ); try { prop.load( in ); groupId = prop.getProperty( "groupId" ); artifactId = prop.getProperty( "artifactId" ); version = prop.getProperty( "version" ); in.close(); } catch ( IOException e ) { e.printStackTrace(); } } /** * Get the Maven GAV string of the plugin. * @return */ public static String getGAV() { StringBuilder builder = new StringBuilder() .append( groupId ) .append( COLON ) .append( artifactId ) .append( COLON ) .append( version ); return builder.toString(); } public static String getGroupId() { return groupId; } public static String getArtifactId() { return artifactId; } public static String getVersion() { return version; } public static String getQualifiedGoal( String goal ) { StringBuilder builder = new StringBuilder() .append( groupId ) .append( COLON ) .append( artifactId ) .append( COLON ) .append( version ) .append( COLON ) .append( goal ); return builder.toString(); } }