You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gb...@apache.org on 2016/10/16 20:58:59 UTC

svn commit: r1765191 - in /maven/plugins/trunk/maven-help-plugin: ./ src/it/evaluate-with-expression-with-output/ src/main/java/org/apache/maven/plugins/help/ src/test/java/org/apache/maven/plugins/help/ src/test/resources/unit/evaluate/

Author: gboue
Date: Sun Oct 16 20:58:58 2016
New Revision: 1765191

URL: http://svn.apache.org/viewvc?rev=1765191&view=rev
Log:
[MPH-99] Evaluate has no output in quiet mode

Adding the 'output' parameter to the evaluate Mojo. When used, along with an expression, the goal will write the result to the specified file instead of logging to the console. If no expression is specified, 'output' will be ignored (since the plugin will prompt for the expression, it is intended that the result is written to the console). The 'quiet' mode is documented to only output error messages, so having the result in quiet mode would break the usage of this parameter. This closes #17.

Added:
    maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/
    maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties   (with props)
    maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml   (with props)
    maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties   (with props)
    maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy   (with props)
    maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java   (with props)
    maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/
    maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml   (with props)
    maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml   (with props)
Modified:
    maven/plugins/trunk/maven-help-plugin/pom.xml
    maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/EvaluateMojo.java

Modified: maven/plugins/trunk/maven-help-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/pom.xml?rev=1765191&r1=1765190&r2=1765191&view=diff
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-help-plugin/pom.xml Sun Oct 16 20:58:58 2016
@@ -185,6 +185,12 @@ under the License.
       <version>1.4</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>

Added: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties (added)
+++ maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties Sun Oct 16 20:58:58 2016
@@ -0,0 +1,18 @@
+# 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.
+
+invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:evaluate

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/invoker.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml (added)
+++ maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml Sun Oct 16 20:58:58 2016
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.help</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0</version>
+  <name>Maven Foo Bar</name>
+  <description>https://issues.apache.org/jira/browse/MPH-99</description>
+
+  <build>
+    <plugins>
+    </plugins>
+  </build>
+</project>

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties (added)
+++ maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties Sun Oct 16 20:58:58 2016
@@ -0,0 +1,19 @@
+# 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.
+
+expression = project.name
+output = result.txt

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/test.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy (added)
+++ maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy Sun Oct 16 20:58:58 2016
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+def result = new File(basedir, 'result.txt').text; 
+assert result == 'Maven Foo Bar'
+
+def log = new File(basedir, 'build.log').text;
+assert log.contains('[INFO] Result of evaluation written to')
+
+return true;

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/it/evaluate-with-expression-with-output/verify.groovy
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/EvaluateMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/EvaluateMojo.java?rev=1765191&r1=1765190&r2=1765191&view=diff
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/EvaluateMojo.java (original)
+++ maven/plugins/trunk/maven-help-plugin/src/main/java/org/apache/maven/plugins/help/EvaluateMojo.java Sun Oct 16 20:58:58 2016
@@ -19,10 +19,18 @@ package org.apache.maven.plugins.help;
  * under the License.
  */
 
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.converters.MarshallingContext;
-import com.thoughtworks.xstream.converters.collections.PropertiesConverter;
-import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
+import java.util.jar.JarEntry;
+import java.util.jar.JarInputStream;
 
 import org.apache.commons.lang3.ClassUtils;
 import org.apache.maven.artifact.Artifact;
@@ -36,7 +44,6 @@ import org.apache.maven.execution.MavenS
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecution;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -56,18 +63,10 @@ import org.codehaus.plexus.components.in
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TreeMap;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.converters.MarshallingContext;
+import com.thoughtworks.xstream.converters.collections.PropertiesConverter;
+import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
 
 /**
  * Evaluates Maven expressions given by the user in an interactive mode.
@@ -78,7 +77,7 @@ import java.util.jar.JarInputStream;
  */
 @Mojo( name = "evaluate", requiresProject = false )
 public class EvaluateMojo
