Author: brett
Date: Thu Dec 18 09:10:15 2008
New Revision: 727765

URL: http://svn.apache.org/viewvc?rev=727765&view=rev
Log:
[MNG-1830] display build information

Added:
    
maven/components/branches/maven-2.0.x/maven-core/src/main/resources/org/apache/maven/messages/build.properties
      - copied unchanged from r727762, 
maven/components/branches/maven-2.1.x/maven-core/src/main/resources/org/apache/maven/messages/build.properties
Modified:
    maven/components/branches/maven-2.0.x/   (props changed)
    maven/components/branches/maven-2.0.x/maven-core/pom.xml
    
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java

Propchange: maven/components/branches/maven-2.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 18 09:10:15 2008
@@ -1,4 +1,4 @@
 
/maven/components/branches/maven-2.0.10-RC:720697,725329-725330,725342,725349,725359,725748,726876-726881
 
/maven/components/branches/maven-2.0.x:533160,636838,645583,645642,647357,649903,657432,659677,662033,662251,669665,670358,673499,673905,674059,675074,675087,675096,675375,675380,680604,682055
-/maven/components/branches/maven-2.1.x:720038,727670
+/maven/components/branches/maven-2.1.x:720038,727670,727762
 /maven/components/trunk:720001,721902,726845

Modified: maven/components/branches/maven-2.0.x/maven-core/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/pom.xml?rev=727765&r1=727764&r2=727765&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-core/pom.xml Thu Dec 18 
09:10:15 2008
@@ -238,5 +238,34 @@
         </plugins>
       </build>
     </profile>
+    <profile>
+      <id>buildnumber</id>
+      <activation>
+        <file>
+          <exists>.svn</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>buildnumber-maven-plugin</artifactId>
+            <version>1.0-beta-1</version>
+            <executions>
+              <execution>
+                <phase>generate-resources</phase>
+                <goals>
+                  <goal>create</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <doCheck>false</doCheck>
+              <doUpdate>false</doUpdate>
+            </configuration>
+          </plugin>        
+        </plugins>
+      </build>
+    </profile>
   </profiles>
 </project>

Modified: 
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=727765&r1=727764&r2=727765&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
 (original)
+++ 
maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
 Thu Dec 18 09:10:15 2008
@@ -54,6 +54,7 @@
 import org.codehaus.plexus.embed.Embedder;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.Os;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -546,42 +547,55 @@
 
     private static void showVersion()
     {
-        InputStream resourceAsStream;
+        Properties properties = new Properties();
+        String timestamp = null;
+        String rev = null;
+        String version = null;
+
+        InputStream resourceAsStream = null;
         try
         {
-            Properties properties = new Properties();
-            resourceAsStream = 
MavenCli.class.getClassLoader().getResourceAsStream(
-                "META-INF/maven/org.apache.maven/maven-core/pom.properties" );
+            resourceAsStream = 
MavenCli.class.getClassLoader().getResourceAsStream( 
"org/apache/maven/messages/build.properties" );
 
             if ( resourceAsStream != null )
             {
                 properties.load( resourceAsStream );
 
-                if( properties.getProperty( "builtOn" ) != null )
-                {
-                    System.out.println( "Maven version: " + 
properties.getProperty( "version", "unknown" )
-                        + " built on " + properties.getProperty( "builtOn" ) );
-                }
-                else
-                {
-                    System.out.println( "Maven version: " + 
properties.getProperty( "version", "unknown" ) );
-                }
+                timestamp = reduce( properties.getProperty( "timestamp" ) );
+                version = reduce( properties.getProperty( "version" ) );
+                rev = reduce( properties.getProperty( "buildNumber" ) );
             }
-            else
-            {
-                System.out.println( "Maven version: unknown" );
-            }
-
-            System.out.println( "Java version: " + System.getProperty( 
"java.version", "<unknown java version>" ) );
-
-            System.out.println( "OS name: \"" + Os.OS_NAME + "\" version: \"" 
+ Os.OS_VERSION +
-                                "\" arch: \"" + Os.OS_ARCH + "\" Family: \"" + 
Os.OS_FAMILY + "\"" );
-
         }
         catch ( IOException e )
         {
             System.err.println( "Unable determine version from JAR file: " + 
e.getMessage() );
         }
+        finally
+        {
+            IOUtil.close( resourceAsStream );
+        }
+
+        String msg = "Apache Maven ";
+        msg += ( version != null ? version : "<version unknown>" );
+        if ( rev != null || timestamp != null )
+        {
+            msg += " (";
+            msg += ( rev != null ? "r" + rev : "" );
+            msg += ( timestamp != null ? ( rev != null ? "; " : "" ) + new 
java.util.Date( Long.valueOf( timestamp ).longValue() ) : "" );
+            msg += ")";
+        }
+
+        System.out.println( msg );
+
+        System.out.println( "Java version: " + System.getProperty( 
"java.version", "<unknown java version>" ) );
+
+        System.out.println( "OS name: \"" + Os.OS_NAME + "\" version: \"" + 
Os.OS_VERSION +
+                            "\" arch: \"" + Os.OS_ARCH + "\" Family: \"" + 
Os.OS_FAMILY + "\"" );
+    }
+
+    private static String reduce( String s )
+    {
+        return ( s != null ? ( s.startsWith( "${" ) && s.endsWith( "}" ) ? 
null : s ) : null );
     }
 
     // ----------------------------------------------------------------------


Reply via email to