diff --git a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstanciationStrategy.java b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstanciationStrategy.java
index e77254e..5b1ef4d 100644
--- a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstanciationStrategy.java
+++ b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstanciationStrategy.java
@@ -20,11 +20,12 @@ package org.apache.maven.plugins.annotations;
*/
/**
- * Component instanciation strategy.
+ * Component instantiation strategy.
*
* @author Hervé Boutemy
* @since 3.0
*/
+@Deprecated
public enum InstanciationStrategy
{
PER_LOOKUP( "per-lookup" ),
diff --git a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstantiationStrategy.java b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstantiationStrategy.java
new file mode 100644
index 0000000..7852bf3
--- /dev/null
+++ b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/InstantiationStrategy.java
@@ -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;
+ }
+}
diff --git a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
index 13bc2db..e9d7f81 100644
--- a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
+++ b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
@@ -66,7 +66,15 @@ public @interface Mojo
* your Mojo instantiation strategy. (Only per-lookup and singleton are supported)
* @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: once-per-session or always.
diff --git a/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/Maximal.java b/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/Maximal.java
index 6f203a8..1ca4ca1 100644
--- a/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/Maximal.java
+++ b/maven-plugin-plugin/src/it/java-basic-annotations/src/main/java/org/apache/maven/plugin/coreit/Maximal.java
@@ -23,7 +23,7 @@ import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.ResolutionScope;
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.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -42,7 +42,7 @@ import org.apache.maven.project.MavenProjectHelper;
requiresDependencyCollection = ResolutionScope.TEST,
defaultPhase = LifecyclePhase.PACKAGE,
executionStrategy = "always",
- instantiationStrategy = InstanciationStrategy.SINGLETON,
+ instantiationStrategy = InstantiationStrategy.SINGLETON,
inheritByDefault = false,
requiresDirectInvocation = true,
requiresOnline = true,
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
index 6cf6689..58639e6 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
@@ -504,7 +504,13 @@ public class JavaAnnotationsMojoDescriptorExtractor
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.setDependencyResolutionRequired( mojo.requiresDependencyResolution().id() );
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java
index 84ab739..2724c42 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java
@@ -19,10 +19,10 @@ package org.apache.maven.tools.plugin.annotations.datamodel;
* under the License.
*/
-import org.apache.maven.plugins.annotations.ResolutionScope;
-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.Mojo;
+import org.apache.maven.plugins.annotations.ResolutionScope;
import java.lang.annotation.Annotation;
@@ -30,6 +30,7 @@ import java.lang.annotation.Annotation;
* @author Olivier Lamy
* @since 3.0
*/
+@SuppressWarnings("deprecation")
public class MojoAnnotationContent
extends AnnotatedContent
implements Mojo
@@ -42,7 +43,7 @@ public class MojoAnnotationContent
private ResolutionScope requiresDependencyCollection = ResolutionScope.NONE;
- private InstanciationStrategy instantiationStrategy = InstanciationStrategy.PER_LOOKUP;
+ private InstantiationStrategy instantiationStrategy = InstantiationStrategy.PER_LOOKUP;
private String executionStrategy = "once-per-session";
@@ -97,14 +98,31 @@ public class MojoAnnotationContent
this.requiresDependencyCollection = ResolutionScope.valueOf( requiresDependencyCollection );
}
- public InstanciationStrategy instantiationStrategy()
+ public InstantiationStrategy 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 )
{
- this.instantiationStrategy = InstanciationStrategy.valueOf( instantiationStrategy );
+ this.instantiationStrategy = InstantiationStrategy.valueOf(instantiationStrategy);
}
public String executionStrategy()
diff --git a/maven-plugin-tools-annotations/src/site/apt/index.apt b/maven-plugin-tools-annotations/src/site/apt/index.apt
index a635839..8e08aa1 100644
--- a/maven-plugin-tools-annotations/src/site/apt/index.apt
+++ b/maven-plugin-tools-annotations/src/site/apt/index.apt
@@ -42,7 +42,7 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.plugins.annotations.Component;
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.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -59,7 +59,7 @@ import org.apache.maven.settings.Settings;
configurator = "",
executionStrategy = "",
inheritByDefault = ,
- instantiationStrategy = InstanciationStrategy.,
+ instantiationStrategy = InstantiationStrategy.,
defaultPhase = "",
requiresDependencyResolution = ResolutionScope.,
requiresDependencyCollection = ResolutionScope., // (since Maven 3.0)