diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloGeneratorMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloGeneratorMojo.java
index 2e1e107d4..49409c66f 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloGeneratorMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloGeneratorMojo.java
@@ -32,12 +32,12 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.maven.model.Resource;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.codehaus.modello.ModelloException;
@@ -80,12 +80,6 @@ public abstract class AbstractModelloGeneratorMojo extends AbstractMojo {
@Parameter(property = "packageWithVersion", defaultValue = "false", required = true)
private boolean packageWithVersion;
- /**
- *
Note: This is passed by Maven and must not be configured by the user.
- */
- @Component
- private ModelloCore modelloCore;
-
/**
* The Maven project instance for the executing project.
*/
@@ -128,11 +122,14 @@ public abstract class AbstractModelloGeneratorMojo extends AbstractMojo {
@Parameter
private Map pluralExceptions;
- /**
- * @since 1.0.1
- */
- @Component
- private BuildContext buildContext;
+ private final BuildContext buildContext;
+
+ private final ModelloCore modelloCore;
+
+ protected AbstractModelloGeneratorMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ this.buildContext = Objects.requireNonNull(buildContext, "buildContext cannot be null");
+ this.modelloCore = Objects.requireNonNull(modelloCore, "modelloCore cannot be null");
+ }
// ----------------------------------------------------------------------
// Overridables
@@ -366,18 +363,6 @@ public void setPackageWithVersion(boolean packageWithVersion) {
this.packageWithVersion = packageWithVersion;
}
- public ModelloCore getModelloCore() {
- return modelloCore;
- }
-
- public void setModelloCore(ModelloCore modelloCore) {
- this.modelloCore = modelloCore;
- }
-
- public void setBuildContext(BuildContext context) {
- this.buildContext = context;
- }
-
public MavenProject getProject() {
return project;
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojo.java
index 1d29ab19f..034bd012b 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojo.java
@@ -22,6 +22,8 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.util.Map;
import java.util.Optional;
@@ -31,6 +33,8 @@
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* @author Hervé Boutemy
@@ -74,6 +78,11 @@ public abstract class AbstractModelloSourceGeneratorMojo extends AbstractModello
@Parameter(defaultValue = "true")
private boolean domAsXpp3;
+ @Inject
+ public AbstractModelloSourceGeneratorMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected boolean producesCompilableResult() {
return true;
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloConvertersMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloConvertersMojo.java
index 797f4daa1..fff6849dc 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloConvertersMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloConvertersMojo.java
@@ -1,7 +1,11 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates classes that can convert between different versions of the model.
@@ -10,6 +14,12 @@
*/
@Mojo(name = "converters", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloConvertersMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloConvertersMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "converters";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jReaderMojo.java
index 2a26018ed..a219fda23 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jReaderMojo.java
@@ -1,13 +1,23 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates a DOM4J reader from the model.
*/
@Mojo(name = "dom4j-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloDom4jReaderMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloDom4jReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "dom4j-reader";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jWriterMojo.java
index 26c8f83a5..f21d346ac 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloDom4jWriterMojo.java
@@ -1,13 +1,23 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates a DOM4J writer from the model.
*/
@Mojo(name = "dom4j-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloDom4jWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloDom4jWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "dom4j-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloGenerateMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloGenerateMojo.java
index c95222b23..648032249 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloGenerateMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloGenerateMojo.java
@@ -22,14 +22,18 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.util.Map;
+import java.util.Objects;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.codehaus.modello.core.ModelloCore;
import org.codehaus.modello.plugin.ModelloGenerator;
+import org.codehaus.plexus.build.BuildContext;
/**
*
@@ -85,12 +89,18 @@
*/
@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloGenerateMojo extends AbstractModelloSourceGeneratorMojo {
- @Component(role = ModelloGenerator.class)
- private Map generatorMap;
+ private final Map generatorMap;
@Parameter(property = "modello.generator.id", defaultValue = "java")
private String generatorId;
+ @Inject
+ public ModelloGenerateMojo(
+ BuildContext buildContext, ModelloCore modelloCore, Map generatorMap) {
+ super(buildContext, modelloCore);
+ this.generatorMap = Objects.requireNonNull(generatorMap, "generatorMap cannot be null");
+ }
+
protected String getGeneratorType() {
return generatorId;
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJDOMWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJDOMWriterMojo.java
index a8bb718b1..0aafc7d3f 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJDOMWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJDOMWriterMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates a jdom writer from the model that is capable of preserving element ordering
@@ -33,6 +37,12 @@
*/
@Mojo(name = "jdom-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloJDOMWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloJDOMWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "jdom-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonExtendedReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonExtendedReaderMojo.java
index a67518b4d..60724b693 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonExtendedReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonExtendedReaderMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an Jackson extended reader from the model. An extended reader populates the parsed model with metadata about
@@ -35,6 +39,11 @@
@Mojo(name = "jackson-extended-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloJacksonExtendedReaderMojo extends ModelloXpp3ReaderMojo {
+ @Inject
+ public ModelloJacksonExtendedReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected String getGeneratorType() {
return "jackson-extended-reader";
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonReaderMojo.java
index 03ed311d3..11bca3a39 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonReaderMojo.java
@@ -22,11 +22,15 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.util.Map;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an Jackson reader from the model.
@@ -36,6 +40,12 @@
*/
@Mojo(name = "jackson-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloJacksonReaderMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloJacksonReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "jackson-reader";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonWriterMojo.java
index e78880a50..7d927cfec 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJacksonWriterMojo.java
@@ -22,11 +22,15 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.util.Map;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an Jackson writer from the model.
@@ -36,6 +40,12 @@
*/
@Mojo(name = "jackson-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloJacksonWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloJacksonWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "jackson-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJavaMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJavaMojo.java
index e388d6f23..e3c08d5dd 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJavaMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJavaMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates Java beans from the Modello model.
@@ -32,6 +36,12 @@
*/
@Mojo(name = "java", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloJavaMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloJavaMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "java";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJsonSchemaGeneratorMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJsonSchemaGeneratorMojo.java
index af1195a3a..1ac60ee01 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJsonSchemaGeneratorMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloJsonSchemaGeneratorMojo.java
@@ -22,6 +22,8 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.util.Map;
@@ -29,6 +31,8 @@
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates a JSON Schema from the model.
@@ -49,6 +53,11 @@ public final class ModelloJsonSchemaGeneratorMojo extends AbstractModelloGenerat
@Parameter
private String jsonSchemaFileName;
+ @Inject
+ public ModelloJsonSchemaGeneratorMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected void customizeParameters(Map parameters) {
super.customizeParameters(parameters);
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSaxWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSaxWriterMojo.java
index e22ddd01e..b06cbd399 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSaxWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSaxWriterMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates a SAX writer from the model.
@@ -33,6 +37,12 @@
*/
@Mojo(name = "sax-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloSaxWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloSaxWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "sax-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlExtendedReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlExtendedReaderMojo.java
index 1bef20143..39a44e186 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlExtendedReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlExtendedReaderMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an Snake Yaml extended reader from the model. An extended reader populates the parsed model with metadata about
@@ -35,6 +39,11 @@
@Mojo(name = "snakeyaml-extended-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloSnakeYamlExtendedReaderMojo extends ModelloXpp3ReaderMojo {
+ @Inject
+ public ModelloSnakeYamlExtendedReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected String getGeneratorType() {
return "snakeyaml-extended-reader";
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlReaderMojo.java
index 791381244..7b9607789 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlReaderMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an SnakeYaml reader from the model.
@@ -33,6 +37,12 @@
*/
@Mojo(name = "snakeyaml-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloSnakeYamlReaderMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloSnakeYamlReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "snakeyaml-reader";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlWriterMojo.java
index ebc020985..05d21ee4f 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloSnakeYamlWriterMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an SnakeYaml writer from the model.
@@ -33,6 +37,12 @@
*/
@Mojo(name = "snakeyaml-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloSnakeYamlWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloSnakeYamlWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "snakeyaml-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxReaderMojo.java
index 29c51b1a8..d68238382 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxReaderMojo.java
@@ -1,7 +1,11 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an StAX reader from the model.
@@ -10,6 +14,12 @@
*/
@Mojo(name = "stax-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloStaxReaderMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloStaxReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "stax-reader";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxWriterMojo.java
index ac1efc9d7..e3095967d 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloStaxWriterMojo.java
@@ -1,7 +1,11 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an StAX writer from the model.
@@ -10,6 +14,12 @@
*/
@Mojo(name = "stax-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloStaxWriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloStaxWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "stax-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java
index b616f3c91..b737f9253 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloVelocityMojo.java
@@ -19,6 +19,8 @@
* under the License.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.util.Collections;
import java.util.List;
@@ -28,7 +30,9 @@
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
+import org.codehaus.modello.core.ModelloCore;
import org.codehaus.modello.plugin.velocity.VelocityGenerator;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates files from the model using Velocity templates.
@@ -80,6 +84,11 @@ public class ModelloVelocityMojo extends AbstractModelloGeneratorMojo {
@Parameter
private List params;
+ @Inject
+ public ModelloVelocityMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "velocity";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXdocMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXdocMojo.java
index 5205c8684..a52b5c47d 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXdocMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXdocMojo.java
@@ -22,12 +22,16 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.util.Map;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates documentation for the model in xdoc format.
@@ -60,6 +64,11 @@ public class ModelloXdocMojo extends AbstractModelloGeneratorMojo {
@Parameter
private String firstVersion;
+ @Inject
+ public ModelloXdocMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "xdoc";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedReaderMojo.java
index 6c5943da8..f798bf5b7 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedReaderMojo.java
@@ -1,7 +1,11 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/*
* Copyright (c) 2004, Codehaus.org
@@ -35,6 +39,11 @@
@Mojo(name = "xpp3-extended-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloXpp3ExtendedReaderMojo extends ModelloXpp3ReaderMojo {
+ @Inject
+ public ModelloXpp3ExtendedReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected String getGeneratorType() {
return "xpp3-extended-reader";
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedWriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedWriterMojo.java
index 9b80588fe..84dd3a5a7 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedWriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ExtendedWriterMojo.java
@@ -22,12 +22,16 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.util.Map;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an XPP3 extended writer from the model. An extended writer renders the content with comments about the
@@ -44,6 +48,11 @@ public class ModelloXpp3ExtendedWriterMojo extends ModelloXpp3WriterMojo {
@Parameter(defaultValue = "Ex")
private String extendedClassnameSuffix;
+ @Inject
+ public ModelloXpp3ExtendedWriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
@Override
protected String getGeneratorType() {
return "xpp3-extended-writer";
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ReaderMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ReaderMojo.java
index e59ba20cd..885de97c0 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ReaderMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3ReaderMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an XPP3 reader from the model.
@@ -32,6 +36,12 @@
*/
@Mojo(name = "xpp3-reader", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloXpp3ReaderMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloXpp3ReaderMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "xpp3-reader";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3WriterMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3WriterMojo.java
index ec18c16f3..7ab68aaa0 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3WriterMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXpp3WriterMojo.java
@@ -22,8 +22,12 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an XPP3 writer from the model.
@@ -32,6 +36,12 @@
*/
@Mojo(name = "xpp3-writer", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class ModelloXpp3WriterMojo extends AbstractModelloSourceGeneratorMojo {
+
+ @Inject
+ public ModelloXpp3WriterMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "xpp3-writer";
}
diff --git a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXsdMojo.java b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXsdMojo.java
index d4682006f..77748e059 100644
--- a/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXsdMojo.java
+++ b/modello-maven-plugin/src/main/java/org/codehaus/modello/maven/ModelloXsdMojo.java
@@ -22,6 +22,8 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.util.Map;
@@ -29,6 +31,8 @@
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.build.BuildContext;
/**
* Creates an XML schema from the model.
@@ -59,6 +63,11 @@ public class ModelloXsdMojo extends AbstractModelloGeneratorMojo {
@Parameter
private String xsdFileName;
+ @Inject
+ public ModelloXsdMojo(BuildContext buildContext, ModelloCore modelloCore) {
+ super(buildContext, modelloCore);
+ }
+
protected String getGeneratorType() {
return "xsd";
}
diff --git a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojoTest.java b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojoTest.java
index 44d1217c1..94439f924 100644
--- a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojoTest.java
+++ b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/AbstractModelloSourceGeneratorMojoTest.java
@@ -1,5 +1,7 @@
package org.codehaus.modello.maven;
+import javax.inject.Inject;
+
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -7,17 +9,31 @@
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.codehaus.modello.ModelloParameterConstants;
+import org.codehaus.modello.core.ModelloCore;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.build.BuildContext;
+import org.codehaus.plexus.testing.PlexusTest;
+import org.codehaus.plexus.testing.PlexusTestConfiguration;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
-public class AbstractModelloSourceGeneratorMojoTest {
+@PlexusTest
+public class AbstractModelloSourceGeneratorMojoTest implements PlexusTestConfiguration {
+
+ @Inject
+ private BuildContext buildContext;
+
+ @Inject
+ private ModelloCore modelloCore;
- private class ModelloSourceGeneratorMojoTest extends AbstractModelloSourceGeneratorMojo {
+ private static class ModelloSourceGeneratorMojoTest extends AbstractModelloSourceGeneratorMojo {
private final Properties projectProperties;
- ModelloSourceGeneratorMojoTest(Properties projectProperties) {
+ ModelloSourceGeneratorMojoTest(
+ BuildContext buildContext, ModelloCore modelloCore, Properties projectProperties) {
+ super(buildContext, modelloCore);
this.projectProperties = projectProperties;
}
@@ -36,9 +52,14 @@ public MavenProject getProject() {
}
}
+ @Override
+ public void customizeConfiguration(ContainerConfiguration containerConfiguration) {
+ containerConfiguration.setClassPathScanning("cache");
+ }
+
private void executeJavaSourceTest(Properties projectProperties, String expexted) {
ModelloSourceGeneratorMojoTest modelloSourceGeneratorMojoTest =
- new ModelloSourceGeneratorMojoTest(projectProperties);
+ new ModelloSourceGeneratorMojoTest(buildContext, modelloCore, projectProperties);
Map properties = new HashMap<>();
modelloSourceGeneratorMojoTest.customizeParameters(properties);
diff --git a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloConvertersMojoTest.java b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloConvertersMojoTest.java
index 1e51439f3..d04fbf396 100644
--- a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloConvertersMojoTest.java
+++ b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloConvertersMojoTest.java
@@ -60,7 +60,7 @@ public void customizeConfiguration(ContainerConfiguration containerConfiguration
@Test
public void testModelloConvertersMojo() throws Exception {
- ModelloConvertersMojo mojo = new ModelloConvertersMojo();
+ ModelloConvertersMojo mojo = new ModelloConvertersMojo(buildContext, modelloCore);
File outputDirectory = getTestFile("target/converters-test");
@@ -82,10 +82,6 @@ public void testModelloConvertersMojo() throws Exception {
mojo.setPackagedVersions(Arrays.asList(new String[] {"0.9.0", "1.0.0"}));
- mojo.setModelloCore(modelloCore);
-
- mojo.setBuildContext(buildContext);
-
mojo.setProject(new MavenProject());
mojo.execute();
diff --git a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloJavaMojoTest.java b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloJavaMojoTest.java
index b3ba2802c..ee5cc7aa4 100644
--- a/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloJavaMojoTest.java
+++ b/modello-maven-plugin/src/test/java/org/codehaus/modello/maven/ModelloJavaMojoTest.java
@@ -55,7 +55,7 @@ public class ModelloJavaMojoTest implements PlexusTestConfiguration {
@Test
public void testModelloJavaMojo() throws Exception {
- ModelloJavaMojo mojo = new ModelloJavaMojo();
+ ModelloJavaMojo mojo = new ModelloJavaMojo(buildContext, modelloCore);
File outputDirectory = getTestFile("target/java-test");
@@ -77,9 +77,6 @@ public void testModelloJavaMojo() throws Exception {
mojo.setPackagedVersions(Arrays.asList(new String[] {"0.9.0", "1.0.0"}));
- mojo.setModelloCore(modelloCore);
-
- mojo.setBuildContext(buildContext);
mojo.setProject(new MavenProject());
mojo.execute();