You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Dennis Lundberg <de...@apache.org> on 2008/01/31 23:59:25 UTC

Re: svn commit: r616959 - in /maven/plugins/trunk/maven-help-plugin: pom.xml src/main/java/org/apache/maven/plugins/help/SystemMojo.java src/site/apt/index.apt src/site/apt/usage.apt

The new plexus-utils version will not be used unless you bump the 
prerequisites for Maven to 2.0.6.

vsiveton@apache.org wrote:
> Author: vsiveton
> Date: Wed Jan 30 15:36:28 2008
> New Revision: 616959
> 
> URL: http://svn.apache.org/viewvc?rev=616959&view=rev
> Log:
> MPH-28: New goal to list platform details
> 
> o added the wanted goal
> o updated the documentation
> 
> Added:
>     maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java   (with props)
> Modified:
>     maven/plugins/trunk/maven-help-plugin/pom.xml
>     maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
>     maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> 
> Modified: maven/plugins/trunk/maven-help-plugin/pom.xml
> URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/pom.xml?rev=616959&r1=616958&r2=616959&view=diff
> ==============================================================================
> --- maven/plugins/trunk/maven-help-plugin/pom.xml (original)
> +++ maven/plugins/trunk/maven-help-plugin/pom.xml Wed Jan 30 15:36:28 2008
> @@ -88,6 +88,11 @@
>        <artifactId>plexus-container-default</artifactId>
>        <version>1.0-alpha-9</version>
>      </dependency>
> +    <dependency>
> +      <groupId>org.codehaus.plexus</groupId>
> +      <artifactId>plexus-utils</artifactId>
> +      <version>1.4.5</version>
> +    </dependency>
>    </dependencies>
>    <reporting>
>      <plugins>
> 
> Added: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java?rev=616959&view=auto
> ==============================================================================
> --- maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java (added)
> +++ maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java Wed Jan 30 15:36:28 2008
> @@ -0,0 +1,157 @@
> +package org.apache.maven.plugins.help;
> +
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *   http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +import java.io.File;
> +import java.io.IOException;
> +import java.io.Writer;
> +import java.util.Date;
> +import java.util.Iterator;
> +import java.util.Properties;
> +
> +import org.apache.maven.plugin.AbstractMojo;
> +import org.apache.maven.plugin.MojoExecutionException;
> +import org.codehaus.plexus.util.WriterFactory;
> +import org.codehaus.plexus.util.cli.CommandLineUtils;
> +
> +/**
> + * Lists the platform details like system properties and environment variables.
> + *
> + * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
> + * @version $Id$
> + * @since 2.1
> + * @goal system
> + */
> +public class SystemMojo
> +    extends AbstractMojo
> +{
> +    /**
> +     * Optional parameter for a file destination for the output of this mojo.
> +     *
> +     * @parameter expression="${output}"
> +     */
> +    private File output;
> +
> +    /** {@inheritDoc} */
> +    public void execute()
> +        throws MojoExecutionException
> +    {
> +        StringBuffer message = new StringBuffer();
> +
> +        message.append( "===== Platform Details =====" ).append( '\n' );
> +        message.append( '\n' );
> +        message.append( "===== System Properties =====" ).append( '\n' );
> +
> +        Properties systemProperties = System.getProperties();
> +        for ( Iterator it = systemProperties.keySet().iterator(); it.hasNext(); )
> +        {
> +            String key = it.next().toString();
> +            message.append( "\n" );
> +            message.append( key ).append( "=" ).append( systemProperties.get( key ) );
> +        }
> +
> +        message.append( '\n' ).append( '\n' );
> +        message.append( "===== Environment Variables =====" ).append( '\n' );
> +        try
> +        {
> +            Properties envVars = CommandLineUtils.getSystemEnvVars();
> +            for ( Iterator it2 = envVars.keySet().iterator(); it2.hasNext(); )
> +            {
> +                String key = it2.next().toString();
> +                message.append( "\n" );
> +                message.append( key ).append( "=" ).append( envVars.get( key ) );
> +            }
> +        }
> +        catch ( IOException e )
> +        {
> +            if ( getLog().isWarnEnabled() )
> +            {
> +                getLog().warn( "IOException: " + e.getMessage() );
> +            }
> +        }
> +
> +        message.append( "\n" );
> +
> +        if ( output != null )
> +        {
> +            writeFile( message );
> +        }
> +        else
> +        {
> +            if ( getLog().isInfoEnabled() )
> +            {
> +                getLog().info( message );
> +            }
> +        }
> +    }
> +
> +    /**
> +     * Method for writing the output file of the active profiles information.
> +     *
> +     * @param message the output to be written to the file
> +     * @throws MojoExecutionException if any
> +     */
> +    private void writeFile( StringBuffer message )
> +        throws MojoExecutionException
> +    {
> +        Writer writer = null;
> +        try
> +        {
> +            File dir = output.getParentFile();
> +            if ( !dir.exists() )
> +            {
> +                dir.mkdirs();
> +            }
> +
> +            writer = WriterFactory.newPlatformWriter( output );
> +
> +            writer.write( "Created by: " + getClass().getName() + "\n" );
> +            writer.write( "Created on: " + new Date() + "\n\n" );
> +            writer.write( message.toString() );
> +            writer.flush();
> +
> +            if ( getLog().isInfoEnabled() )
> +            {
> +                getLog().info( "System report written to: " + output );
> +            }
> +        }
> +        catch ( IOException e )
> +        {
> +            throw new MojoExecutionException( "Cannot write output to file: " + output, e );
> +        }
> +        finally
> +        {
> +            if ( writer != null )
> +            {
> +                try
> +                {
> +                    writer.close();
> +                }
> +                catch ( IOException e )
> +                {
> +                    if ( getLog().isDebugEnabled() )
> +                    {
> +                        getLog().debug( "Failed to close output file writer.", e );
> +                    }
> +                }
> +            }
> +        }
> +    }
> +}
> 
> Propchange: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> ------------------------------------------------------------------------------
>     svn:keywords = "Author Date Id Revision"
> 
> Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt?rev=616959&r1=616958&r2=616959&view=diff
> ==============================================================================
> --- maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt (original)
> +++ maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt Wed Jan 30 15:36:28 2008
> @@ -3,7 +3,7 @@
>   ------
>   Maria Odea Ching
>   ------
> - 7 July 2006
> + January 2008
>   ------
>  
>   ~~ Licensed to the Apache Software Foundation (ASF) under one
> @@ -25,7 +25,7 @@
>  
>  Maven 2 Help Plugin
>  
> - The Maven 2 Help Plugin is used to get relative information about a project. It can be used to get a description
> + The Maven 2 Help Plugin is used to get relative information about a project or the system. It can be used to get a description
>   of a particular plugin, including the plugin's mojos with their parameters and component requirements, the effective pom
>   and effective settings of the current build, and the profiles applied to the current project being built.
>  
> @@ -44,6 +44,8 @@
>    * {{{effective-settings-mojo.html}help:effective-settings}} prints out the calculated settings for the project, given any
>      profile enhancement and the inheritance of the global settings into the user-level settings.
>  
> +  * {{{system-mojo.html}help:system}} displays the platform details like system properties and environment variables.
> +
>  * Usage
>  
>     Instructions on how to use the Help Plugin can be found {{{usage.html}here}}.
> @@ -54,6 +56,3 @@
>     following example(s):
>  
>     * {{{examples/describe-configuration.html}Configuring Describe Mojo}}
> -
> -
> -
> 
> Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt?rev=616959&r1=616958&r2=616959&view=diff
> ==============================================================================
> --- maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt (original)
> +++ maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt Wed Jan 30 15:36:28 2008
> @@ -4,7 +4,7 @@
>   John Casey
>   Maria Odea Ching
>   ------
> - 10 July 2006
> + January 2008
>   ------
>  
>   ~~ Licensed to the Apache Software Foundation (ASF) under one
> @@ -60,7 +60,7 @@
>  mvn help:describe -Dplugin=org.somewhere:some-plugin:0.0.0
>  +-----+
>  
> - Here is an example with the <<<mojo>>> parameter specified: 
> + Here is an example with the <<<mojo>>> parameter specified:
>  
>  +-----+
>  mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin -Dmojo=describe
> @@ -93,6 +93,15 @@
>  mvn help:effective-settings
>  +-----+
>  
> +* The <<<help:system>>> Mojo
> +
> +  The <<<system>>> mojo is used to view the system informations like system properties and environment variables.
> +
> +  The mojo can be executed using the following command:
> +
> ++-----+
> +mvn help:system
> ++-----+
>  
>  * Redirecting output to a file
>  
> 
> 
> 


