Author: pgier Date: Sun Jul 17 13:16:12 2011 New Revision: 1147597 URL: http://svn.apache.org/viewvc?rev=1147597&view=rev Log: [MNG-4112] Add properties "maven.version" and "maven.build.version" which contain the current version of Maven
Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java?rev=1147597&r1=1147596&r2=1147597&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java Sun Jul 17 13:16:12 2011 @@ -47,14 +47,39 @@ public final class CLIReportingUtils public static final int MS_PER_SEC = 1000; public static final int SEC_PER_MIN = 60; + + public static final String BUILD_VERSION_PROPERTY = "version"; public static void showVersion( PrintStream stdout ) { Properties properties = getBuildProperties(); + stdout.println( createMavenVersionString( properties ) ); - String timestamp = reduce( properties.getProperty( "timestamp" ) ); - String version = reduce( properties.getProperty( "version" ) ); - String rev = reduce( properties.getProperty( "buildNumber" ) ); + stdout.println( "Maven home: " + System.getProperty( "maven.home", "<unknown maven home>" ) ); + + stdout.println( "Java version: " + System.getProperty( "java.version", "<unknown java version>" ) + + ", vendor: " + System.getProperty( "java.vendor", "<unknown vendor>" ) ); + + stdout.println( "Java home: " + System.getProperty( "java.home", "<unknown java home>" ) ); + + stdout.println( "Default locale: " + Locale.getDefault() + ", platform encoding: " + + System.getProperty( "file.encoding", "<unknown encoding>" ) ); + + stdout.println( "OS name: \"" + Os.OS_NAME + "\", version: \"" + Os.OS_VERSION + "\", arch: \"" + Os.OS_ARCH + + "\", family: \"" + Os.OS_FAMILY + "\"" ); + } + + /** + * Create a human readable string containing the Maven version, buildnumber, and time of build + * + * @param buildProperties The build properties + * @return Readable build info + */ + static String createMavenVersionString( Properties buildProperties ) + { + String timestamp = reduce( buildProperties.getProperty( "timestamp" ) ); + String version = reduce( buildProperties.getProperty( BUILD_VERSION_PROPERTY ) ); + String rev = reduce( buildProperties.getProperty( "buildNumber" ) ); String msg = "Apache Maven "; msg += ( version != null ? version : "<version unknown>" ); @@ -70,21 +95,7 @@ public final class CLIReportingUtils } msg += ")"; } - - stdout.println( msg ); - - stdout.println( "Maven home: " + System.getProperty( "maven.home", "<unknown maven home>" ) ); - - stdout.println( "Java version: " + System.getProperty( "java.version", "<unknown java version>" ) - + ", vendor: " + System.getProperty( "java.vendor", "<unknown vendor>" ) ); - - stdout.println( "Java home: " + System.getProperty( "java.home", "<unknown java home>" ) ); - - stdout.println( "Default locale: " + Locale.getDefault() + ", platform encoding: " - + System.getProperty( "file.encoding", "<unknown encoding>" ) ); - - stdout.println( "OS name: \"" + Os.OS_NAME + "\", version: \"" + Os.OS_VERSION + "\", arch: \"" + Os.OS_ARCH - + "\", family: \"" + Os.OS_FAMILY + "\"" ); + return msg; } private static String reduce( String s ) Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=1147597&r1=1147596&r2=1147597&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Sun Jul 17 13:16:12 2011 @@ -1064,6 +1064,19 @@ public class MavenCli } systemProperties.putAll( System.getProperties() ); + + // ---------------------------------------------------------------------- + // Properties containing info about the currently running version of Maven + // These override any corresponding properties set on the command line + // ---------------------------------------------------------------------- + + Properties buildProperties = CLIReportingUtils.getBuildProperties(); + + String mavenVersion = buildProperties.getProperty( CLIReportingUtils.BUILD_VERSION_PROPERTY ); + systemProperties.setProperty( "maven.version", mavenVersion ); + + String mavenBuildVersion = CLIReportingUtils.createMavenVersionString( buildProperties ); + systemProperties.setProperty( "maven.build.version", mavenBuildVersion ); } private static void setCliProperty( String property, Properties properties )