Author: jvanzyl
Date: Thu Oct  2 15:36:41 2008
New Revision: 701264

URL: http://svn.apache.org/viewvc?rev=701264&view=rev
Log:
MNG-3653/MNG-3677: restored property file nabbing from the core JAR, and 
reworked the runtime component to be more general and used it from the CLI


Added:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
   (with props)
Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RuntimeInformation.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=701264&r1=701263&r2=701264&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 Thu Oct  2 15:36:41 2008
@@ -299,7 +299,7 @@
                 {
                     DefaultArtifactVersion version = new 
DefaultArtifactVersion( project.getPrerequisites().getMaven() );
 
-                    if ( runtimeInformation.getApplicationVersion().compareTo( 
version ) < 0 )
+                    if ( 
runtimeInformation.getApplicationInformation().getVersion().compareTo( version 
) < 0 )
                     {
                         throw new MavenExecutionException(
                             "Unable to build project '" + file +

Added: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java?rev=701264&view=auto
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
 (added)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
 Thu Oct  2 15:36:41 2008
@@ -0,0 +1,25 @@
+package org.apache.maven.execution;
+
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+
+public class ApplicationInformation
+{
+    private ArtifactVersion version;
+    private String builtOn;
+    
+    public ApplicationInformation( ArtifactVersion version, String builtOn )
+    {
+        this.version = version;
+        this.builtOn = builtOn;
+    }
+
+    public ArtifactVersion getVersion()
+    {
+        return version;
+    }
+
+    public String getBuiltOn()
+    {
+        return builtOn;
+    }        
+}

Propchange: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/ApplicationInformation.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java?rev=701264&r1=701263&r2=701264&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java
 Thu Oct  2 15:36:41 2008
@@ -19,70 +19,82 @@
  * under the License.
  */
 
-import org.apache.maven.artifact.versioning.ArtifactVersion;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import 
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.codehaus.plexus.util.IOUtil;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
 /**
  * Describes runtime information about the application.
  *
+ * @author Jason van Zyl
  * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
  * @version $Id$
  */
 public class DefaultRuntimeInformation
     implements RuntimeInformation, Initializable
-{
-    private static final String MAVEN_GROUPID = "org.apache.maven";
+{    
+    private ApplicationInformation applicationInformation;
     
-    private static final String MAVEN_PROPERTIES = "META-INF/maven/" + 
MAVEN_GROUPID + "/maven-core/pom.properties";
-
-    private ArtifactVersion applicationVersion;
-
-    public ArtifactVersion getApplicationVersion()
+    public ApplicationInformation getApplicationInformation()
     {
-        return applicationVersion;
+        return applicationInformation;
     }
 
     public void initialize()
         throws InitializationException
-    {        
-        applicationVersion = new DefaultArtifactVersion( "2.1-SNAPSHOT" );    
+    {
+        applicationInformation = getVersion( getClass().getClassLoader(), 
"org.apache.maven", "maven-core" );
+    }
+    
+    public static ApplicationInformation getVersion( ClassLoader loader, 
String groupId, String artifactId )
+    {
+        String MAVEN_PROPERTIES = "META-INF/maven/" + groupId + "/" + 
artifactId + "/pom.properties";
+
+        String version = "unknown";
+        String builtOn = "unknown";
 
-        /*
         InputStream resourceAsStream = null;
         try
         {
             Properties properties = new Properties();
-            resourceAsStream = 
getClass().getClassLoader().getResourceAsStream( MAVEN_PROPERTIES );
+            resourceAsStream = loader.getResourceAsStream( MAVEN_PROPERTIES );
             
             if ( resourceAsStream == null )
             {
                 throw new IllegalStateException( "Unable to find Maven 
properties in classpath: " + MAVEN_PROPERTIES );
             }
+            
             properties.load( resourceAsStream );
 
             String property = properties.getProperty( "version" );
-            if ( property == null )
+            
+            if ( property != null )
             {
-                throw new InitializationException( "maven-core properties did 
not include the version" );
+                version = property;
             }
-
-            applicationVersion = new DefaultArtifactVersion( property );
+            
+            property = properties.getProperty( "builtOn" );
+            
+            if ( property != null )
+            {
+                builtOn = property;
+            }
+            
+            return new ApplicationInformation( new DefaultArtifactVersion( 
version ), builtOn );
+            
         }
         catch ( IOException e )
         {
-            throw new InitializationException( "Unable to read properties file 
from maven-core", e );
+            return new ApplicationInformation( new DefaultArtifactVersion( 
version ), builtOn );
         }
         finally
         {
             IOUtil.close( resourceAsStream );
-        }
-        */
+        }        
     }
 }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RuntimeInformation.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RuntimeInformation.java?rev=701264&r1=701263&r2=701264&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RuntimeInformation.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RuntimeInformation.java
 Thu Oct  2 15:36:41 2008
@@ -19,8 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-
 /**
  * Describes runtime information about the application.
  *
@@ -29,5 +27,5 @@
  */
 public interface RuntimeInformation
 {
-    ArtifactVersion getApplicationVersion();
+    ApplicationInformation getApplicationInformation();
 }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java?rev=701264&r1=701263&r2=701264&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManagerSupport.java
 Thu Oct  2 15:36:41 2008
@@ -154,7 +154,7 @@
                                                                                
  pluginProject.getPrerequisites()
                                                                                
               .getMaven() );
 
-            if ( runtimeInformation.getApplicationVersion().compareTo( 
requiredVersion ) < 0 )
+            if ( 
runtimeInformation.getApplicationInformation().getVersion().compareTo( 
requiredVersion ) < 0 )
             {
                 throw new PluginVersionResolutionException( 
plugin.getGroupId(),
                                                             
plugin.getArtifactId(),

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=701264&r1=701263&r2=701264&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
 Thu Oct  2 15:36:41 2008
@@ -256,7 +256,7 @@
                                                                         
e.getMessage() );
                     }
 
-                    if ( ( mavenRange != null ) && 
!mavenRange.containsVersion( runtimeInformation.getApplicationVersion() ) )
+                    if ( ( mavenRange != null ) && 
!mavenRange.containsVersion( 
runtimeInformation.getApplicationInformation().getVersion() ) )
                     {
                         getLogger().info( "Ignoring available plugin version: 
" + artifactVersion +
                             " for: " + groupId + ":" + artifactId + " as it 
requires Maven version matching: " + mavenVersion );

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=701264&r1=701263&r2=701264&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
 Thu Oct  2 15:36:41 2008
@@ -4,6 +4,8 @@
 import org.apache.maven.embedder.MavenEmbedderLogger;
 import org.apache.maven.errors.CoreErrorReporter;
 import org.apache.maven.errors.DefaultCoreErrorReporter;
+import org.apache.maven.execution.ApplicationInformation;
+import org.apache.maven.execution.DefaultRuntimeInformation;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.execution.ReactorManager;
@@ -27,9 +29,9 @@
 
 /**
  * Utility class used to report errors, statistics, application version info, 
etc.
- *
+ * 
  * @author jdcasey
- *
+ * 
  */
 public final class CLIReportingUtils
 {
@@ -48,58 +50,22 @@
 
     static void showVersion()
     {
-        InputStream resourceAsStream;
-        try
-        {
-            Properties properties = new Properties();
-            resourceAsStream = MavenCli.class.getClassLoader()
-                                             .getResourceAsStream( 
"META-INF/maven/org.apache.maven/maven-core/pom.properties" );
-
-            if ( resourceAsStream != null )
-            {
-                properties.load( resourceAsStream );
+        ApplicationInformation ai = DefaultRuntimeInformation.getVersion( 
MavenCli.class.getClassLoader(), "org.apache.maven", "maven-core" );
 
-                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" ) );
-                }
-            }
-            else
-            {
-                System.out.println( "Maven version: unknown" );
-            }
-
-            System.out.println( "Java version: "
-                                + System.getProperty( "java.version", 
"<unknown java version>" ) );
-
-            System.out.println( "Default locale: " + Locale.getDefault() + ", 
platform 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 + "\"" );
-        }
-        catch ( IOException e )
-        {
-            System.err.println( "Unable determine version from JAR file: " + 
e.getMessage() );
-        }
+        System.out.println( "Maven version: " + ai.getVersion() + " built on " 
+ ai.getBuiltOn() );
+        System.out.println( "Java version: " + System.getProperty( 
"java.version", "<unknown java version>" ) );
+        System.out.println( "Default locale: " + Locale.getDefault() + ", 
platform 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 + 
"\"" );
     }
 
     /**
      * Logs result of the executed build.
+     * 
      * @param request - build parameters
      * @param result - result of build
      * @param logger - the logger to use
      */
-    public static void logResult( MavenExecutionRequest request,
-                           MavenExecutionResult result,
-                           MavenEmbedderLogger logger )
+    public static void logResult( MavenExecutionRequest request, 
MavenExecutionResult result, MavenEmbedderLogger logger )
     {
         ReactorManager reactorManager = result.getReactorManager();
 
@@ -131,7 +97,7 @@
                 stats( request.getStartTime(), logger );
 
                 line( logger );
-                
+
                 printSuccess = false;
             }
             else
@@ -156,9 +122,7 @@
         logger.close();
     }
 
-    static void showError( String message,
-                           Exception e,
-                           boolean showErrors )
+    static void showError( String message, Exception e, boolean showErrors )
     {
         MavenEmbedderLogger logger = new MavenEmbedderConsoleLogger();
 
@@ -170,27 +134,21 @@
         }
     }
 
-    private static void showError( Exception e,
-                           boolean show,
-                           CoreErrorReporter reporter,
-                           MavenEmbedderLogger logger )
+    private static void showError( Exception e, boolean show, 
CoreErrorReporter reporter, MavenEmbedderLogger logger )
     {
         showError( null, e, show, reporter, logger );
     }
 
     /**
      * Format the exception and output it through the logger.
+     * 
      * @param message - error message
      * @param e - exception that was thrown
      * @param showStackTraces
      * @param logger
      */
     //mkleint: public because used in netbeans integration
-    public static void showError( String message,
-                           Exception e,
-                           boolean showStackTraces,
-                           CoreErrorReporter reporter,
-                           MavenEmbedderLogger logger )
+    public static void showError( String message, Exception e, boolean 
showStackTraces, CoreErrorReporter reporter, MavenEmbedderLogger logger )
     {
         StringWriter writer = new StringWriter();
 
@@ -217,10 +175,7 @@
         logger.error( writer.toString() );
     }
 
-    public static void buildErrorMessage( Exception e,
-                                           boolean showStackTraces,
-                                           CoreErrorReporter reporter,
-                                           StringWriter writer )
+    public static void buildErrorMessage( Exception e, boolean 
showStackTraces, CoreErrorReporter reporter, StringWriter writer )
     {
         if ( reporter != null )
         {
@@ -252,21 +207,15 @@
 
         if ( e instanceof ProjectBuildingException )
         {
-            handled = handleProjectBuildingException( 
(ProjectBuildingException) e,
-                                                      showStackTraces,
-                                                      writer );
+            handled = handleProjectBuildingException( 
(ProjectBuildingException) e, showStackTraces, writer );
         }
         else if ( e instanceof LifecycleExecutionException )
         {
-            handled = handleLifecycleExecutionException( 
(LifecycleExecutionException) e,
-                                                         showStackTraces,
-                                                         writer );
+            handled = handleLifecycleExecutionException( 
(LifecycleExecutionException) e, showStackTraces, writer );
         }
         else if ( e instanceof MavenExecutionException )
         {
-            handled = handleMavenExecutionException( (MavenExecutionException) 
e,
-                                                     showStackTraces,
-                                                     writer );
+            handled = handleMavenExecutionException( (MavenExecutionException) 
e, showStackTraces, writer );
         }
 
         if ( !handled )
@@ -275,9 +224,7 @@
         }
     }
 
-    private static boolean handleMavenExecutionException( 
MavenExecutionException e,
-                                                          boolean 
showStackTraces,
-                                                          StringWriter writer )
+    private static boolean handleMavenExecutionException( 
MavenExecutionException e, boolean showStackTraces, StringWriter writer )
     {
         handleGenericException( e, showStackTraces, writer );
 
@@ -294,17 +241,13 @@
         return true;
     }
 
-    private static void handleGenericException( Throwable exception,
-                                                boolean showStackTraces,
-                                                StringWriter writer )
+    private static void handleGenericException( Throwable exception, boolean 
showStackTraces, StringWriter writer )
     {
         writer.write( exception.getMessage() );
         writer.write( NEWLINE );
     }
 
-    private static boolean handleLifecycleExecutionException( 
LifecycleExecutionException e,
-                                                              boolean 
showStackTraces,
-                                                              StringWriter 
writer )
+    private static boolean handleLifecycleExecutionException( 
LifecycleExecutionException e, boolean showStackTraces, StringWriter writer )
     {
         handleGenericException( e, showStackTraces, writer );
 
@@ -324,9 +267,7 @@
         return true;
     }
 
-    private static boolean handleProjectBuildingException( 
ProjectBuildingException e,
-                                                           boolean 
showStackTraces,
-                                                           StringWriter writer 
)
+    private static boolean handleProjectBuildingException( 
ProjectBuildingException e, boolean showStackTraces, StringWriter writer )
     {
         handleGenericException( e, showStackTraces, writer );
 
@@ -348,8 +289,7 @@
         return true;
     }
 
-    private static void logReactorSummary( ReactorManager rm,
-                                           MavenEmbedderLogger logger )
+    private static void logReactorSummary( ReactorManager rm, 
MavenEmbedderLogger logger )
     {
         if ( ( rm != null ) && rm.hasMultipleProjects() && 
rm.executedMultipleProjects() )
         {
@@ -373,23 +313,15 @@
 
                 if ( rm.hasBuildFailure( project ) )
                 {
-                    logReactorSummaryLine( project.getName(),
-                                           "FAILED",
-                                           rm.getBuildFailure( project 
).getTime(),
-                                           logger );
+                    logReactorSummaryLine( project.getName(), "FAILED", 
rm.getBuildFailure( project ).getTime(), logger );
                 }
                 else if ( rm.isBlackListed( project ) )
                 {
-                    logReactorSummaryLine( project.getName(),
-                                           "SKIPPED (dependency build failed 
or was skipped)",
-                                           logger );
+                    logReactorSummaryLine( project.getName(), "SKIPPED 
(dependency build failed or was skipped)", logger );
                 }
                 else if ( rm.hasBuildSuccess( project ) )
                 {
-                    logReactorSummaryLine( project.getName(),
-                                           "SUCCESS",
-                                           rm.getBuildSuccess( project 
).getTime(),
-                                           logger );
+                    logReactorSummaryLine( project.getName(), "SUCCESS", 
rm.getBuildSuccess( project ).getTime(), logger );
                 }
                 else
                 {
@@ -400,8 +332,7 @@
         }
     }
 
-    private static void stats( Date start,
-                               MavenEmbedderLogger logger )
+    private static void stats( Date start, MavenEmbedderLogger logger )
     {
         Date finish = new Date();
 
@@ -416,8 +347,7 @@
 
         Runtime r = Runtime.getRuntime();
 
-        logger.info( "Final Memory: " + ( r.totalMemory() - r.freeMemory() ) / 
MB + "M/"
-                     + r.totalMemory() / MB + "M" );
+        logger.info( "Final Memory: " + ( r.totalMemory() - r.freeMemory() ) / 
MB + "M/" + r.totalMemory() / MB + "M" );
     }
 
     private static void line( MavenEmbedderLogger logger )
@@ -459,17 +389,12 @@
         return msg;
     }
 
-    private static void logReactorSummaryLine( String name,
-                                               String status,
-                                               MavenEmbedderLogger logger )
+    private static void logReactorSummaryLine( String name, String status, 
MavenEmbedderLogger logger )
     {
         logReactorSummaryLine( name, status, -1, logger );
     }
 
-    private static void logReactorSummaryLine( String name,
-                                               String status,
-                                               long time,
-                                               MavenEmbedderLogger logger )
+    private static void logReactorSummaryLine( String name, String status, 
long time, MavenEmbedderLogger logger )
     {
         StringBuffer messageBuffer = new StringBuffer();
 


Reply via email to