Return-Path: Delivered-To: apmail-maven-commits-archive@www.apache.org Received: (qmail 2093 invoked from network); 20 Aug 2009 20:07:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Aug 2009 20:07:12 -0000 Received: (qmail 22474 invoked by uid 500); 20 Aug 2009 20:07:31 -0000 Delivered-To: apmail-maven-commits-archive@maven.apache.org Received: (qmail 22364 invoked by uid 500); 20 Aug 2009 20:07:31 -0000 Mailing-List: contact commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list commits@maven.apache.org Received: (qmail 22354 invoked by uid 99); 20 Aug 2009 20:07:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Aug 2009 20:07:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Aug 2009 20:07:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 635E22388865; Thu, 20 Aug 2009 20:06:59 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Thu, 20 Aug 2009 20:06:59 -0000 To: commits@maven.apache.org From: bentmann@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090820200659.635E22388865@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 @@ + + + plugin-description + org.apache.maven.plugins + maven-jar-plugin + 2.3-SNAPSHOT + jar + false + true + + + jar + mojo-description + runtime + false + true + false + false + false + true + package + org.apache.maven.plugin.jar.JarMojo + java + per-lookup + once-per-session + deprecated-mojo + 2.2 + generate-sources + some-goal + cobertura + antrun + + + finalName + jarName + java.lang.String + false + true + parameter-description + deprecated-parameter + + + + ${jar.finalName} + + + + org.codehaus.plexus.archiver.Archiver + jar + jarArchiver + + + + + + + org.apache.maven + maven-plugin-api + jar + 2.0.6 + + + 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