MPLUGIN-219: Instantiate spelled wrong in annotation

o new enum added with correct spelling
o compatibility arranged.


git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1356038 13f79535-47bb-0310-9956-ffa450edef68
master
Benson Margulies 2012-07-01 22:34:15 +00:00
parent f01f612574
commit 0c494380bc
7 changed files with 91 additions and 12 deletions

View File

@ -20,11 +20,12 @@ package org.apache.maven.plugins.annotations;
*/ */
/** /**
* Component instanciation strategy. * Component instantiation strategy.
* *
* @author Hervé Boutemy * @author Hervé Boutemy
* @since 3.0 * @since 3.0
*/ */
@Deprecated
public enum InstanciationStrategy public enum InstanciationStrategy
{ {
PER_LOOKUP( "per-lookup" ), PER_LOOKUP( "per-lookup" ),

View File

@ -0,0 +1,46 @@
package org.apache.maven.plugins.annotations;
/*
* 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.
*/
/**
* Component instanciation strategy.
*
* @author Hervé Boutemy
* @since 3.0
*/
public enum InstantiationStrategy
{
PER_LOOKUP( "per-lookup" ),
SINGLETON( "singleton" ),
KEEP_ALIVE( "keep-alive" ),
POOLABLE( "poolable" );
private final String id;
InstantiationStrategy(String id)
{
this.id = id;
}
public String id()
{
return this.id;
}
}

View File

@ -66,7 +66,15 @@ public @interface Mojo
* your Mojo instantiation strategy. (Only <code>per-lookup</code> and <code>singleton</code> are supported) * your Mojo instantiation strategy. (Only <code>per-lookup</code> and <code>singleton</code> are supported)
* @return the instantiation strategy * @return the instantiation strategy
*/ */
InstanciationStrategy instantiationStrategy() default InstanciationStrategy.PER_LOOKUP; InstantiationStrategy instantiationStrategy() default InstantiationStrategy.PER_LOOKUP;
/**
* The original spelling of the instantiationStrategy attribute.
* @see #instantiationStrategy()
* @return the instantiation strategy
*/
@Deprecated
InstanciationStrategy instanciationStrategy() default InstanciationStrategy.PER_LOOKUP;
/** /**
* execution strategy: <code>once-per-session</code> or <code>always</code>. * execution strategy: <code>once-per-session</code> or <code>always</code>.

View File

@ -23,7 +23,7 @@ import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.plugins.annotations.Execute; import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.InstanciationStrategy; import org.apache.maven.plugins.annotations.InstantiationStrategy;
import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.Parameter;
@ -42,7 +42,7 @@ import org.apache.maven.project.MavenProjectHelper;
requiresDependencyCollection = ResolutionScope.TEST, requiresDependencyCollection = ResolutionScope.TEST,
defaultPhase = LifecyclePhase.PACKAGE, defaultPhase = LifecyclePhase.PACKAGE,
executionStrategy = "always", executionStrategy = "always",
instantiationStrategy = InstanciationStrategy.SINGLETON, instantiationStrategy = InstantiationStrategy.SINGLETON,
inheritByDefault = false, inheritByDefault = false,
requiresDirectInvocation = true, requiresDirectInvocation = true,
requiresOnline = true, requiresOnline = true,

View File

@ -504,7 +504,13 @@ public class JavaAnnotationsMojoDescriptorExtractor
mojoDescriptor.setInheritedByDefault( mojo.inheritByDefault() ); mojoDescriptor.setInheritedByDefault( mojo.inheritByDefault() );
mojoDescriptor.setInstantiationStrategy( mojo.instantiationStrategy().id() ); String instantiationStrategy = mojo.instantiationStrategy().id();
if ( instantiationStrategy == null )
{
/* Perhaps the original spelling is there. */
instantiationStrategy = mojo.instanciationStrategy().id();
}
mojoDescriptor.setInstantiationStrategy(instantiationStrategy);
mojoDescriptor.setAggregator( mojo.aggregator() ); mojoDescriptor.setAggregator( mojo.aggregator() );
mojoDescriptor.setDependencyResolutionRequired( mojo.requiresDependencyResolution().id() ); mojoDescriptor.setDependencyResolutionRequired( mojo.requiresDependencyResolution().id() );

View File

@ -19,10 +19,10 @@ package org.apache.maven.tools.plugin.annotations.datamodel;
* under the License. * under the License.
*/ */
import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.annotations.InstantiationStrategy;
import org.apache.maven.plugins.annotations.InstanciationStrategy;
import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.ResolutionScope;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
@ -30,6 +30,7 @@ import java.lang.annotation.Annotation;
* @author Olivier Lamy * @author Olivier Lamy
* @since 3.0 * @since 3.0
*/ */
@SuppressWarnings("deprecation")
public class MojoAnnotationContent public class MojoAnnotationContent
extends AnnotatedContent extends AnnotatedContent
implements Mojo implements Mojo
@ -42,7 +43,7 @@ public class MojoAnnotationContent
private ResolutionScope requiresDependencyCollection = ResolutionScope.NONE; private ResolutionScope requiresDependencyCollection = ResolutionScope.NONE;
private InstanciationStrategy instantiationStrategy = InstanciationStrategy.PER_LOOKUP; private InstantiationStrategy instantiationStrategy = InstantiationStrategy.PER_LOOKUP;
private String executionStrategy = "once-per-session"; private String executionStrategy = "once-per-session";
@ -97,14 +98,31 @@ public class MojoAnnotationContent
this.requiresDependencyCollection = ResolutionScope.valueOf( requiresDependencyCollection ); this.requiresDependencyCollection = ResolutionScope.valueOf( requiresDependencyCollection );
} }
public InstanciationStrategy instantiationStrategy() public InstantiationStrategy instantiationStrategy()
{ {
return instantiationStrategy; return instantiationStrategy;
} }
/**
* The original spelling of the instantiationStrategy attribute.
* This returns the value under the correct name, there's no separate
* field.
*
* @return the instantiation strategy
* @see #instantiationStrategy()
*/
@SuppressWarnings("deprecation")
public org.apache.maven.plugins.annotations.InstanciationStrategy instanciationStrategy() {
if ( instantiationStrategy == null )
{
return null;
}
return org.apache.maven.plugins.annotations.InstanciationStrategy.valueOf(instanciationStrategy().name());
}
public void instantiationStrategy( String instantiationStrategy ) public void instantiationStrategy( String instantiationStrategy )
{ {
this.instantiationStrategy = InstanciationStrategy.valueOf( instantiationStrategy ); this.instantiationStrategy = InstantiationStrategy.valueOf(instantiationStrategy);
} }
public String executionStrategy() public String executionStrategy()

View File

@ -42,7 +42,7 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Execute; import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.InstanciationStrategy; import org.apache.maven.plugins.annotations.InstantiationStrategy;
import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.Parameter;
@ -59,7 +59,7 @@ import org.apache.maven.settings.Settings;
configurator = "<role hint>", configurator = "<role hint>",
executionStrategy = "<once-per-session|always>", executionStrategy = "<once-per-session|always>",
inheritByDefault = <true|false>, inheritByDefault = <true|false>,
instantiationStrategy = InstanciationStrategy.<strategy>, instantiationStrategy = InstantiationStrategy.<strategy>,
defaultPhase = "<phase-name>", defaultPhase = "<phase-name>",
requiresDependencyResolution = ResolutionScope.<scope>, requiresDependencyResolution = ResolutionScope.<scope>,
requiresDependencyCollection = ResolutionScope.<scope>, // (since Maven 3.0) requiresDependencyCollection = ResolutionScope.<scope>, // (since Maven 3.0)