diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 9ec0623..00e19ea 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -18,7 +18,7 @@ name: Deploy on: push: - branches: [ mavenize ] + branches: [ master, development ] jobs: verify: diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 57387bc..5cf3588 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - java-version: [ 11 ] + java-version: [ 17 ] distribution: 'temurin' steps: - name: Check out Git repository diff --git a/pom.xml b/pom.xml index 10f8a6b..71471ed 100644 --- a/pom.xml +++ b/pom.xml @@ -4,8 +4,10 @@ 4.0.0 org.dominokit domino-cli - 1.0.0-SNAPSHOT + HEAD-SNAPSHOT + HEAD-SNAPSHOT + 1.0.0-RC6 3.11.0 17 UTF-8 @@ -147,6 +149,34 @@ + + org.dominokit + gitflow-maven-plugin + 1.0.0 + + snapshot.version + next.release.version + + true + + + ${bump.digit} + + + verify + verify + + + + master + + development + + + diff --git a/src/main/assembly/assembly.xml b/src/main/assembly/assembly.xml index 81188fd..2cf3ef5 100644 --- a/src/main/assembly/assembly.xml +++ b/src/main/assembly/assembly.xml @@ -12,7 +12,7 @@ ${project.build.directory}/${project.artifactId}-${project.version}-runner${executable-suffix} ./bin - ${project.artifactId}${executable-suffix} + dominokit${executable-suffix} \ No newline at end of file diff --git a/src/main/java/org/dominokit/cli/commands/DominoCommand.java b/src/main/java/org/dominokit/cli/commands/DominoCommand.java index c74767b..5af7ae8 100644 --- a/src/main/java/org/dominokit/cli/commands/DominoCommand.java +++ b/src/main/java/org/dominokit/cli/commands/DominoCommand.java @@ -8,7 +8,21 @@ @TopCommand @Command( name = "domino", - description = "Executes domino commands", + description = """ + Executes domino commands + Use this command to generate basic template project or an MVP project. + The versions used in the project dependencies can be set dynamically using env variable as the following : + + - DOMINO_CLI_DOMINO_UI_VERSION + - DOMINO_CLI_DOMINO_HISTORY_VERSION + - DOMINO_CLI_DOMINO_MVP_VERSION + - DOMINO_CLI_DOMINO_REST_VERSION + - DOMINO_CLI_DOMINO_JACKSON_VERSION + - DOMINO_CLI_QUARKUS_VERSION + - DOMINO_CLI_VERTX_VERSION + - DOMINO_CLI_GWT_VERSION + - DOMINO_CLI_J2CL_PLUGIN_VERSION + """, subcommands = { CommandLine.HelpCommand.class, GenerateCommand.class diff --git a/src/main/java/org/dominokit/cli/generator/TemplateProvider.java b/src/main/java/org/dominokit/cli/generator/TemplateProvider.java index 06eaabd..912fd8f 100644 --- a/src/main/java/org/dominokit/cli/generator/TemplateProvider.java +++ b/src/main/java/org/dominokit/cli/generator/TemplateProvider.java @@ -10,6 +10,7 @@ import java.io.Writer; import java.util.Arrays; import java.util.Map; +import java.util.Optional; import static java.util.Objects.isNull; @@ -18,14 +19,23 @@ public class TemplateProvider { private static Configuration cfg; public static void render(String templatePath, Map context, Writer out) throws IOException, TemplateException { - Arrays.stream(Versions.values()).forEach(version -> context.put(version.name(), version.get())); + fillVersions(context); Template template = getEngine().getTemplate(templatePath); template.process(context, out); } + private static void fillVersions(Map context) { + Arrays.stream(Versions.values()) + .forEach(version -> { + context.put(version.name(), Optional.ofNullable(System.getProperty(version.getEnvVariable())) + .or(() -> Optional.ofNullable(System.getenv(version.getEnvVariable()))) + .orElse(version.get())); + }); + } + public static String render(String templatePath, Map context) throws IOException, TemplateException { - Arrays.stream(Versions.values()).forEach(version -> context.put(version.name(), version.get())); + fillVersions(context); StringWriter out = new StringWriter(); Template template = getEngine().getTemplate(templatePath); template.process(context, out); diff --git a/src/main/java/org/dominokit/cli/generator/Versions.java b/src/main/java/org/dominokit/cli/generator/Versions.java index 1d9d43b..7ece94c 100644 --- a/src/main/java/org/dominokit/cli/generator/Versions.java +++ b/src/main/java/org/dominokit/cli/generator/Versions.java @@ -1,23 +1,29 @@ package org.dominokit.cli.generator; public enum Versions { - domino_ui_version("1.0.0-RC10"), - domino_history_version("1.0.0-RC4"), - domino_mvp_version("1.0.0-RC11"), - domino_rest_version("1.0.0-RC5"), - domino_jackson_version("1.0.0-RC3"), - quarkus_version("2.2.3.Final"), - vertx_version("3.9.0"), - gwt_version("2.9.0"), - j2cl_maven_plugin_version("0.18-SNAPSHOT"); + domino_ui_version("DOMINO_CLI_DOMINO_UI_VERSION","1.0.0-RC19"), + domino_history_version("DOMINO_CLI_DOMINO_HISTORY_VERSION","1.0.0-RC5"), + domino_mvp_version("DOMINO_CLI_DOMINO_MVP_VERSION","1.0.0-RC11"), + domino_rest_version("DOMINO_CLI_DOMINO_REST_VERSION","1.0.0-RC7"), + domino_jackson_version("DOMINO_CLI_DOMINO_JACKSON_VERSION","1.0.0-RC4"), + quarkus_version("DOMINO_CLI_QUARKUS_VERSION","2.16.7.Final"), + vertx_version("DOMINO_CLI_VERTX_VERSION","3.9.0"), + gwt_version("DOMINO_CLI_GWT_VERSION","2.10.0"), + j2cl_maven_plugin_version("DOMINO_CLI_J2CL_PLUGIN_VERSION","0.21-SNAPSHOT"); + private String envVariable; private String version; - Versions(String version) { + Versions(String envVariable, String version) { + this.envVariable = envVariable; this.version = version; } public String get() { return version; } + + public String getEnvVariable() { + return envVariable; + } }