You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2009/06/12 23:09:06 UTC

svn commit: r784274 - in /maven/components/trunk: maven-core/pom.xml maven-core/src/main/resources/org/apache/maven/messages/build.properties maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java

Author: olamy
Date: Fri Jun 12 21:09:06 2009
New Revision: 784274

URL: http://svn.apache.org/viewvc?rev=784274&view=rev
Log:
restore display of two build properties (as in 2.x) :
- svn rev 
- build timestamp

Added:
    maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties   (with props)
Modified:
    maven/components/trunk/maven-core/pom.xml
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java

Modified: maven/components/trunk/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/pom.xml?rev=784274&r1=784273&r2=784274&view=diff
==============================================================================
--- maven/components/trunk/maven-core/pom.xml (original)
+++ maven/components/trunk/maven-core/pom.xml Fri Jun 12 21:09:06 2009
@@ -86,6 +86,12 @@
   </dependencies>
 
   <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
     <plugins>
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
@@ -112,4 +118,35 @@
       </plugin>      
     </plugins>
   </build>
+  <profiles>
+    <profile>
+      <id>svn-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>

Added: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties?rev=784274&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties (added)
+++ maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties Fri Jun 12 21:09:06 2009
@@ -0,0 +1,3 @@
+buildNumber=${buildNumber}
+timestamp=${timestamp}
+version=${project.version}

Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/messages/build.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java?rev=784274&r1=784273&r2=784274&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java Fri Jun 12 21:09:06 2009
@@ -1,14 +1,18 @@
 package org.apache.maven.cli;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
+import java.util.Properties;
 import java.util.TimeZone;
 
 import org.apache.maven.embedder.MavenEmbedderLogger;
 import org.apache.maven.execution.ApplicationInformation;
 import org.apache.maven.execution.DefaultRuntimeInformation;
+import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.Os;
 
 /**
@@ -28,24 +32,48 @@
 
     private static final String NEWLINE = System.getProperty( "line.separator" );
 
-    static void showVersion()
+    public static void showVersion()
     {
-        ApplicationInformation ai =
-            DefaultRuntimeInformation.getVersion( MavenCli.class.getClassLoader(), "org.apache.maven", "maven-core" );
+        Properties properties = getBuildProperties();
 
-        System.out.println( "Maven version: " + ai.getVersion() + " built on " + ai.getBuiltOn() );
+        String timestamp = reduce( properties.getProperty( "timestamp" ) );
+        String version = reduce( properties.getProperty( "version" ) );
+        String rev = reduce( properties.getProperty( "buildNumber" ) );
+
+        String msg = "Apache Maven ";
+        msg += ( version != null ? version : "<version unknown>" );
+        if ( rev != null || timestamp != null )
+        {
+            msg += " (";
+            msg += ( rev != null ? "r" + rev : "" );
+            if ( timestamp != null )
+            {
+                SimpleDateFormat fmt = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ssZ" );
+                String ts = fmt.format( new Date( Long.valueOf( timestamp ).longValue() ) );
+                msg += ( rev != null ? "; " : "" ) + ts;
+            }
+            msg += ")";
+        }
+
+        System.out.println( msg );
 
         System.out.println( "Java version: " + System.getProperty( "java.version", "<unknown java version>" ) );
 
         System.out.println( "Java home: " + System.getProperty( "java.home", "<unknown java home>" ) );
 
         System.out.println( "Default locale: " + Locale.getDefault() + ", platform encoding: "
-            + System.getProperty( "file.encoding", "<unknown encoding>" ) );
+                            + System.getProperty( "file.encoding", "<unknown encoding>" ) );
+
+        System.out.println( "OS name: \"" + Os.OS_NAME + "\" version: \"" + Os.OS_VERSION +
+                            "\" arch: \"" + Os.OS_ARCH + "\" Family: \"" + Os.OS_FAMILY + "\"" );
+    }
 
-        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 );
     }
 
+    
     private static void stats( Date start, MavenEmbedderLogger logger )
     {
         Date finish = new Date();
@@ -113,4 +141,30 @@
         fmt.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
         return fmt.format( new Date( time ) );
     }
+    
+    static Properties getBuildProperties()
+    {
+        Properties properties = new Properties();
+        InputStream resourceAsStream = null;
+        try
+        {
+            resourceAsStream = MavenCli.class.getClassLoader().getResourceAsStream( "org/apache/maven/messages/build.properties" );
+
+            if ( resourceAsStream != null )
+            {
+                properties.load( resourceAsStream );
+            }
+        }
+        catch ( IOException e )
+        {
+            System.err.println( "Unable determine version from JAR file: " + e.getMessage() );
+        }
+        finally
+        {
+            IOUtil.close( resourceAsStream );
+        }
+
+        return properties;
+    }
+    
 }