brett 2005/04/06 20:06:18
Modified: maven-core/src/main/java/org/apache/maven/cli MavenCli.java
Log:
Load Maven version and display
Revision Changes Path
1.28 +24 -2
maven-components/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
Index: MavenCli.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- MavenCli.java 4 Apr 2005 06:47:21 -0000 1.27
+++ MavenCli.java 7 Apr 2005 03:06:18 -0000 1.28
@@ -33,7 +33,9 @@
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResponse;
+import org.apache.maven.model.Model;
import org.apache.maven.model.Repository;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
import org.apache.maven.monitor.event.DefaultEventMonitor;
import org.apache.maven.monitor.event.EventDispatcher;
@@ -51,7 +53,10 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
import java.util.Collections;
+import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
@@ -107,7 +112,24 @@
}
if ( commandLine.hasOption( CLIManager.VERSION ) )
{
- System.out.println( "Maven version: " );
+ // TODO: is there a beter way? Maybe read the manifest?
+
+ String version = "unknown";
+
+ for ( Enumeration e =
MavenCli.class.getClassLoader().getResources( "/META-INF/maven/pom.xml" );
+ e.hasMoreElements(); )
+ {
+ URL resource = (URL) e.nextElement();
+ if ( resource.getPath().indexOf( "maven-core" ) >= 0 )
+ {
+ MavenXpp3Reader reader = new MavenXpp3Reader();
+ Model model = reader.read( new InputStreamReader(
resource.openStream() ) );
+ version = model.getVersion();
+ break;
+ }
+ }
+
+ System.out.println( "Maven version: " + version );
return 0;
}