From 51a0c96b68ed81e5f733f0811b96210447e02533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fridrich=20=C5=A0trba?= Date: Fri, 12 Apr 2024 09:37:47 +0200 Subject: [PATCH 1/3] Add support for domAsXpp3 and fail if the old Java5 parameter is used --- .../java/org/codehaus/modello/ModelloCli.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 a75e4011e..db40052ce 100644 --- a/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java +++ b/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java @@ -106,11 +106,24 @@ public static void parseArgumentsFromCommandLine(String[] args) throws Exception System.exit(1); } + if (StringUtils.equalsIgnoreCase(javaSource, "true") || StringUtils.equalsIgnoreCase(javaSource, "false")) { + // The old useJava5 parameter at this position + System.err.println("Missing required parameter: Java Source (replacing the old \"Use Java5\" parameter)"); + + usage(); + + System.exit(1); + } + parameters.put(ModelloParameterConstants.OUTPUT_JAVA_SOURCE, javaSource); if (args.length > 6) { parameters.put(ModelloParameterConstants.ENCODING, args[6]); } + + if (args.length > 7) { + parameters.put(ModelloParameterConstants.DOM_AS_XPP3, args[7]); + } } // ---------------------------------------------------------------------- @@ -119,6 +132,6 @@ public static void parseArgumentsFromCommandLine(String[] args) throws Exception private static void usage() { System.err.println("Usage: modello " - + " []"); + + " [ []]"); } } From 17045f29426a77009751e168623addbeb47ec9eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fridrich=20=C5=A0trba?= Date: Sat, 15 Mar 2025 08:04:34 +0100 Subject: [PATCH 2/3] Handle also the velocity stuff in ModelloCli --- .../java/org/codehaus/modello/ModelloCli.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) 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 db40052ce..16da9bef2 100644 --- a/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java +++ b/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java @@ -23,8 +23,10 @@ */ import java.io.File; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import java.util.stream.Collectors; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.XmlStreamReader; @@ -124,6 +126,22 @@ public static void parseArgumentsFromCommandLine(String[] args) throws Exception if (args.length > 7) { parameters.put(ModelloParameterConstants.DOM_AS_XPP3, args[7]); } + + if (args.length > 8) { + parameters.put("modello.velocity.basedir", args[8]); + } + + if (args.length > 9) { + parameters.put("modello.velocity.templates", args[9]); + } + + if (args.length > 10 && StringUtils.isNotEmpty(args[10])) { + parameters.put("modello.velocity.parameters", (HashMap) + Arrays.stream(args[10].split(",")) + .filter(s -> s.contains("=")) + .map(s -> s.split("=", 2)) + .collect(Collectors.toMap(e -> e[0], e -> e[1]))); + } } // ---------------------------------------------------------------------- @@ -131,7 +149,8 @@ public static void parseArgumentsFromCommandLine(String[] args) throws Exception // ---------------------------------------------------------------------- private static void usage() { - System.err.println("Usage: modello " - + " [ []]"); + System.err.println( + "Usage: modello " + + " [ [ [ ]]] "); } } From 638f08d8065c27fae99322e05a2cab8bb65f7ae5 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Wed, 9 Sep 2026 23:58:24 +0200 Subject: [PATCH 3/3] Move the modello.velocity.* constants to modello-core --- .../java/org/codehaus/modello/ModelloCli.java | 6 +++--- .../modello/ModelloParameterConstants.java | 15 +++++++++++++++ modello-maven-plugin/pom.xml | 2 +- .../modello/maven/ModelloVelocityMojo.java | 9 +++++---- .../plugin/velocity/VelocityGenerator.java | 16 ++++++---------- 5 files changed, 30 insertions(+), 18 deletions(-) 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 16da9bef2..7fa1eeb61 100644 --- a/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java +++ b/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java @@ -128,15 +128,15 @@ public static void parseArgumentsFromCommandLine(String[] args) throws Exception } if (args.length > 8) { - parameters.put("modello.velocity.basedir", args[8]); + parameters.put(ModelloParameterConstants.VELOCITY_BASEDIR, args[8]); } if (args.length > 9) { - parameters.put("modello.velocity.templates", args[9]); + parameters.put(ModelloParameterConstants.VELOCITY_TEMPLATES, args[9]); } if (args.length > 10 && StringUtils.isNotEmpty(args[10])) { - parameters.put("modello.velocity.parameters", (HashMap) + parameters.put(ModelloParameterConstants.VELOCITY_PARAMETERS, (HashMap) Arrays.stream(args[10].split(",")) .filter(s -> s.contains("=")) .map(s -> s.split("=", 2)) diff --git a/modello-core/src/main/java/org/codehaus/modello/ModelloParameterConstants.java b/modello-core/src/main/java/org/codehaus/modello/ModelloParameterConstants.java index 572144dc2..28d594682 100644 --- a/modello-core/src/main/java/org/codehaus/modello/ModelloParameterConstants.java +++ b/modello-core/src/main/java/org/codehaus/modello/ModelloParameterConstants.java @@ -93,5 +93,20 @@ public class ModelloParameterConstants { */ public static final String PLURAL_EXCEPTIONS = "modello.plural.exceptions"; + /** + * @since 2.8.2 + */ + public static final String VELOCITY_BASEDIR = "modello.velocity.basedir"; + + /** + * @since 2.8.2 + */ + public static final String VELOCITY_TEMPLATES = "modello.velocity.templates"; + + /** + * @since 2.8.2 + */ + public static final String VELOCITY_PARAMETERS = "modello.velocity.parameters"; + private ModelloParameterConstants() {} } diff --git a/modello-maven-plugin/pom.xml b/modello-maven-plugin/pom.xml index 121ec2909..07fed2a37 100644 --- a/modello-maven-plugin/pom.xml +++ b/modello-maven-plugin/pom.xml @@ -141,7 +141,7 @@ org.codehaus.modello modello-plugin-velocity - + runtime 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 b737f9253..927f98b67 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 @@ -30,8 +30,8 @@ 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.modello.plugin.velocity.VelocityGenerator; import org.codehaus.plexus.build.BuildContext; /** @@ -103,10 +103,11 @@ protected void customizeParameters(Map parameters) { .collect(Collectors.toMap( s -> s.substring(0, s.indexOf('=')), s -> s.substring(s.indexOf('=') + 1))); - parameters.put(VelocityGenerator.VELOCITY_BASEDIR, velocityBasedir.getAbsolutePath()); + parameters.put(ModelloParameterConstants.VELOCITY_BASEDIR, velocityBasedir.getAbsolutePath()); - parameters.put(VelocityGenerator.VELOCITY_TEMPLATES, templates.stream().collect(Collectors.joining(","))); - parameters.put(VelocityGenerator.VELOCITY_PARAMETERS, params); + parameters.put( + ModelloParameterConstants.VELOCITY_TEMPLATES, templates.stream().collect(Collectors.joining(","))); + parameters.put(ModelloParameterConstants.VELOCITY_PARAMETERS, params); } protected boolean producesCompilableResult() { 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 b1084b8c4..a3e5e04af 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 @@ -43,12 +43,6 @@ @Named("velocity") public class VelocityGenerator extends AbstractModelloGenerator { - public static final String VELOCITY_BASEDIR = "modello.velocity.basedir"; - - public static final String VELOCITY_TEMPLATES = "modello.velocity.templates"; - - public static final String VELOCITY_PARAMETERS = "modello.velocity.parameters"; - public static final String MODELLO_VELOCITY_OUTPUT = "#MODELLO-VELOCITY#SAVE-OUTPUT-TO "; @Override @@ -56,13 +50,15 @@ public class VelocityGenerator extends AbstractModelloGenerator { public void generate(Model model, Map parameters) throws ModelloException { initialize(model, parameters); try { - Map params = - (Map) Objects.requireNonNull(parameters.get(VELOCITY_PARAMETERS)); - String templates = requireParameter(parameters, VELOCITY_TEMPLATES); + Map params = (Map) + Objects.requireNonNull(parameters.get(ModelloParameterConstants.VELOCITY_PARAMETERS)); + String templates = requireParameter(parameters, ModelloParameterConstants.VELOCITY_TEMPLATES); String output = requireParameter(parameters, ModelloParameterConstants.OUTPUT_DIRECTORY); Properties props = new Properties(); - props.put("resource.loader.file.path", requireParameter(parameters, VELOCITY_BASEDIR)); + props.put( + "resource.loader.file.path", + requireParameter(parameters, ModelloParameterConstants.VELOCITY_BASEDIR)); RuntimeInstance velocity = new RuntimeInstance(); velocity.init(props);