You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pg...@apache.org on 2011/07/17 15:16:12 UTC

svn commit: r1147597 - in /maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli: CLIReportingUtils.java MavenCli.java

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 )