-- 
Dennis Lundberg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r616959 - in /maven/plugins/trunk/maven-help-plugin: pom.xml src/main/java/org/apache/maven/plugins/help/SystemMojo.java src/site/apt/index.apt src/site/apt/usage.apt

Posted by Hervé BOUTEMY <he...@free.fr>.
no, it is for p-u != 1.1 (the version in Maven 2.0.5- )

regards,

Hervé

Le vendredi 01 février 2008, Vincent Siveton a écrit :
> I was thinking that prerequisites 2.0.6+ was for p-u > 1.4.5, isn't?
>
> Cheers,
>
> Vincent
>
> 2008/1/31, Dennis Lundberg <de...@apache.org>:
> > The new plexus-utils version will not be used unless you bump the
> > prerequisites for Maven to 2.0.6.
> >
> > vsiveton@apache.org wrote:
> > > Author: vsiveton
> > > Date: Wed Jan 30 15:36:28 2008
> > > New Revision: 616959
> > >
> > > URL: http://svn.apache.org/viewvc?rev=616959&view=rev
> > > Log:
> > > MPH-28: New goal to list platform details
> > >
> > > o added the wanted goal
> > > o updated the documentation
> > >
> > > Added:
> > >    
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java   (with props) Modified:
> > >     maven/plugins/trunk/maven-help-plugin/pom.xml
> > >     maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> > >     maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> > >
> > > Modified: maven/plugins/trunk/maven-help-plugin/pom.xml
> > > URL:
> > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/pom.
> > >xml?rev=616959&r1=616958&r2=616959&view=diff
> > > =======================================================================
> > >======= --- maven/plugins/trunk/maven-help-plugin/pom.xml (original)
> > > +++ maven/plugins/trunk/maven-help-plugin/pom.xml Wed Jan 30 15:36:28
> > > 2008 @@ -88,6 +88,11 @@
> > >        <artifactId>plexus-container-default</artifactId>
> > >        <version>1.0-alpha-9</version>
> > >      </dependency>
> > > +    <dependency>
> > > +      <groupId>org.codehaus.plexus</groupId>
> > > +      <artifactId>plexus-utils</artifactId>
> > > +      <version>1.4.5</version>
> > > +    </dependency>
> > >    </dependencies>
> > >    <reporting>
> > >      <plugins>
> > >
> > > Added:
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java URL:
> > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/
> > >main/java/org/apache/maven/plugins/help/SystemMojo.java?rev=616959&view=
> > >auto
> > > =======================================================================
> > >======= ---
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java (added) +++
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java Wed Jan 30 15:36:28 2008 @@ -0,0 +1,157 @@
> > > +package org.apache.maven.plugins.help;
> > > +
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements.  See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership.  The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License.  You may obtain a copy of the License at
> > > + *
> > > + *   http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied.  See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +
> > > +import java.io.File;
> > > +import java.io.IOException;
> > > +import java.io.Writer;
> > > +import java.util.Date;
> > > +import java.util.Iterator;
> > > +import java.util.Properties;
> > > +
> > > +import org.apache.maven.plugin.AbstractMojo;
> > > +import org.apache.maven.plugin.MojoExecutionException;
> > > +import org.codehaus.plexus.util.WriterFactory;
> > > +import org.codehaus.plexus.util.cli.CommandLineUtils;
> > > +
> > > +/**
> > > + * Lists the platform details like system properties and environment
> > > variables. + *
> > > + * @author <a href="mailto:vincent.siveton@gmail.com">Vincent
> > > Siveton</a> + * @version $Id$
> > > + * @since 2.1
> > > + * @goal system
> > > + */
> > > +public class SystemMojo
> > > +    extends AbstractMojo
> > > +{
> > > +    /**
> > > +     * Optional parameter for a file destination for the output of
> > > this mojo. +     *
> > > +     * @parameter expression="${output}"
> > > +     */
> > > +    private File output;
> > > +
> > > +    /** {@inheritDoc} */
> > > +    public void execute()
> > > +        throws MojoExecutionException
> > > +    {
> > > +        StringBuffer message = new StringBuffer();
> > > +
> > > +        message.append( "===== Platform Details =====" ).append( '\n'
> > > ); +        message.append( '\n' );
> > > +        message.append( "===== System Properties =====" ).append( '\n'
> > > ); +
> > > +        Properties systemProperties = System.getProperties();
> > > +        for ( Iterator it = systemProperties.keySet().iterator();
> > > it.hasNext(); ) +        {
> > > +            String key = it.next().toString();
> > > +            message.append( "\n" );
> > > +            message.append( key ).append( "=" ).append(
> > > systemProperties.get( key ) ); +        }
> > > +
> > > +        message.append( '\n' ).append( '\n' );
> > > +        message.append( "===== Environment Variables =====" ).append(
> > > '\n' ); +        try
> > > +        {
> > > +            Properties envVars = CommandLineUtils.getSystemEnvVars();
> > > +            for ( Iterator it2 = envVars.keySet().iterator();
> > > it2.hasNext(); ) +            {
> > > +                String key = it2.next().toString();
> > > +                message.append( "\n" );
> > > +                message.append( key ).append( "=" ).append(
> > > envVars.get( key ) ); +            }
> > > +        }
> > > +        catch ( IOException e )
> > > +        {
> > > +            if ( getLog().isWarnEnabled() )
> > > +            {
> > > +                getLog().warn( "IOException: " + e.getMessage() );
> > > +            }
> > > +        }
> > > +
> > > +        message.append( "\n" );
> > > +
> > > +        if ( output != null )
> > > +        {
> > > +            writeFile( message );
> > > +        }
> > > +        else
> > > +        {
> > > +            if ( getLog().isInfoEnabled() )
> > > +            {
> > > +                getLog().info( message );
> > > +            }
> > > +        }
> > > +    }
> > > +
> > > +    /**
> > > +     * Method for writing the output file of the active profiles
> > > information. +     *
> > > +     * @param message the output to be written to the file
> > > +     * @throws MojoExecutionException if any
> > > +     */
> > > +    private void writeFile( StringBuffer message )
> > > +        throws MojoExecutionException
> > > +    {
> > > +        Writer writer = null;
> > > +        try
> > > +        {
> > > +            File dir = output.getParentFile();
> > > +            if ( !dir.exists() )
> > > +            {
> > > +                dir.mkdirs();
> > > +            }
> > > +
> > > +            writer = WriterFactory.newPlatformWriter( output );
> > > +
> > > +            writer.write( "Created by: " + getClass().getName() + "\n"
> > > ); +            writer.write( "Created on: " + new Date() + "\n\n" ); +
> > >            writer.write( message.toString() );
> > > +            writer.flush();
> > > +
> > > +            if ( getLog().isInfoEnabled() )
> > > +            {
> > > +                getLog().info( "System report written to: " + output
> > > ); +            }
> > > +        }
> > > +        catch ( IOException e )
> > > +        {
> > > +            throw new MojoExecutionException( "Cannot write output to
> > > file: " + output, e ); +        }
> > > +        finally
> > > +        {
> > > +            if ( writer != null )
> > > +            {
> > > +                try
> > > +                {
> > > +                    writer.close();
> > > +                }
> > > +                catch ( IOException e )
> > > +                {
> > > +                    if ( getLog().isDebugEnabled() )
> > > +                    {
> > > +                        getLog().debug( "Failed to close output file
> > > writer.", e ); +                    }
> > > +                }
> > > +            }
> > > +        }
> > > +    }
> > > +}
> > >
> > > Propchange:
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java
> > > -----------------------------------------------------------------------
> > >------- svn:eol-style = native
> > >
> > > Propchange:
> > > maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/pl
> > >ugins/help/SystemMojo.java
> > > -----------------------------------------------------------------------
> > >------- svn:keywords = "Author Date Id Revision"
> > >
> > > Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> > > URL:
> > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/
> > >site/apt/index.apt?rev=616959&r1=616958&r2=616959&view=diff
> > > =======================================================================
> > >======= --- maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> > > (original) +++
> > > maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt Wed Jan 30
> > > 15:36:28 2008 @@ -3,7 +3,7 @@
> > >   ------
> > >   Maria Odea Ching
> > >   ------
> > > - 7 July 2006
> > > + January 2008
> > >   ------
> > >
> > >   ~~ Licensed to the Apache Software Foundation (ASF) under one
> > > @@ -25,7 +25,7 @@
> > >
> > >  Maven 2 Help Plugin
> > >
> > > - The Maven 2 Help Plugin is used to get relative information about a
> > > project. It can be used to get a description + The Maven 2 Help Plugin
> > > is used to get relative information about a project or the system. It
> > > can be used to get a description of a particular plugin, including the
> > > plugin's mojos with their parameters and component requirements, the
> > > effective pom and effective settings of the current build, and the
> > > profiles applied to the current project being built.
> > >
> > > @@ -44,6 +44,8 @@
> > >    * {{{effective-settings-mojo.html}help:effective-settings}} prints
> > > out the calculated settings for the project, given any profile
> > > enhancement and the inheritance of the global settings into the
> > > user-level settings.
> > >
> > > +  * {{{system-mojo.html}help:system}} displays the platform details
> > > like system properties and environment variables. +
> > >  * Usage
> > >
> > >     Instructions on how to use the Help Plugin can be found
> > > {{{usage.html}here}}. @@ -54,6 +56,3 @@
> > >     following example(s):
> > >
> > >     * {{{examples/describe-configuration.html}Configuring Describe
> > > Mojo}} -
> > > -
> > > -
> > >
> > > Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> > > URL:
> > > http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/
> > >site/apt/usage.apt?rev=616959&r1=616958&r2=616959&view=diff
> > > =======================================================================
> > >======= --- maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> > > (original) +++
> > > maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt Wed Jan 30
> > > 15:36:28 2008 @@ -4,7 +4,7 @@
> > >   John Casey
> > >   Maria Odea Ching
> > >   ------
> > > - 10 July 2006
> > > + January 2008
> > >   ------
> > >
> > >   ~~ Licensed to the Apache Software Foundation (ASF) under one
> > > @@ -60,7 +60,7 @@
> > >  mvn help:describe -Dplugin=org.somewhere:some-plugin:0.0.0
> > >  +-----+
> > >
> > > - Here is an example with the <<<mojo>>> parameter specified:
> > > + Here is an example with the <<<mojo>>> parameter specified:
> > >
> > >  +-----+
> > >  mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin
> > > -Dmojo=describe @@ -93,6 +93,15 @@
> > >  mvn help:effective-settings
> > >  +-----+
> > >
> > > +* The <<<help:system>>> Mojo
> > > +
> > > +  The <<<system>>> mojo is used to view the system informations like
> > > system properties and environment variables. +
> > > +  The mojo can be executed using the following command:
> > > +
> > > ++-----+
> > > +mvn help:system
> > > ++-----+
> > >
> > >  * Redirecting output to a file
> >
> > --
> > Dennis Lundberg
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r616959 - in /maven/plugins/trunk/maven-help-plugin: pom.xml src/main/java/org/apache/maven/plugins/help/SystemMojo.java src/site/apt/index.apt src/site/apt/usage.apt

Posted by Vincent Siveton <vi...@gmail.com>.
I was thinking that prerequisites 2.0.6+ was for p-u > 1.4.5, isn't?

Cheers,

Vincent

2008/1/31, Dennis Lundberg <de...@apache.org>:
> The new plexus-utils version will not be used unless you bump the
> prerequisites for Maven to 2.0.6.
>
> vsiveton@apache.org wrote:
> > Author: vsiveton
> > Date: Wed Jan 30 15:36:28 2008
> > New Revision: 616959
> >
> > URL: http://svn.apache.org/viewvc?rev=616959&view=rev
> > Log:
> > MPH-28: New goal to list platform details
> >
> > o added the wanted goal
> > o updated the documentation
> >
> > Added:
> >     maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java   (with props)
> > Modified:
> >     maven/plugins/trunk/maven-help-plugin/pom.xml
> >     maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> >     maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> >
> > Modified: maven/plugins/trunk/maven-help-plugin/pom.xml
> > URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/pom.xml?rev=616959&r1=616958&r2=616959&view=diff
> > ==============================================================================
> > --- maven/plugins/trunk/maven-help-plugin/pom.xml (original)
> > +++ maven/plugins/trunk/maven-help-plugin/pom.xml Wed Jan 30 15:36:28 2008
> > @@ -88,6 +88,11 @@
> >        <artifactId>plexus-container-default</artifactId>
> >        <version>1.0-alpha-9</version>
> >      </dependency>
> > +    <dependency>
> > +      <groupId>org.codehaus.plexus</groupId>
> > +      <artifactId>plexus-utils</artifactId>
> > +      <version>1.4.5</version>
> > +    </dependency>
> >    </dependencies>
> >    <reporting>
> >      <plugins>
> >
> > Added: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> > URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java?rev=616959&view=auto
> > ==============================================================================
> > --- maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java (added)
> > +++ maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java Wed Jan 30 15:36:28 2008
> > @@ -0,0 +1,157 @@
> > +package org.apache.maven.plugins.help;
> > +
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements.  See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership.  The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License.  You may obtain a copy of the License at
> > + *
> > + *   http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied.  See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +
> > +import java.io.File;
> > +import java.io.IOException;
> > +import java.io.Writer;
> > +import java.util.Date;
> > +import java.util.Iterator;
> > +import java.util.Properties;
> > +
> > +import org.apache.maven.plugin.AbstractMojo;
> > +import org.apache.maven.plugin.MojoExecutionException;
> > +import org.codehaus.plexus.util.WriterFactory;
> > +import org.codehaus.plexus.util.cli.CommandLineUtils;
> > +
> > +/**
> > + * Lists the platform details like system properties and environment variables.
> > + *
> > + * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
> > + * @version $Id$
> > + * @since 2.1
> > + * @goal system
> > + */
> > +public class SystemMojo
> > +    extends AbstractMojo
> > +{
> > +    /**
> > +     * Optional parameter for a file destination for the output of this mojo.
> > +     *
> > +     * @parameter expression="${output}"
> > +     */
> > +    private File output;
> > +
> > +    /** {@inheritDoc} */
> > +    public void execute()
> > +        throws MojoExecutionException
> > +    {
> > +        StringBuffer message = new StringBuffer();
> > +
> > +        message.append( "===== Platform Details =====" ).append( '\n' );
> > +        message.append( '\n' );
> > +        message.append( "===== System Properties =====" ).append( '\n' );
> > +
> > +        Properties systemProperties = System.getProperties();
> > +        for ( Iterator it = systemProperties.keySet().iterator(); it.hasNext(); )
> > +        {
> > +            String key = it.next().toString();
> > +            message.append( "\n" );
> > +            message.append( key ).append( "=" ).append( systemProperties.get( key ) );
> > +        }
> > +
> > +        message.append( '\n' ).append( '\n' );
> > +        message.append( "===== Environment Variables =====" ).append( '\n' );
> > +        try
> > +        {
> > +            Properties envVars = CommandLineUtils.getSystemEnvVars();
> > +            for ( Iterator it2 = envVars.keySet().iterator(); it2.hasNext(); )
> > +            {
> > +                String key = it2.next().toString();
> > +                message.append( "\n" );
> > +                message.append( key ).append( "=" ).append( envVars.get( key ) );
> > +            }
> > +        }
> > +        catch ( IOException e )
> > +        {
> > +            if ( getLog().isWarnEnabled() )
> > +            {
> > +                getLog().warn( "IOException: " + e.getMessage() );
> > +            }
> > +        }
> > +
> > +        message.append( "\n" );
> > +
> > +        if ( output != null )
> > +        {
> > +            writeFile( message );
> > +        }
> > +        else
> > +        {
> > +            if ( getLog().isInfoEnabled() )
> > +            {
> > +                getLog().info( message );
> > +            }
> > +        }
> > +    }
> > +
> > +    /**
> > +     * Method for writing the output file of the active profiles information.
> > +     *
> > +     * @param message the output to be written to the file
> > +     * @throws MojoExecutionException if any
> > +     */
> > +    private void writeFile( StringBuffer message )
> > +        throws MojoExecutionException
> > +    {
> > +        Writer writer = null;
> > +        try
> > +        {
> > +            File dir = output.getParentFile();
> > +            if ( !dir.exists() )
> > +            {
> > +                dir.mkdirs();
> > +            }
> > +
> > +            writer = WriterFactory.newPlatformWriter( output );
> > +
> > +            writer.write( "Created by: " + getClass().getName() + "\n" );
> > +            writer.write( "Created on: " + new Date() + "\n\n" );
> > +            writer.write( message.toString() );
> > +            writer.flush();
> > +
> > +            if ( getLog().isInfoEnabled() )
> > +            {
> > +                getLog().info( "System report written to: " + output );
> > +            }
> > +        }
> > +        catch ( IOException e )
> > +        {
> > +            throw new MojoExecutionException( "Cannot write output to file: " + output, e );
> > +        }
> > +        finally
> > +        {
> > +            if ( writer != null )
> > +            {
> > +                try
> > +                {
> > +                    writer.close();
> > +                }
> > +                catch ( IOException e )
> > +                {
> > +                    if ( getLog().isDebugEnabled() )
> > +                    {
> > +                        getLog().debug( "Failed to close output file writer.", e );
> > +                    }
> > +                }
> > +            }
> > +        }
> > +    }
> > +}
> >
> > Propchange: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> > ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Propchange: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/SystemMojo.java
> > ------------------------------------------------------------------------------
> >     svn:keywords = "Author Date Id Revision"
> >
> > Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt
> > URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt?rev=616959&r1=616958&r2=616959&view=diff
> > ==============================================================================
> > --- maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt (original)
> > +++ maven/plugins/trunk/maven-help-plugin/src/site/apt/index.apt Wed Jan 30 15:36:28 2008
> > @@ -3,7 +3,7 @@
> >   ------
> >   Maria Odea Ching
> >   ------
> > - 7 July 2006
> > + January 2008
> >   ------
> >
> >   ~~ Licensed to the Apache Software Foundation (ASF) under one
> > @@ -25,7 +25,7 @@
> >
> >  Maven 2 Help Plugin
> >
> > - The Maven 2 Help Plugin is used to get relative information about a project. It can be used to get a description
> > + The Maven 2 Help Plugin is used to get relative information about a project or the system. It can be used to get a description
> >   of a particular plugin, including the plugin's mojos with their parameters and component requirements, the effective pom
> >   and effective settings of the current build, and the profiles applied to the current project being built.
> >
> > @@ -44,6 +44,8 @@
> >    * {{{effective-settings-mojo.html}help:effective-settings}} prints out the calculated settings for the project, given any
> >      profile enhancement and the inheritance of the global settings into the user-level settings.
> >
> > +  * {{{system-mojo.html}help:system}} displays the platform details like system properties and environment variables.
> > +
> >  * Usage
> >
> >     Instructions on how to use the Help Plugin can be found {{{usage.html}here}}.
> > @@ -54,6 +56,3 @@
> >     following example(s):
> >
> >     * {{{examples/describe-configuration.html}Configuring Describe Mojo}}
> > -
> > -
> > -
> >
> > Modified: maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt
> > URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt?rev=616959&r1=616958&r2=616959&view=diff
> > ==============================================================================
> > --- maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt (original)
> > +++ maven/plugins/trunk/maven-help-plugin/src/site/apt/usage.apt Wed Jan 30 15:36:28 2008
> > @@ -4,7 +4,7 @@
> >   John Casey
> >   Maria Odea Ching
> >   ------
> > - 10 July 2006
> > + January 2008
> >   ------
> >
> >   ~~ Licensed to the Apache Software Foundation (ASF) under one
> > @@ -60,7 +60,7 @@
> >  mvn help:describe -Dplugin=org.somewhere:some-plugin:0.0.0
> >  +-----+
> >
> > - Here is an example with the <<<mojo>>> parameter specified:
> > + Here is an example with the <<<mojo>>> parameter specified:
> >
> >  +-----+
> >  mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin -Dmojo=describe
> > @@ -93,6 +93,15 @@
> >  mvn help:effective-settings
> >  +-----+
> >
> > +* The <<<help:system>>> Mojo
> > +
> > +  The <<<system>>> mojo is used to view the system informations like system properties and environment variables.
> > +
> > +  The mojo can be executed using the following command:
> > +
> > ++-----+
> > +mvn help:system
> > ++-----+
> >
> >  * Redirecting output to a file
> >
> >
> >
> >
>
>
> --
> Dennis Lundberg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org