You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/11/06 16:12:19 UTC

[camel] 04/04: CAMEL-18205: camel-jbang - Export as gradle project

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1fef7e15e9b6cf9d91afb58572f632ac1f402f9b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Nov 6 17:11:58 2022 +0100

    CAMEL-18205: camel-jbang - Export as gradle project
---
 docs/user-manual/modules/ROOT/pages/camel-jbang.adoc       |  4 ++--
 .../org/apache/camel/dsl/jbang/core/commands/Export.java   |  4 ++--
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java   |  6 +++---
 .../camel/dsl/jbang/core/commands/ExportCamelMain.java     | 14 ++++++--------
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java       |  9 ++++-----
 .../camel/dsl/jbang/core/commands/ExportSpringBoot.java    |  9 ++++-----
 6 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index 90a08105215..a285c8ba866 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -1488,11 +1488,11 @@ TIP: See the possible options by running: `camel export --help` for more details
 === Exporting as Gradle Project
 
 Camel JBang exports by default as a Maven based project. To use Gradle instead, you can
-specify the `--project=gradle` when exporting, such as:
+specify the `--build-tool=gradle` when exporting, such as:
 
 [source,bash]
 ----
-camel export --project=gradle --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --dir=../myproject
+camel export --build-tool=gradle --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --dir=../myproject
 ----
 
 === Exporting with JMX management included
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
index 89e5839558c..a8b9b3a2300 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
@@ -59,7 +59,7 @@ class Export extends ExportBaseCommand {
             this.gradleWrapper
                     = "true".equals(prop.getProperty("camel.jbang.gradleWrapper", this.gradleWrapper ? "true" : "false"));
             this.exportDir = prop.getProperty("camel.jbang.exportDir", this.exportDir);
-            this.project = prop.getProperty("camel.jbang.project", this.project);
+            this.buildTool = prop.getProperty("camel.jbang.buildTool", this.buildTool);
         }
 
         if (runtime == null) {
@@ -103,7 +103,7 @@ class Export extends ExportBaseCommand {
         cmd.springBootVersion = this.springBootVersion;
         cmd.mavenWrapper = this.mavenWrapper;
         cmd.gradleWrapper = this.gradleWrapper;
-        cmd.project = this.project;
+        cmd.buildTool = this.buildTool;
         cmd.quiet = this.quiet;
         // run export
         return cmd.export();
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 082169d14a3..256904bf197 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -109,9 +109,9 @@ abstract class ExportBaseCommand extends CamelCommand {
                         description = "Include Gradle Wrapper files in exported project")
     protected boolean gradleWrapper;
 
-    @CommandLine.Option(names = { "--project" }, defaultValue = "maven",
-                        description = "Project (maven or gradle)")
-    protected String project;
+    @CommandLine.Option(names = { "--build-tool" }, defaultValue = "maven",
+                        description = "Build tool to use (maven or gradle)")
+    protected String buildTool;
 
     @CommandLine.Option(names = {
             "-dir",
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index d434155ed23..0a715f0e504 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -46,10 +46,13 @@ class ExportCamelMain extends Export {
             System.err.println("--gav must be in syntax: groupId:artifactId:version");
             return 1;
         }
-        if (!project.equals("maven") && !project.equals("gradle")) {
-            System.err.println("--project must either be maven or gradle, was: " + project);
+        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
+            System.err.println("--build-tool must either be maven or gradle, was: " + buildTool);
             return 1;
         }
+        if (buildTool.equals("gradle")) {
+            System.err.println("--build-tool=gradle is not support yet for camel-main runtime.");
+        }
 
         File profile = new File(getProfile() + ".properties");
 
@@ -99,15 +102,10 @@ class ExportCamelMain extends Export {
         createMainClassSource(srcJavaDir, packageName, mainClassname);
         // gather dependencies
         Set<String> deps = resolveDependencies(settings, profile);
-        // maven project
-        if ("maven".equals(project)) {
+        if ("maven".equals(buildTool)) {
             createPom(settings, new File(BUILD_DIR, "pom.xml"), deps, packageName);
             if (mavenWrapper) {
                 copyMavenWrapper();
-            } else if ("gradle".equals(project)) {
-                if (gradleWrapper) {
-                    copyGradleWrapper();
-                }
             }
         }
 
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 95135f489f2..25e06dd5210 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -66,8 +66,8 @@ class ExportQuarkus extends Export {
             System.err.println("--gav must be in syntax: groupId:artifactId:version");
             return 1;
         }
-        if (!project.equals("maven") && !project.equals("gradle")) {
-            System.err.println("--project must either be maven or gradle, was: " + project);
+        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
+            System.err.println("--build-tool must either be maven or gradle, was: " + buildTool);
             return 1;
         }
 
@@ -118,13 +118,12 @@ class ExportQuarkus extends Export {
         copyDockerFiles();
         // gather dependencies
         Set<String> deps = resolveDependencies(settings, profile);
-        // maven project
-        if ("maven".equals(project)) {
+        if ("maven".equals(buildTool)) {
             createPom(settings, new File(BUILD_DIR, "pom.xml"), deps);
             if (mavenWrapper) {
                 copyMavenWrapper();
             }
-        } else if ("gradle".equals(project)) {
+        } else if ("gradle".equals(buildTool)) {
             createGradleProperties(new File(BUILD_DIR, "gradle.properties"));
             createSettingsGradle(new File(BUILD_DIR, "settings.gradle"));
             createBuildGradle(settings, new File(BUILD_DIR, "build.gradle"), deps);
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index e94442e7a68..56c08900c55 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -54,8 +54,8 @@ class ExportSpringBoot extends Export {
             System.err.println("--gav must be in syntax: groupId:artifactId:version");
             return 1;
         }
-        if (!project.equals("maven") && !project.equals("gradle")) {
-            System.err.println("--project must either be maven or gradle, was: " + project);
+        if (!buildTool.equals("maven") && !buildTool.equals("gradle")) {
+            System.err.println("--build-tool must either be maven or gradle, was: " + buildTool);
             return 1;
         }
 
@@ -102,13 +102,12 @@ class ExportSpringBoot extends Export {
         createMainClassSource(srcJavaDir, packageName, mainClassname);
         // gather dependencies
         Set<String> deps = resolveDependencies(settings, profile);
-        // maven project
-        if ("maven".equals(project)) {
+        if ("maven".equals(buildTool)) {
             createMavenPom(settings, new File(BUILD_DIR, "pom.xml"), deps);
             if (mavenWrapper) {
                 copyMavenWrapper();
             }
-        } else if ("gradle".equals(project)) {
+        } else if ("gradle".equals(buildTool)) {
             createSettingsGradle(new File(BUILD_DIR, "settings.gradle"));
             createBuildGradle(settings, new File(BUILD_DIR, "build.gradle"), deps);
             if (gradleWrapper) {