From 036ff747d44543df322460264bdf289e5912223e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Thu, 29 Dec 2022 18:37:09 +0100 Subject: [PATCH 1/2] replace most handwritten components.xml with annotations fixes #275 --- modello-core/pom.xml | 11 +++++++ .../modello/core/DefaultModelloCore.java | 11 +++---- .../modello/plugin/AbstractPluginManager.java | 1 + .../plugin/model/ModelMetadataPlugin.java | 3 ++ .../resources/META-INF/plexus/components.xml | 19 ------------ .../plugin/converters/ConverterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 10 ------ .../plugin/dom4j/Dom4jReaderGenerator.java | 3 ++ .../plugin/dom4j/Dom4jWriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 16 ---------- .../jackson/JacksonReaderGenerator.java | 3 ++ .../jackson/JacksonWriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 16 ---------- .../plugin/java/JavaModelloGenerator.java | 3 ++ .../java/metadata/JavaMetadataPlugin.java | 2 ++ .../resources/META-INF/plexus/components.xml | 17 ---------- .../plugin/jdom/JDOMWriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 10 ------ .../jsonschema/JsonSchemaGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 15 --------- .../plugin/sax/SaxWriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 10 ------ .../SnakeYamlExtendedReaderGenerator.java | 3 ++ .../snakeyaml/SnakeYamlReaderGenerator.java | 3 ++ .../snakeyaml/SnakeYamlWriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 22 ------------- .../plugin/stax/StaxReaderGenerator.java | 3 ++ .../plugin/stax/StaxSerializerGenerator.java | 3 ++ .../plugin/stax/StaxWriterGenerator.java | 5 +++ .../resources/META-INF/plexus/components.xml | 29 ----------------- .../plugin/velocity/VelocityGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 31 ------------------- .../modello/plugin/xdoc/XdocGenerator.java | 3 ++ .../xdoc/metadata/XdocMetadataPlugin.java | 2 ++ .../resources/META-INF/plexus/components.xml | 17 ---------- .../xml/metadata/XmlMetadataPlugin.java | 2 ++ .../resources/META-INF/plexus/components.xml | 9 ------ .../xpp3/Xpp3ExtendedReaderGenerator.java | 3 ++ .../xpp3/Xpp3ExtendedWriterGenerator.java | 4 +++ .../plugin/xpp3/Xpp3ReaderGenerator.java | 3 ++ .../plugin/xpp3/Xpp3WriterGenerator.java | 3 ++ .../resources/META-INF/plexus/components.xml | 28 ----------------- .../modello/plugin/xsd/XsdGenerator.java | 3 ++ .../xsd/metadata/XsdMetadataPlugin.java | 3 ++ .../resources/META-INF/plexus/components.xml | 15 --------- pom.xml | 17 ++++++++++ 46 files changed, 115 insertions(+), 270 deletions(-) delete mode 100644 modello-plugins/modello-plugin-converters/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-dom4j/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-jackson/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-java/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-jdom/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-jsonschema/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-sax/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-snakeyaml/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-stax/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-velocity/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-xdoc/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-xml/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-xpp3/src/main/resources/META-INF/plexus/components.xml delete mode 100644 modello-plugins/modello-plugin-xsd/src/main/resources/META-INF/plexus/components.xml diff --git a/modello-core/pom.xml b/modello-core/pom.xml index 8b774557d..8e8e06b5e 100644 --- a/modello-core/pom.xml +++ b/modello-core/pom.xml @@ -48,6 +48,17 @@ + + org.codehaus.plexus + plexus-component-metadata + + + + merge-metadata + + + + diff --git a/modello-core/src/main/java/org/codehaus/modello/core/DefaultModelloCore.java b/modello-core/src/main/java/org/codehaus/modello/core/DefaultModelloCore.java index 87f0ac3a1..4981909dc 100644 --- a/modello-core/src/main/java/org/codehaus/modello/core/DefaultModelloCore.java +++ b/modello-core/src/main/java/org/codehaus/modello/core/DefaultModelloCore.java @@ -40,6 +40,8 @@ import org.codehaus.modello.model.ModelInterface; import org.codehaus.modello.model.ModelValidationException; import org.codehaus.modello.plugin.ModelloGenerator; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.util.ReaderFactory; import java.io.File; @@ -55,17 +57,14 @@ * @author Trygve Laugstøl * @author Emmanuel Venisse */ +@Component( role = ModelloCore.class ) public class DefaultModelloCore extends AbstractModelloCore { - /** - * @requirement - */ + @Requirement private MetadataPluginManager metadataPluginManager; - /** - * @requirement - */ + @Requirement private GeneratorPluginManager generatorPluginManager; public MetadataPluginManager getMetadataPluginManager() 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 03b5a88c6..0e6b84f76 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 @@ -23,6 +23,7 @@ */ import org.codehaus.modello.ModelloRuntimeException; + import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; diff --git a/modello-core/src/main/java/org/codehaus/modello/plugin/model/ModelMetadataPlugin.java b/modello-core/src/main/java/org/codehaus/modello/plugin/model/ModelMetadataPlugin.java index f5988786c..a43c67d88 100644 --- a/modello-core/src/main/java/org/codehaus/modello/plugin/model/ModelMetadataPlugin.java +++ b/modello-core/src/main/java/org/codehaus/modello/plugin/model/ModelMetadataPlugin.java @@ -35,11 +35,14 @@ import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.plexus.component.annotations.Component; + import java.util.Map; /** * @author Emmanuel Venisse */ +@Component( role = MetadataPlugin.class, hint = "model" ) public class ModelMetadataPlugin extends AbstractMetadataPlugin implements MetadataPlugin diff --git a/modello-core/src/main/resources/META-INF/plexus/components.xml b/modello-core/src/main/resources/META-INF/plexus/components.xml index 78beb09cc..6e5b45142 100644 --- a/modello-core/src/main/resources/META-INF/plexus/components.xml +++ b/modello-core/src/main/resources/META-INF/plexus/components.xml @@ -1,18 +1,5 @@ - - org.codehaus.modello.core.ModelloCore - org.codehaus.modello.core.DefaultModelloCore - per-lookup - - - org.codehaus.modello.core.MetadataPluginManager - - - org.codehaus.modello.core.GeneratorPluginManager - - - org.codehaus.modello.core.MetadataPluginManager org.codehaus.modello.core.DefaultMetadataPluginManager @@ -35,11 +22,5 @@ - - - org.codehaus.modello.metadata.MetadataPlugin - model - org.codehaus.modello.plugin.model.ModelMetadataPlugin - diff --git a/modello-plugins/modello-plugin-converters/src/main/java/org/codehaus/modello/plugin/converters/ConverterGenerator.java b/modello-plugins/modello-plugin-converters/src/main/java/org/codehaus/modello/plugin/converters/ConverterGenerator.java index e3f86295f..56409dded 100644 --- a/modello-plugins/modello-plugin-converters/src/main/java/org/codehaus/modello/plugin/converters/ConverterGenerator.java +++ b/modello-plugins/modello-plugin-converters/src/main/java/org/codehaus/modello/plugin/converters/ConverterGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.Version; import org.codehaus.modello.model.VersionDefinition; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.AbstractJavaModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JInterface; @@ -43,6 +44,7 @@ import org.codehaus.modello.plugin.java.javasource.JType; import org.codehaus.modello.plugin.java.metadata.JavaClassMetadata; import org.codehaus.modello.plugin.java.metadata.JavaFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.IOUtil; import java.io.IOException; @@ -54,6 +56,7 @@ /** * Generate a basic conversion class between two versions of a model. */ +@Component( role = ModelloGenerator.class, hint = "converters" ) public class ConverterGenerator extends AbstractJavaModelloGenerator { diff --git a/modello-plugins/modello-plugin-converters/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-converters/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 36d048912..000000000 --- a/modello-plugins/modello-plugin-converters/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - converters - org.codehaus.modello.plugin.converters.ConverterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jReaderGenerator.java b/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jReaderGenerator.java index ec3947ab0..fcde29919 100644 --- a/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jReaderGenerator.java +++ b/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jReaderGenerator.java @@ -28,6 +28,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JMethod; import org.codehaus.modello.plugin.java.javasource.JParameter; @@ -37,6 +38,7 @@ import org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator; import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import java.io.IOException; @@ -49,6 +51,7 @@ * * @author Brett Porter */ +@Component( role = ModelloGenerator.class, hint = "dom4j-reader" ) public class Dom4jReaderGenerator extends AbstractXmlJavaGenerator { diff --git a/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jWriterGenerator.java b/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jWriterGenerator.java index 5349a2203..49f4307af 100644 --- a/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jWriterGenerator.java +++ b/modello-plugins/modello-plugin-dom4j/src/main/java/org/codehaus/modello/plugin/dom4j/Dom4jWriterGenerator.java @@ -28,6 +28,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JMethod; import org.codehaus.modello.plugin.java.javasource.JParameter; @@ -39,6 +40,7 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; import java.io.IOException; import java.util.List; @@ -52,6 +54,7 @@ * * @author Brett Porter */ +@Component( role = ModelloGenerator.class, hint = "dom4j-writer" ) public class Dom4jWriterGenerator extends AbstractXmlJavaGenerator { diff --git a/modello-plugins/modello-plugin-dom4j/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-dom4j/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 4db1f2576..000000000 --- a/modello-plugins/modello-plugin-dom4j/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - dom4j-reader - org.codehaus.modello.plugin.dom4j.Dom4jReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - dom4j-writer - org.codehaus.modello.plugin.dom4j.Dom4jWriterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonReaderGenerator.java b/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonReaderGenerator.java index 850c9b026..c8e0a93a2 100644 --- a/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonReaderGenerator.java +++ b/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonReaderGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -46,11 +47,13 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlClassMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; /** * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "jackson-reader" ) public class JacksonReaderGenerator extends AbstractJacksonGenerator { diff --git a/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonWriterGenerator.java b/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonWriterGenerator.java index fd54a629f..18768e7cb 100644 --- a/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonWriterGenerator.java +++ b/modello-plugins/modello-plugin-jackson/src/main/java/org/codehaus/modello/plugin/jackson/JacksonWriterGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -42,10 +43,12 @@ import org.codehaus.modello.plugin.java.metadata.JavaFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; /** * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "jackson-writer" ) public class JacksonWriterGenerator extends AbstractJacksonGenerator { diff --git a/modello-plugins/modello-plugin-jackson/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-jackson/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index f39df61d5..000000000 --- a/modello-plugins/modello-plugin-jackson/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - jackson-reader - org.codehaus.modello.plugin.jackson.JacksonReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - jackson-writer - org.codehaus.modello.plugin.jackson.JacksonWriterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/JavaModelloGenerator.java b/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/JavaModelloGenerator.java index ce23f2803..97a4d8135 100644 --- a/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/JavaModelloGenerator.java +++ b/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/JavaModelloGenerator.java @@ -41,6 +41,7 @@ import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JArrayType; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JCollectionType; @@ -59,11 +60,13 @@ import org.codehaus.modello.plugin.java.metadata.JavaClassMetadata; import org.codehaus.modello.plugin.java.metadata.JavaFieldMetadata; import org.codehaus.modello.plugin.model.ModelClassMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; /** * @author Jason van Zyl */ +@Component( role = ModelloGenerator.class, hint = "java" ) public class JavaModelloGenerator extends AbstractJavaModelloGenerator { diff --git a/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/metadata/JavaMetadataPlugin.java b/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/metadata/JavaMetadataPlugin.java index 371c8a4da..296cfcc6c 100644 --- a/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/metadata/JavaMetadataPlugin.java +++ b/modello-plugins/modello-plugin-java/src/main/java/org/codehaus/modello/plugin/java/metadata/JavaMetadataPlugin.java @@ -34,12 +34,14 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.plexus.component.annotations.Component; import java.util.Map; /** * @author Emmanuel Venisse */ +@Component( role = MetadataPlugin.class, hint = "java" ) public class JavaMetadataPlugin extends AbstractMetadataPlugin implements MetadataPlugin diff --git a/modello-plugins/modello-plugin-java/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-java/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index e74e2a84e..000000000 --- a/modello-plugins/modello-plugin-java/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - java - org.codehaus.modello.plugin.java.JavaModelloGenerator - per-lookup - - - - org.codehaus.modello.metadata.MetadataPlugin - java - org.codehaus.modello.plugin.java.metadata.JavaMetadataPlugin - per-lookup - - - diff --git a/modello-plugins/modello-plugin-jdom/src/main/java/org/codehaus/modello/plugin/jdom/JDOMWriterGenerator.java b/modello-plugins/modello-plugin-jdom/src/main/java/org/codehaus/modello/plugin/jdom/JDOMWriterGenerator.java index 03b9cc231..cde0db2b2 100644 --- a/modello-plugins/modello-plugin-jdom/src/main/java/org/codehaus/modello/plugin/jdom/JDOMWriterGenerator.java +++ b/modello-plugins/modello-plugin-jdom/src/main/java/org/codehaus/modello/plugin/jdom/JDOMWriterGenerator.java @@ -22,6 +22,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -35,6 +36,7 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; import java.io.IOException; import java.util.ArrayList; @@ -44,6 +46,7 @@ /** * @author mkleint@codehaus.org */ +@Component( role = ModelloGenerator.class, hint = "jdom-writer" ) public class JDOMWriterGenerator extends AbstractJDOMGenerator { diff --git a/modello-plugins/modello-plugin-jdom/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-jdom/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index d2182efe5..000000000 --- a/modello-plugins/modello-plugin-jdom/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - jdom-writer - org.codehaus.modello.plugin.jdom.JDOMWriterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-jsonschema/src/main/java/org/codehaus/modello/plugin/jsonschema/JsonSchemaGenerator.java b/modello-plugins/modello-plugin-jsonschema/src/main/java/org/codehaus/modello/plugin/jsonschema/JsonSchemaGenerator.java index 8fe9e63a0..c59dad967 100644 --- a/modello-plugins/modello-plugin-jsonschema/src/main/java/org/codehaus/modello/plugin/jsonschema/JsonSchemaGenerator.java +++ b/modello-plugins/modello-plugin-jsonschema/src/main/java/org/codehaus/modello/plugin/jsonschema/JsonSchemaGenerator.java @@ -36,8 +36,10 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugins.xml.AbstractXmlJavaGenerator; import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import com.fasterxml.jackson.core.JsonEncoding; @@ -50,6 +52,7 @@ * @author Simone Tripodi * @since 1.8 */ +@Component( role = ModelloGenerator.class, hint = "jsonschema" ) public final class JsonSchemaGenerator extends AbstractXmlJavaGenerator { diff --git a/modello-plugins/modello-plugin-jsonschema/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-jsonschema/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index c0e4dd5f1..000000000 --- a/modello-plugins/modello-plugin-jsonschema/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - jsonschema - org.codehaus.modello.plugin.jsonschema.JsonSchemaGenerator - - - - - diff --git a/modello-plugins/modello-plugin-sax/src/main/java/org/codehaus/modello/plugin/sax/SaxWriterGenerator.java b/modello-plugins/modello-plugin-sax/src/main/java/org/codehaus/modello/plugin/sax/SaxWriterGenerator.java index e6c0d14fc..2df94b7e6 100644 --- a/modello-plugins/modello-plugin-sax/src/main/java/org/codehaus/modello/plugin/sax/SaxWriterGenerator.java +++ b/modello-plugins/modello-plugin-sax/src/main/java/org/codehaus/modello/plugin/sax/SaxWriterGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -46,11 +47,13 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; /** * @since 1.8 * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "sax-writer" ) public class SaxWriterGenerator extends AbstractXmlJavaGenerator { diff --git a/modello-plugins/modello-plugin-sax/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-sax/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index a1d2dbb94..000000000 --- a/modello-plugins/modello-plugin-sax/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - sax-writer - org.codehaus.modello.plugin.sax.SaxWriterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlExtendedReaderGenerator.java b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlExtendedReaderGenerator.java index fd01e4613..c9279bfc3 100644 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlExtendedReaderGenerator.java +++ b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlExtendedReaderGenerator.java @@ -23,12 +23,15 @@ */ import org.codehaus.modello.model.ModelClass; +import org.codehaus.modello.plugin.ModelloGenerator; +import org.codehaus.plexus.component.annotations.Component; /** * The generator for Jackson-based parsers that support input location tracking. * * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "snakeyaml-extended-reader" ) public class SnakeYamlExtendedReaderGenerator extends SnakeYamlReaderGenerator { diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java index e0f29dc7e..4fa9fd076 100644 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java +++ b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JMethod; import org.codehaus.modello.plugin.java.javasource.JParameter; @@ -44,11 +45,13 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlClassMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; /** * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "snakeyaml-reader" ) public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java index dca1cb783..ee240197f 100644 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java +++ b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -42,10 +43,12 @@ import org.codehaus.modello.plugin.java.metadata.JavaFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; /** * @author Simone Tripodi */ +@Component( role = ModelloGenerator.class, hint = "snakeyaml-writer" ) public class SnakeYamlWriterGenerator extends AbstractSnakeYamlGenerator { diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-snakeyaml/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 3f4df5ea9..000000000 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - snakeyaml-reader - org.codehaus.modello.plugin.snakeyaml.SnakeYamlReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - snakeyaml-writer - org.codehaus.modello.plugin.snakeyaml.SnakeYamlWriterGenerator - per-lookup - - - org.codehaus.modello.plugin.snakeyaml.SnakeYamlSerializerGenerator - snakeyaml-serializer - org.codehaus.modello.plugin.snakeyaml.SnakeYamlSerializerGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxReaderGenerator.java b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxReaderGenerator.java index ab6ba2395..de79e8d87 100644 --- a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxReaderGenerator.java +++ b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxReaderGenerator.java @@ -31,6 +31,7 @@ import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.Version; import org.codehaus.modello.model.VersionDefinition; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JField; import org.codehaus.modello.plugin.java.javasource.JMethod; @@ -43,6 +44,7 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import java.io.IOException; @@ -54,6 +56,7 @@ * @author Jason van Zyl * @author Emmanuel Venisse */ +@Component( role = ModelloGenerator.class, hint = "stax-reader" ) public class StaxReaderGenerator extends AbstractStaxGenerator { diff --git a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxSerializerGenerator.java b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxSerializerGenerator.java index 9001b0688..d67ec1cab 100644 --- a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxSerializerGenerator.java +++ b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxSerializerGenerator.java @@ -24,6 +24,7 @@ import org.codehaus.modello.ModelloException; import org.codehaus.modello.model.Model; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -32,6 +33,7 @@ import org.codehaus.modello.plugin.java.javasource.JSourceCode; import org.codehaus.modello.plugin.java.javasource.JSourceWriter; import org.codehaus.modello.plugin.java.javasource.JType; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import java.io.IOException; @@ -44,6 +46,7 @@ * * @author Benjamin Bentmann */ +@Component( role = StaxSerializerGenerator.class, hint = "stax-serializer" ) public class StaxSerializerGenerator extends AbstractStaxGenerator { diff --git a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxWriterGenerator.java b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxWriterGenerator.java index 8d7ccb6cc..5ca8e23d9 100644 --- a/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxWriterGenerator.java +++ b/modello-plugins/modello-plugin-stax/src/main/java/org/codehaus/modello/plugin/stax/StaxWriterGenerator.java @@ -28,6 +28,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -41,6 +42,8 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; import java.io.IOException; import java.util.List; @@ -50,12 +53,14 @@ * @author Jason van Zyl * @author Emmanuel Venisse */ +@Component( role = ModelloGenerator.class, hint = "stax-writer" ) public class StaxWriterGenerator extends AbstractStaxGenerator { private boolean requiresDomSupport; + @Requirement private StaxSerializerGenerator serializerGenerator; public void generate( Model model, Properties parameters ) diff --git a/modello-plugins/modello-plugin-stax/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-stax/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 19ab583e1..000000000 --- a/modello-plugins/modello-plugin-stax/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - stax-reader - org.codehaus.modello.plugin.stax.StaxReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - stax-writer - org.codehaus.modello.plugin.stax.StaxWriterGenerator - per-lookup - - - serializerGenerator - org.codehaus.modello.plugin.stax.StaxSerializerGenerator - stax-serializer - - - - - org.codehaus.modello.plugin.stax.StaxSerializerGenerator - stax-serializer - org.codehaus.modello.plugin.stax.StaxSerializerGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java b/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java index 6a01969fb..d47daae27 100644 --- a/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java +++ b/modello-plugins/modello-plugin-velocity/src/main/java/org/codehaus/modello/plugin/velocity/VelocityGenerator.java @@ -37,8 +37,11 @@ import org.codehaus.modello.model.Model; import org.codehaus.modello.model.Version; import org.codehaus.modello.plugin.AbstractModelloGenerator; +import org.codehaus.modello.plugin.ModelloGenerator; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.io.CachingWriter; +@Component( role = ModelloGenerator.class, hint = "velocity" ) public class VelocityGenerator extends AbstractModelloGenerator { diff --git a/modello-plugins/modello-plugin-velocity/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-velocity/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index ed745b2fc..000000000 --- a/modello-plugins/modello-plugin-velocity/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - org.codehaus.modello.plugin.ModelloGenerator - velocity - org.codehaus.modello.plugin.velocity.VelocityGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java index ad3bc2d12..160dc1834 100644 --- a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java +++ b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/XdocGenerator.java @@ -44,6 +44,7 @@ import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.Version; import org.codehaus.modello.model.VersionRange; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.xdoc.metadata.XdocClassMetadata; import org.codehaus.modello.plugin.xdoc.metadata.XdocFieldMetadata; import org.codehaus.modello.plugin.xsd.XsdModelHelper; @@ -52,6 +53,7 @@ import org.codehaus.modello.plugins.xml.metadata.XmlClassMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.WriterFactory; import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; @@ -63,6 +65,7 @@ * @author Jason van Zyl * @author Emmanuel Venisse */ +@Component( role = ModelloGenerator.class, hint = "xdoc" ) public class XdocGenerator extends AbstractXmlGenerator { diff --git a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/metadata/XdocMetadataPlugin.java b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/metadata/XdocMetadataPlugin.java index 95baf3515..93672fea0 100644 --- a/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/metadata/XdocMetadataPlugin.java +++ b/modello-plugins/modello-plugin-xdoc/src/main/java/org/codehaus/modello/plugin/xdoc/metadata/XdocMetadataPlugin.java @@ -35,12 +35,14 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.plexus.component.annotations.Component; import java.util.Map; /** * @author HervĂ© Boutemy */ +@Component( role = MetadataPlugin.class, hint = "stax-writer" ) public class XdocMetadataPlugin extends AbstractMetadataPlugin implements MetadataPlugin diff --git a/modello-plugins/modello-plugin-xdoc/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-xdoc/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 3af391ffa..000000000 --- a/modello-plugins/modello-plugin-xdoc/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - xdoc - org.codehaus.modello.plugin.xdoc.XdocGenerator - per-lookup - - - - org.codehaus.modello.metadata.MetadataPlugin - xdoc - org.codehaus.modello.plugin.xdoc.metadata.XdocMetadataPlugin - per-lookup - - - diff --git a/modello-plugins/modello-plugin-xml/src/main/java/org/codehaus/modello/plugins/xml/metadata/XmlMetadataPlugin.java b/modello-plugins/modello-plugin-xml/src/main/java/org/codehaus/modello/plugins/xml/metadata/XmlMetadataPlugin.java index 40fb70534..2c54b4e07 100644 --- a/modello-plugins/modello-plugin-xml/src/main/java/org/codehaus/modello/plugins/xml/metadata/XmlMetadataPlugin.java +++ b/modello-plugins/modello-plugin-xml/src/main/java/org/codehaus/modello/plugins/xml/metadata/XmlMetadataPlugin.java @@ -36,11 +36,13 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.plexus.component.annotations.Component; /** * @author Trygve Laugstøl * @author Emmanuel Venisse */ +@Component( role = MetadataPlugin.class, hint = "xml" ) public class XmlMetadataPlugin extends AbstractMetadataPlugin implements MetadataPlugin diff --git a/modello-plugins/modello-plugin-xml/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-xml/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 76a072792..000000000 --- a/modello-plugins/modello-plugin-xml/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - org.codehaus.modello.metadata.MetadataPlugin - xml - org.codehaus.modello.plugins.xml.metadata.XmlMetadataPlugin - - - diff --git a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedReaderGenerator.java b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedReaderGenerator.java index 548db72c5..a6cf1778a 100644 --- a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedReaderGenerator.java +++ b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedReaderGenerator.java @@ -23,12 +23,15 @@ */ import org.codehaus.modello.model.ModelClass; +import org.codehaus.modello.plugin.ModelloGenerator; +import org.codehaus.plexus.component.annotations.Component; /** * The generator for XPP3-based parsers that support input location tracking. * * @author Benjamin Bentmann */ +@Component( role = ModelloGenerator.class, hint = "xpp3-extended-reader" ) public class Xpp3ExtendedReaderGenerator extends Xpp3ReaderGenerator { diff --git a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedWriterGenerator.java b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedWriterGenerator.java index 4dd3fc477..9906cabea 100644 --- a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedWriterGenerator.java +++ b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ExtendedWriterGenerator.java @@ -1,5 +1,7 @@ package org.codehaus.modello.plugin.xpp3; +import org.codehaus.modello.plugin.ModelloGenerator; + /* * Copyright (c) 2004, Codehaus.org * @@ -28,6 +30,7 @@ import org.codehaus.modello.plugin.java.javasource.JParameter; import org.codehaus.modello.plugin.java.javasource.JSourceCode; import org.codehaus.modello.plugin.java.javasource.JType; +import org.codehaus.plexus.component.annotations.Component; /** * The generator for XPP3-based writers that support input location tracking. @@ -35,6 +38,7 @@ * @author HervĂ© Boutemy * @since 1.10 */ +@Component( role = ModelloGenerator.class, hint = "xpp3-extended-writer" ) public class Xpp3ExtendedWriterGenerator extends Xpp3WriterGenerator { diff --git a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java index 867868173..0c5a45251 100644 --- a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java +++ b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java @@ -32,6 +32,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JConstructor; import org.codehaus.modello.plugin.java.javasource.JField; @@ -47,12 +48,14 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlClassMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; /** * @author Jason van Zyl * @author Emmanuel Venisse */ +@Component( role = ModelloGenerator.class, hint = "xpp3-reader" ) public class Xpp3ReaderGenerator extends AbstractXpp3Generator { diff --git a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java index 534caa606..627e8e410 100644 --- a/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java +++ b/modello-plugins/modello-plugin-xpp3/src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java @@ -29,6 +29,7 @@ import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelDefault; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.java.javasource.JClass; import org.codehaus.modello.plugin.java.javasource.JField; import org.codehaus.modello.plugin.java.javasource.JMethod; @@ -41,6 +42,7 @@ import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlModelMetadata; +import org.codehaus.plexus.component.annotations.Component; import java.io.IOException; import java.util.List; @@ -50,6 +52,7 @@ * @author Jason van Zyl * @author Emmanuel Venisse */ +@Component( role = ModelloGenerator.class, hint = "xpp3-writer" ) public class Xpp3WriterGenerator extends AbstractXpp3Generator { diff --git a/modello-plugins/modello-plugin-xpp3/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-xpp3/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 24ad84b57..000000000 --- a/modello-plugins/modello-plugin-xpp3/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - xpp3-reader - org.codehaus.modello.plugin.xpp3.Xpp3ReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - xpp3-extended-reader - org.codehaus.modello.plugin.xpp3.Xpp3ExtendedReaderGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - xpp3-writer - org.codehaus.modello.plugin.xpp3.Xpp3WriterGenerator - per-lookup - - - org.codehaus.modello.plugin.ModelloGenerator - xpp3-extended-writer - org.codehaus.modello.plugin.xpp3.Xpp3ExtendedWriterGenerator - per-lookup - - - diff --git a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java index e3cec9459..fded06016 100644 --- a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java +++ b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java @@ -28,10 +28,12 @@ import org.codehaus.modello.model.ModelAssociation; import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelField; +import org.codehaus.modello.plugin.ModelloGenerator; import org.codehaus.modello.plugin.xsd.metadata.XsdClassMetadata; import org.codehaus.modello.plugins.xml.AbstractXmlGenerator; import org.codehaus.modello.plugins.xml.metadata.XmlAssociationMetadata; import org.codehaus.modello.plugins.xml.metadata.XmlFieldMetadata; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.WriterFactory; import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; @@ -48,6 +50,7 @@ /** * @author Brett Porter */ +@Component( role = ModelloGenerator.class, hint = "xsd" ) public class XsdGenerator extends AbstractXmlGenerator { diff --git a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/metadata/XsdMetadataPlugin.java b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/metadata/XsdMetadataPlugin.java index df7ad466c..9368dcd68 100644 --- a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/metadata/XsdMetadataPlugin.java +++ b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/metadata/XsdMetadataPlugin.java @@ -22,12 +22,14 @@ import org.codehaus.modello.metadata.ClassMetadata; import org.codehaus.modello.metadata.FieldMetadata; import org.codehaus.modello.metadata.InterfaceMetadata; +import org.codehaus.modello.metadata.MetadataPlugin; import org.codehaus.modello.metadata.ModelMetadata; import org.codehaus.modello.model.Model; import org.codehaus.modello.model.ModelAssociation; import org.codehaus.modello.model.ModelClass; import org.codehaus.modello.model.ModelField; import org.codehaus.modello.model.ModelInterface; +import org.codehaus.plexus.component.annotations.Component; import java.util.Map; @@ -36,6 +38,7 @@ * * @author Joakim Erdfelt */ +@Component( role = MetadataPlugin.class, hint = "xdoc" ) public class XsdMetadataPlugin extends AbstractMetadataPlugin { diff --git a/modello-plugins/modello-plugin-xsd/src/main/resources/META-INF/plexus/components.xml b/modello-plugins/modello-plugin-xsd/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index d4ed19192..000000000 --- a/modello-plugins/modello-plugin-xsd/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - org.codehaus.modello.plugin.ModelloGenerator - xsd - org.codehaus.modello.plugin.xsd.XsdGenerator - - - - org.codehaus.modello.metadata.MetadataPlugin - xsd - org.codehaus.modello.plugin.xsd.metadata.XsdMetadataPlugin - - - diff --git a/pom.xml b/pom.xml index 6f4694fae..cc040acae 100644 --- a/pom.xml +++ b/pom.xml @@ -348,6 +348,11 @@ + + org.codehaus.plexus + plexus-component-annotations + 2.1.0 + junit junit @@ -535,6 +540,18 @@ + + org.codehaus.plexus + plexus-component-metadata + 2.1.0 + + + + generate-metadata + + + + From 9588872a5a5d9e795bb53b9078ac037922f83ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Fri, 30 Dec 2022 10:58:36 +0100 Subject: [PATCH 2/2] remove last hand-writter Plexus components.xml --- modello-core/pom.xml | 11 -------- .../core/DefaultGeneratorPluginManager.java | 13 ++++++++++ .../core/DefaultMetadataPluginManager.java | 13 ++++++++++ .../modello/plugin/AbstractPluginManager.java | 14 +++------- .../resources/META-INF/plexus/components.xml | 26 ------------------- 5 files changed, 30 insertions(+), 47 deletions(-) delete mode 100644 modello-core/src/main/resources/META-INF/plexus/components.xml diff --git a/modello-core/pom.xml b/modello-core/pom.xml index 8e8e06b5e..8b774557d 100644 --- a/modello-core/pom.xml +++ b/modello-core/pom.xml @@ -48,17 +48,6 @@ - - org.codehaus.plexus - plexus-component-metadata - - - - merge-metadata - - - - diff --git a/modello-core/src/main/java/org/codehaus/modello/core/DefaultGeneratorPluginManager.java b/modello-core/src/main/java/org/codehaus/modello/core/DefaultGeneratorPluginManager.java index 6d4bf1362..82e30f1c7 100644 --- a/modello-core/src/main/java/org/codehaus/modello/core/DefaultGeneratorPluginManager.java +++ b/modello-core/src/main/java/org/codehaus/modello/core/DefaultGeneratorPluginManager.java @@ -22,17 +22,30 @@ * SOFTWARE. */ +import java.util.Map; + import org.codehaus.modello.ModelloRuntimeException; import org.codehaus.modello.plugin.AbstractPluginManager; import org.codehaus.modello.plugin.ModelloGenerator; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; /** * @author Trygve Laugstøl */ +@Component( role = GeneratorPluginManager.class ) public class DefaultGeneratorPluginManager extends AbstractPluginManager implements GeneratorPluginManager { + @Requirement + private Map plugins; + + public Map getPlugins() + { + return plugins; + } + public ModelloGenerator getGeneratorPlugin( String generatorId ) { ModelloGenerator generator = getPlugin( generatorId ); diff --git a/modello-core/src/main/java/org/codehaus/modello/core/DefaultMetadataPluginManager.java b/modello-core/src/main/java/org/codehaus/modello/core/DefaultMetadataPluginManager.java index a49de252b..85accc2eb 100644 --- a/modello-core/src/main/java/org/codehaus/modello/core/DefaultMetadataPluginManager.java +++ b/modello-core/src/main/java/org/codehaus/modello/core/DefaultMetadataPluginManager.java @@ -22,17 +22,30 @@ * SOFTWARE. */ +import java.util.Map; + import org.codehaus.modello.ModelloRuntimeException; import org.codehaus.modello.metadata.MetadataPlugin; import org.codehaus.modello.plugin.AbstractPluginManager; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; /** * @author Trygve Laugstøl */ +@Component( role = MetadataPluginManager.class ) public class DefaultMetadataPluginManager extends AbstractPluginManager implements MetadataPluginManager { + @Requirement + private Map plugins; + + public Map getPlugins() + { + return plugins; + } + public MetadataPlugin getMetadataPlugin( String metadataId ) { MetadataPlugin metadata = getPlugin( metadataId ); 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 0e6b84f76..2ee6cc499 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 @@ -38,26 +38,20 @@ public abstract class AbstractPluginManager extends AbstractLogEnabled implements Initializable { - /* injected by Plexus: see META-INF/plexus/components.xml */ - private Map plugins = new HashMap(); - public void initialize() { } - public Map getPlugins() - { - return plugins; - } + abstract public Map getPlugins(); public Iterator getPluginsIterator() { - return plugins.values().iterator(); + return getPlugins().values().iterator(); } public T getPlugin( String name ) { - T plugin = plugins.get( name ); + T plugin = getPlugins().get( name ); if ( plugin == null ) { @@ -69,6 +63,6 @@ public T getPlugin( String name ) public boolean hasPlugin( String name ) { - return plugins.containsKey( name ); + return getPlugins().containsKey( name ); } } diff --git a/modello-core/src/main/resources/META-INF/plexus/components.xml b/modello-core/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 6e5b45142..000000000 --- a/modello-core/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - org.codehaus.modello.core.MetadataPluginManager - org.codehaus.modello.core.DefaultMetadataPluginManager - per-lookup - - - plugins - org.codehaus.modello.metadata.MetadataPlugin - - - - - org.codehaus.modello.core.GeneratorPluginManager - org.codehaus.modello.core.DefaultGeneratorPluginManager - per-lookup - - - plugins - org.codehaus.modello.plugin.ModelloGenerator - - - - -