-    extends AbstractMojo
+    extends AbstractHelpMojo
 {
     // ----------------------------------------------------------------------
     // Mojo components
@@ -121,6 +120,18 @@ public class EvaluateMojo
     // ----------------------------------------------------------------------
     // Mojo parameters
     // ----------------------------------------------------------------------
+    
+    // we need to hide the 'output' defined in AbstractHelpMojo to have a correct "since".
+    /**
+     * Optional parameter to write the output of this help in a given file, instead of writing to the console.
+     * This parameter will be ignored if no <code>expression</code> is specified.
+     * <br/>
+     * <b>Note</b>: Could be a relative path.
+     * 
+     * @since 2.2.1
+     */
+    @Parameter( property = "output" )
+    private File output;
 
     /**
      * An artifact for evaluating Maven expressions.
@@ -211,6 +222,11 @@ public class EvaluateMojo
 
         if ( expression == null )
         {
+            if ( output != null )
+            {
+                getLog().warn( "When prompting for input, the result will be written to the console, "
+                    + "ignoring 'output'." );
+            }
             while ( true )
             {
                 getLog().info( "Enter the Maven expression i.e. ${project.groupId} or 0 to exit?:" );
@@ -223,7 +239,7 @@ public class EvaluateMojo
                         break;
                     }
 
-                    handleResponse( userExpression );
+                    handleResponse( userExpression, null );
                 }
                 catch ( IOException e )
                 {
@@ -233,7 +249,7 @@ public class EvaluateMojo
         }
         else
         {
-            handleResponse( "${" + expression + "}" );
+            handleResponse( "${" + expression + "}", output );
         }
     }
 
@@ -354,10 +370,11 @@ public class EvaluateMojo
 
     /**
      * @param expr the user expression asked.
+     * @param output the file where to write the result, or <code>null</code> to print in standard output.
      * @throws MojoExecutionException if any
      * @throws MojoFailureException if any reflection exceptions occur or missing components.
      */
-    private void handleResponse( String expr )
+    private void handleResponse( String expr, File output )
         throws MojoExecutionException, MojoFailureException
     {
         StringBuilder response = new StringBuilder();
@@ -466,7 +483,22 @@ public class EvaluateMojo
             response.append( toXML( expr, obj ) );
         }
 
-        getLog().info( "\n" + response.toString() );
+        if ( output != null )
+        {
+            try
+            {
+                writeFile( output, response );
+            }
+            catch ( IOException e )
+            {
+                throw new MojoExecutionException( "Cannot write evaluation of expression to output: " + output, e );
+            }
+            getLog().info( "Result of evaluation written to: " + output );
+        }
+        else
+        {
+            getLog().info( "\n" + response.toString() );
+        }
     }
 
     /**

Added: maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java (added)
+++ maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java Sun Oct 16 20:58:58 2016
@@ -0,0 +1,149 @@
+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 static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.monitor.logging.DefaultLog;
+import org.apache.maven.plugin.Mojo;
+import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
+import org.codehaus.plexus.components.interactivity.InputHandler;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Test class for the evaluate mojo of the Help Plugin.
+ */
+public class EvaluateMojoTest
+    extends AbstractMojoTestCase
+{
+
+    private InterceptingLog interceptingLogger;
+
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        interceptingLogger = new InterceptingLog( container.getLoggerManager().getLoggerForComponent( Mojo.ROLE ) );
+    }
+
+    /**
+     * Tests evaluation of an expression in interactive mode with a mock input handler.
+     * @throws Exception in case of errors.
+     */
+    public void testEvaluateWithoutExpression()
+        throws Exception
+    {
+        File testPom = new File( getBasedir(), "target/test-classes/unit/evaluate/plugin-config.xml" );
+
+        EvaluateMojo mojo = (EvaluateMojo) lookupMojo( "evaluate", testPom );
+
+        InputHandler inputHandler = mock( InputHandler.class );
+        when( inputHandler.readLine() ).thenReturn( "${project.groupId}", "0" );
+
+        ExpressionEvaluator expressionEvaluator = mock( PluginParameterExpressionEvaluator.class );
+        when( expressionEvaluator.evaluate( anyString() ) ).thenReturn( "My result" );
+
+        setUpMojo( mojo, inputHandler, expressionEvaluator );
+
+        mojo.execute();
+
+        assertTrue( interceptingLogger.infoLogs.contains( "\nMy result" ) );
+        assertTrue( interceptingLogger.warnLogs.isEmpty() );
+        verify( expressionEvaluator ).evaluate( "${project.groupId}" );
+        verify( inputHandler, times( 2 ) ).readLine();
+    }
+
+    /**
+     * Tests evaluation of an expression in interactive mode with a mock input handler, when "output" is set.
+     * @throws Exception in case of errors.
+     */
+    public void testEvaluateWithoutExpressionWithOutput()
+        throws Exception
+    {
+        File testPom = new File( getBasedir(), "target/test-classes/unit/evaluate/plugin-config-output.xml" );
+
+        EvaluateMojo mojo = (EvaluateMojo) lookupMojo( "evaluate", testPom );
+
+        InputHandler inputHandler = mock( InputHandler.class );
+        when( inputHandler.readLine() ).thenReturn( "${project.artifactId}", "0" );
+
+        ExpressionEvaluator expressionEvaluator = mock( PluginParameterExpressionEvaluator.class );
+        when( expressionEvaluator.evaluate( anyString() ) ).thenReturn( "My result" );
+
+        setUpMojo( mojo, inputHandler, expressionEvaluator );
+
+        mojo.execute();
+
+        assertTrue( interceptingLogger.infoLogs.contains( "\nMy result" ) );
+        assertFalse( interceptingLogger.warnLogs.isEmpty() );
+        verify( expressionEvaluator ).evaluate( "${project.artifactId}" );
+        verify( inputHandler, times( 2 ) ).readLine();
+    }
+
+    private void setUpMojo( EvaluateMojo mojo, InputHandler inputHandler, ExpressionEvaluator expressionEvaluator )
+        throws IllegalAccessException
+    {
+        setVariableValueToObject( mojo, "inputHandler", inputHandler );
+        setVariableValueToObject( mojo, "log", interceptingLogger );
+        setVariableValueToObject( mojo, "settings", new Settings() );
+        setVariableValueToObject( mojo, "project", new MavenProjectStub() );
+        setVariableValueToObject( mojo, "evaluator", expressionEvaluator );
+    }
+
+    private static final class InterceptingLog
+        extends DefaultLog
+    {
+        List<String> infoLogs = new ArrayList<String>();
+        List<String> warnLogs = new ArrayList<String>();
+
+        public InterceptingLog( Logger logger )
+        {
+            super( logger );
+        }
+
+        @Override
+        public void info( CharSequence content )
+        {
+            super.info( content );
+            infoLogs.add( content.toString() );
+        }
+        
+        @Override
+        public void warn( CharSequence content )
+        {
+            super.warn( content );
+            warnLogs.add( content.toString() );
+        }
+    }
+
+}

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/java/org/apache/maven/plugins/help/EvaluateMojoTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml (added)
+++ maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml Sun Oct 16 20:58:58 2016
@@ -0,0 +1,38 @@
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.its.help</groupId>
+  <artifactId>evaluate</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <url>http://maven.apache.org</url>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-help-plugin</artifactId>
+        <configuration>
+          <output>result.txt</output>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config-output.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml?rev=1765191&view=auto
==============================================================================
--- maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml (added)
+++ maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml Sun Oct 16 20:58:58 2016
@@ -0,0 +1,37 @@
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.its.help</groupId>
+  <artifactId>evaluate</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <url>http://maven.apache.org</url>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-help-plugin</artifactId>
+        <configuration>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-help-plugin/src/test/resources/unit/evaluate/plugin-config.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision