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 2023/10/21 10:09:53 UTC
[camel] branch main updated: CAMEL-20026: camel-jbang - Export camel-main allow to configure jib-maven-plugin version
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
The following commit(s) were added to refs/heads/main by this push:
new 52564b245c5 CAMEL-20026: camel-jbang - Export camel-main allow to configure jib-maven-plugin version
52564b245c5 is described below
commit 52564b245c510d82870ef99c6d1255e20f97e005
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 12:09:38 2023 +0200
CAMEL-20026: camel-jbang - Export camel-main allow to configure jib-maven-plugin version
---
docs/user-manual/modules/ROOT/pages/camel-jbang.adoc | 5 +++++
.../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 11 +++++++++++
.../apache/camel/dsl/jbang/core/commands/ExportCamelMain.java | 4 +++-
.../src/main/resources/templates/main-kubernetes-pom.tmpl | 2 +-
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index 314bd99da6b..3b5f07b7595 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -2382,6 +2382,8 @@ jkube.enricher.jkube-service.port=8080
jkube.recreate=true
----
+TIP: You can specify the jib-maven-plugin version using the `camel.jbang.jib-maven-plugin-version` property in `application.properties`.
+
You can find more details in the https://eclipse.dev/jkube/docs/[Eclipse JKube] and https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin[Jib] documentations.
===== Resource fragments
@@ -2546,6 +2548,9 @@ The follow options related to _exporting_, can be configured in `application.pro
|`camel.jbang.ignoreLoadingError`
| Whether to ignore route loading and compilation errors (use this with care!)
+|`camel.jbang.jib-maven-plugin-version`
+| Version to use for jib-maven-plugin if exporting to camel-main and have Kubernetes enabled (jkube.xxx options).
+
|===
NOTE: These are options from the export command, so you can see mor details and default values using `camel export --help`.
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 4d6f3ccd518..a473a91f8d9 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
@@ -681,6 +681,17 @@ abstract class ExportBaseCommand extends CamelCommand {
return -1;
}
+ protected static String jibMavenPluginVersion(File settings) {
+ try {
+ List<String> lines = Files.readAllLines(settings.toPath());
+ return lines.stream().filter(l -> l.startsWith("camel.jbang.jib-maven-plugin-version="))
+ .map(s -> StringHelper.after(s, "=")).findFirst().orElse("3.4.0");
+ } catch (Exception e) {
+ // ignore
+ }
+ return "3.4.0";
+ }
+
protected static void safeCopy(File source, File target, boolean override) throws Exception {
if (!source.exists()) {
return;
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 f081c8d90d6..bb9110b3ff0 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
@@ -255,7 +255,9 @@ class ExportCamelMain extends Export {
if (port == -1) {
port = 8080;
}
- sb2.append(context2.replaceFirst("\\{\\{ \\.Port }}", String.valueOf(port)));
+ context2 = context2.replaceFirst("\\{\\{ \\.Port }}", String.valueOf(port));
+ context2 = context2.replaceFirst("\\{\\{ \\.JibMavenPluginVersion }}", jibMavenPluginVersion(settings));
+ sb2.append(context2);
}
context = context.replace("{{ .CamelKubernetesProperties }}", sb1.toString());
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
index ac6a1e70f91..0623bd06a0b 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-pom.tmpl
@@ -1,7 +1,7 @@
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
- <version>3.3.2</version>
+ <version>{{ .JibMavenPluginVersion }}</version>
<configuration>
<container>
<ports>