You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/20 22:06:59 UTC

svn commit: r806335 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/plugin/ maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/ maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/ maven-plugin-api/s...

Author: bentmann
Date: Thu Aug 20 20:06:58 2009
New Revision: 806335

URL: http://svn.apache.org/viewvc?rev=806335&view=rev
Log:
[MNG-4313] Plugin descriptor builder ignores deprecation message for mojo

Added:
    maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/   (with props)
    maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java   (with props)
    maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml   (with props)
Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
    maven/components/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java?rev=806335&r1=806334&r2=806335&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java Thu Aug 20 20:06:58 2009
@@ -93,7 +93,7 @@
         MavenSession oldSession = legacySupport.getSession();
 
         try
-        {                        
+        {
             mojo = mavenPluginManager.getConfiguredMojo( Mojo.class, session, mojoExecution );
 
             Thread.currentThread().setContextClassLoader( pluginRealm );

Modified: maven/components/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java?rev=806335&r1=806334&r2=806335&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java (original)
+++ maven/components/trunk/maven-plugin-api/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java Thu Aug 20 20:06:58 2009
@@ -156,6 +156,13 @@
             mojo.setSince( since );
         }
 
+        PlexusConfiguration deprecated = c.getChild( "deprecated", false );
+
+        if ( deprecated != null )
+        {
+            mojo.setDeprecated( deprecated.getValue() );
+        }
+
         String phase = c.getChild( "phase" ).getValue();
 
         if ( phase != null )

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/
------------------------------------------------------------------------------
    bugtraq:label = Enter issue ID:

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/
------------------------------------------------------------------------------
    bugtraq:message = Issue id: %BUGID%

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/
------------------------------------------------------------------------------
    bugtraq:number = false

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/
------------------------------------------------------------------------------
    bugtraq:url = http://jira.codehaus.org/browse/%BUGID%

Added: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java?rev=806335&view=auto
==============================================================================
--- maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java (added)
+++ maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java Thu Aug 20 20:06:58 2009
@@ -0,0 +1,121 @@
+package org.apache.maven.plugin.descriptor;
+
+/*
+ * 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.IOException;
+import java.io.Reader;
+
+import org.codehaus.plexus.component.repository.ComponentDependency;
+import org.codehaus.plexus.component.repository.ComponentRequirement;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.PlexusConfigurationException;
+import org.codehaus.plexus.util.ReaderFactory;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests {@link PluginDescriptorBuilder}.
+ * 
+ * @author Benjamin Bentmann
+ */
+public class PluginDescriptorBuilderTest
+    extends TestCase
+{
+
+    private PluginDescriptor build( String resource )
+        throws IOException, PlexusConfigurationException
+    {
+        Reader reader = ReaderFactory.newXmlReader( getClass().getResourceAsStream( resource ) );
+
+        return new PluginDescriptorBuilder().build( reader );
+    }
+
+    public void testBuildReader()
+        throws Exception
+    {
+        PluginDescriptor pd = build( "/plugin.xml" );
+
+        assertEquals( "org.apache.maven.plugins", pd.getGroupId() );
+        assertEquals( "maven-jar-plugin", pd.getArtifactId() );
+        assertEquals( "2.3-SNAPSHOT", pd.getVersion() );
+        assertEquals( "jar", pd.getGoalPrefix() );
+        assertEquals( "plugin-description", pd.getDescription() );
+        assertEquals( false, pd.isIsolatedRealm() );
+        assertEquals( true, pd.isInheritedByDefault() );
+        assertEquals( 1, pd.getMojos().size() );
+        assertEquals( 1, pd.getDependencies().size() );
+
+        MojoDescriptor md = (MojoDescriptor) pd.getMojos().get( 0 );
+
+        assertEquals( "jar", md.getGoal() );
+        assertEquals( "mojo-description", md.getDescription() );
+        assertEquals( "runtime", md.isDependencyResolutionRequired() );
+        assertEquals( false, md.isAggregator() );
+        assertEquals( false, md.isDirectInvocationOnly() );
+        assertEquals( true, md.isInheritedByDefault() );
+        assertEquals( false, md.isOnlineRequired() );
+        assertEquals( true, md.isProjectRequired() );
+        assertEquals( "package", md.getPhase() );
+        assertEquals( "org.apache.maven.plugin.jar.JarMojo", md.getImplementation() );
+        assertEquals( "antrun", md.getComponentConfigurator() );
+        assertEquals( "java", md.getLanguage() );
+        assertEquals( "per-lookup", md.getInstantiationStrategy() );
+        assertEquals( "some-goal", md.getExecuteGoal() );
+        assertEquals( "generate-sources", md.getExecutePhase() );
+        assertEquals( "cobertura", md.getExecuteLifecycle() );
+        assertEquals( "2.2", md.getSince() );
+        assertEquals( "deprecated-mojo", md.getDeprecated() );
+        assertEquals( 1, md.getRequirements().size() );
+        assertEquals( 1, md.getParameters().size() );
+
+        assertNotNull( md.getMojoConfiguration() );
+        assertEquals( 1, md.getMojoConfiguration().getChildCount() );
+
+        PlexusConfiguration pc = md.getMojoConfiguration().getChild( 0 );
+
+        assertEquals( "${jar.finalName}", pc.getValue() );
+        assertEquals( "${project.build.finalName}", pc.getAttribute( "default-value" ) );
+        assertEquals( "java.lang.String", pc.getAttribute( "implementation" ) );
+
+        Parameter mp = md.getParameters().get( 0 );
+
+        assertEquals( "finalName", mp.getName() );
+        assertEquals( "jarName", mp.getAlias() );
+        assertEquals( "java.lang.String", mp.getType() );
+        assertEquals( true, mp.isEditable() );
+        assertEquals( false, mp.isRequired() );
+        assertEquals( "parameter-description", mp.getDescription() );
+        assertEquals( "deprecated-parameter", mp.getDeprecated() );
+
+        ComponentRequirement cr = (ComponentRequirement) md.getRequirements().get( 0 );
+
+        assertEquals( "org.codehaus.plexus.archiver.Archiver", cr.getRole() );
+        assertEquals( "jar", cr.getRoleHint() );
+        assertEquals( "jarArchiver", cr.getFieldName() );
+
+        ComponentDependency cd = pd.getDependencies().get( 0 );
+
+        assertEquals( "org.apache.maven", cd.getGroupId() );
+        assertEquals( "maven-plugin-api", cd.getArtifactId() );
+        assertEquals( "2.0.6", cd.getVersion() );
+        assertEquals( "jar", cd.getType() );
+    }
+
+}

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml?rev=806335&view=auto
==============================================================================
--- maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml (added)
+++ maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml Thu Aug 20 20:06:58 2009
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin>
+  <description>plugin-description</description>
+  <groupId>org.apache.maven.plugins</groupId>
+  <artifactId>maven-jar-plugin</artifactId>
+  <version>2.3-SNAPSHOT</version>
+  <goalPrefix>jar</goalPrefix>
+  <isolatedRealm>false</isolatedRealm>
+  <inheritedByDefault>true</inheritedByDefault>
+  <mojos>
+    <mojo>
+      <goal>jar</goal>
+      <description>mojo-description</description>
+      <requiresDependencyResolution>runtime</requiresDependencyResolution>
+      <requiresDirectInvocation>false</requiresDirectInvocation>
+      <requiresProject>true</requiresProject>
+      <requiresReports>false</requiresReports>
+      <aggregator>false</aggregator>
+      <requiresOnline>false</requiresOnline>
+      <inheritedByDefault>true</inheritedByDefault>
+      <phase>package</phase>
+      <implementation>org.apache.maven.plugin.jar.JarMojo</implementation>
+      <language>java</language>
+      <instantiationStrategy>per-lookup</instantiationStrategy>
+      <executionStrategy>once-per-session</executionStrategy>
+      <deprecated>deprecated-mojo</deprecated>
+      <since>2.2</since>
+      <executePhase>generate-sources</executePhase>
+      <executeGoal>some-goal</executeGoal>
+      <executeLifecycle>cobertura</executeLifecycle>
+      <configurator>antrun</configurator>
+      <parameters>
+        <parameter>
+          <name>finalName</name>
+          <alias>jarName</alias>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>parameter-description</description>
+          <deprecated>deprecated-parameter</deprecated>
+        </parameter>
+      </parameters>
+      <configuration>
+        <finalName implementation="java.lang.String" default-value="${project.build.finalName}">${jar.finalName}</finalName>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.archiver.Archiver</role>
+          <role-hint>jar</role-hint>
+          <field-name>jarArchiver</field-name>
+        </requirement>
+      </requirements>
+    </mojo>
+  </mojos>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <type>jar</type>
+      <version>2.0.6</version>
+    </dependency>
+  </dependencies>
+</plugin>

Propchange: maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-plugin-api/src/test/resources/plugin.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision