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;
+ }
+
}