diff --git a/modello-core/pom.xml b/modello-core/pom.xml
index 7f965b39f..af4c1a938 100644
--- a/modello-core/pom.xml
+++ b/modello-core/pom.xml
@@ -19,11 +19,13 @@
org.eclipse.sisu
org.eclipse.sisu.plexus
+ provided
org.sonatype.sisu
sisu-guice
no_aop
+ runtime
org.codehaus.plexus
@@ -33,6 +35,15 @@
org.codehaus.plexus
plexus-xml
+
+ org.slf4j
+ slf4j-api
+
+
+ org.slf4j
+ slf4j-simple
+ test
+
diff --git a/modello-core/src/main/java/org/codehaus/modello/Modello.java b/modello-core/src/main/java/org/codehaus/modello/Modello.java
index f1d2c8485..2b73884ff 100644
--- a/modello-core/src/main/java/org/codehaus/modello/Modello.java
+++ b/modello-core/src/main/java/org/codehaus/modello/Modello.java
@@ -22,6 +22,8 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.Reader;
import java.io.Writer;
import java.util.Properties;
@@ -29,26 +31,17 @@
import org.codehaus.modello.core.ModelloCore;
import org.codehaus.modello.model.Model;
import org.codehaus.modello.model.ModelValidationException;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusContainer;
/**
* @author Jason van Zyl
* @author Trygve Laugstøl
*/
public class Modello {
- private PlexusContainer container;
-
- private ModelloCore core;
-
- public Modello() throws ModelloException {
- try {
- container = new DefaultPlexusContainer();
+ private final ModelloCore core;
- core = (ModelloCore) container.lookup(ModelloCore.ROLE);
- } catch (Exception ex) {
- throw new ModelloException("Error while starting plexus.", ex);
- }
+ @Inject
+ public Modello(ModelloCore core) {
+ this.core = core;
}
public void generate(Reader modelReader, String outputType, Properties parameters)
diff --git a/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java b/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java
index e9c9e079b..ba8f029f9 100644
--- a/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java
+++ b/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java
@@ -25,6 +25,7 @@
import java.io.File;
import java.util.Properties;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.XmlStreamReader;
@@ -39,7 +40,7 @@ public class ModelloCli {
private static Properties parameters;
public static void main(String[] args) throws Exception {
- Modello modello = new Modello();
+ Modello modello = new DefaultPlexusContainer().lookup(Modello.class);
parseArgumentsFromCommandLine(args);
diff --git a/modello-core/src/main/java/org/codehaus/modello/core/AbstractModelloCore.java b/modello-core/src/main/java/org/codehaus/modello/core/AbstractModelloCore.java
index a0cecb74d..56399c645 100644
--- a/modello-core/src/main/java/org/codehaus/modello/core/AbstractModelloCore.java
+++ b/modello-core/src/main/java/org/codehaus/modello/core/AbstractModelloCore.java
@@ -28,12 +28,18 @@
import org.codehaus.modello.ModelloException;
import org.codehaus.modello.model.Model;
import org.codehaus.modello.model.ModelValidationException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Trygve Laugstøl
*/
-public abstract class AbstractModelloCore extends AbstractLogEnabled implements ModelloCore {
+public abstract class AbstractModelloCore implements ModelloCore {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ protected Logger getLogger() {
+ return logger;
+ }
// ----------------------------------------------------------------------
// Partial ModelloCore implementation
// ----------------------------------------------------------------------
diff --git a/modello-core/src/main/java/org/codehaus/modello/metadata/AbstractMetadataPlugin.java b/modello-core/src/main/java/org/codehaus/modello/metadata/AbstractMetadataPlugin.java
index 152c67bd0..05045ef7b 100644
--- a/modello-core/src/main/java/org/codehaus/modello/metadata/AbstractMetadataPlugin.java
+++ b/modello-core/src/main/java/org/codehaus/modello/metadata/AbstractMetadataPlugin.java
@@ -24,13 +24,20 @@
import java.util.Map;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Trygve Laugstøl
*/
-public abstract class AbstractMetadataPlugin extends AbstractLogEnabled implements MetadataPlugin {
+public abstract class AbstractMetadataPlugin implements MetadataPlugin {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ protected Logger getLogger() {
+ return logger;
+ }
+
protected boolean getBoolean(Map data, String key, boolean defaultValue) {
String value = data.get(key);
diff --git a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java
index bb59b439e..a297210db 100644
--- a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java
+++ b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractModelloGenerator.java
@@ -22,6 +22,8 @@
* SOFTWARE.
*/
+import javax.inject.Inject;
+
import java.io.File;
import java.io.FilterWriter;
import java.io.IOException;
@@ -41,23 +43,19 @@
import org.codehaus.modello.model.ModelDefault;
import org.codehaus.modello.model.ModelField;
import org.codehaus.modello.model.Version;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.build.BuildContext;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.io.CachingWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Jason van Zyl
* @author Emmanuel Venisse
*/
-public abstract class AbstractModelloGenerator extends AbstractLogEnabled
- implements ModelloGenerator, Contextualizable {
+public abstract class AbstractModelloGenerator implements ModelloGenerator {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
private Model model;
private File outputDirectory;
@@ -68,8 +66,13 @@ public abstract class AbstractModelloGenerator extends AbstractLogEnabled
private String encoding;
+ @Inject
private BuildContext buildContext;
+ protected Logger getLogger() {
+ return logger;
+ }
+
protected void initialize(Model model, Properties parameters) throws ModelloException {
this.model = model;
@@ -232,16 +235,6 @@ protected String getParameter(Properties parameters, String name, String default
return parameters.getProperty(name, defaultValue);
}
- public void contextualize(Context ctx) throws ContextException {
- PlexusContainer plexus = (PlexusContainer) ctx.get(PlexusConstants.PLEXUS_KEY);
-
- try {
- buildContext = (BuildContext) plexus.lookup(BuildContext.class.getName());
- } catch (ComponentLookupException e) {
- throw new ContextException("Unable to lookup required component", e);
- }
- }
-
protected BuildContext getBuildContext() {
return buildContext;
}
diff --git a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractPluginManager.java b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractPluginManager.java
index c74bfa81f..be7cc3728 100644
--- a/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractPluginManager.java
+++ b/modello-core/src/main/java/org/codehaus/modello/plugin/AbstractPluginManager.java
@@ -26,13 +26,19 @@
import java.util.Map;
import org.codehaus.modello.ModelloRuntimeException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author Trygve Laugstøl
*/
-public abstract class AbstractPluginManager extends AbstractLogEnabled implements Initializable {
+public abstract class AbstractPluginManager {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ protected Logger getLogger() {
+ return logger;
+ }
+
public void initialize() {}
public abstract Map getPlugins();
diff --git a/modello-maven-plugin/pom.xml b/modello-maven-plugin/pom.xml
index 774623e9a..b9d011732 100644
--- a/modello-maven-plugin/pom.xml
+++ b/modello-maven-plugin/pom.xml
@@ -119,6 +119,11 @@
org.codehaus.plexus
plexus-build-api
+
+ org.slf4j
+ slf4j-simple
+ test
+
diff --git a/modello-plugins/pom.xml b/modello-plugins/pom.xml
index dd877e985..8fd4d6f78 100644
--- a/modello-plugins/pom.xml
+++ b/modello-plugins/pom.xml
@@ -44,6 +44,11 @@
modello-test
test
+
+ org.slf4j
+ slf4j-simple
+ test
+
diff --git a/pom.xml b/pom.xml
index 7fd987bb0..31ea75ec8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -320,6 +320,16 @@
plexus-build-api
1.2.0
+
+ org.slf4j
+ slf4j-api
+ 1.7.36
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.36
+
junit
junit