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 2024/06/06 20:31:39 UTC
(camel) branch main updated: CAMEL-20848: camel-jbang - Export should only jib if no jkube is in use
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 f0ee72721c6 CAMEL-20848: camel-jbang - Export should only jib if no jkube is in use
f0ee72721c6 is described below
commit f0ee72721c669de9dfd5e99c24809f45dd936ed7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jun 6 22:31:22 2024 +0200
CAMEL-20848: camel-jbang - Export should only jib if no jkube is in use
---
.../modules/ROOT/pages/camel-jbang.adoc | 2 +-
.../dsl/jbang/core/commands/ExportBaseCommand.java | 16 +++++++++++++--
.../dsl/jbang/core/commands/ExportCamelMain.java | 18 +++++++++++++----
...uth-pom.tmpl => main-docker-from-auth-pom.tmpl} | 0
.../main/resources/templates/main-docker-pom.tmpl | 21 ++++++++++++++++++++
...-auth-pom.tmpl => main-docker-to-auth-pom.tmpl} | 0
.../resources/templates/main-kubernetes-pom.tmpl | 23 +---------------------
.../src/main/resources/templates/main-pom.tmpl | 8 ++++----
8 files changed, 55 insertions(+), 33 deletions(-)
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index be1c7b0b037..6aa1297e9c6 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -3480,7 +3480,7 @@ For example, the following can be used for a general Camel based application to
----
label.runtime=app.kubernetes.io/runtime
jib.to.image=demo/myapp:1.0
-jkube.version=1.16.0
+jkube.version=1.16.2
jkube.build.strategy=jib
jkube.skip.build=true
jkube.namespace=my-namespace
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 04048626157..f366c50f91c 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
@@ -704,11 +704,23 @@ abstract class ExportBaseCommand extends CamelCommand {
try {
List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
return lines.stream().filter(l -> l.startsWith("camel.jbang.jib-maven-plugin-version="))
- .map(s -> StringHelper.after(s, "=")).findFirst().orElse("3.4.0");
+ .map(s -> StringHelper.after(s, "=")).findFirst().orElse("3.4.3");
} catch (Exception e) {
// ignore
}
- return "3.4.0";
+ return "3.4.3";
+ }
+
+ protected static String jkubeMavenPluginVersion(File settings) {
+ try {
+ List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
+ return lines.stream()
+ .filter(l -> l.startsWith("camel.jbang.jkube-maven-plugin-version=") || l.startsWith("jkube.version="))
+ .map(s -> StringHelper.after(s, "=")).findFirst().orElse("1.16.2");
+ } catch (Exception e) {
+ // ignore
+ }
+ return "1.16.2";
}
protected void safeCopy(File source, File target, boolean override) throws Exception {
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 d833f666416..fd37cf570c0 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
@@ -243,8 +243,10 @@ class ExportCamelMain extends Export {
if (profile.exists()) {
RuntimeUtil.loadProperties(prop, profile);
}
+ boolean jib = prop.stringPropertyNames().stream().anyMatch(s -> s.startsWith("jib."));
boolean jkube = prop.stringPropertyNames().stream().anyMatch(s -> s.startsWith("jkube."));
- if (jkube) {
+ // jib is used for docker and kubernetes, jkube is only used for kubernetes
+ if (jib || jkube) {
// include all jib/jkube/label properties
String fromImage = null;
for (String key : prop.stringPropertyNames()) {
@@ -263,7 +265,7 @@ class ExportCamelMain extends Export {
sb1.append(String.format(" <%s>%s</%s>%n", "jib.from.image", fromImage, "jib.from.image"));
}
- InputStream is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-kubernetes-pom.tmpl");
+ InputStream is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-docker-pom.tmpl");
String context2 = IOHelper.loadText(is);
IOHelper.close(is);
@@ -272,14 +274,14 @@ class ExportCamelMain extends Export {
// image from/to auth
String auth = "";
if (prop.stringPropertyNames().stream().anyMatch(s -> s.startsWith("jib.from.auth."))) {
- is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-kubernetes-from-auth-pom.tmpl");
+ is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-docker-from-auth-pom.tmpl");
auth = IOHelper.loadText(is);
IOHelper.close(is);
}
context2 = context2.replace("{{ .JibFromImageAuth }}", auth);
auth = "";
if (prop.stringPropertyNames().stream().anyMatch(s -> s.startsWith("jib.to.auth."))) {
- is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-kubernetes-to-auth-pom.tmpl");
+ is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-docker-to-auth-pom.tmpl");
auth = IOHelper.loadText(is);
IOHelper.close(is);
}
@@ -291,6 +293,14 @@ class ExportCamelMain extends Export {
}
context2 = context2.replaceFirst("\\{\\{ \\.Port }}", String.valueOf(port));
sb2.append(context2);
+ // jkube is only used for kubernetes
+ if (jkube) {
+ is = ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main-kubernetes-pom.tmpl");
+ String context3 = IOHelper.loadText(is);
+ IOHelper.close(is);
+ context3 = context3.replaceFirst("\\{\\{ \\.JkubeMavenPluginVersion }}", jkubeMavenPluginVersion(settings));
+ sb2.append(context3);
+ }
}
context = context.replace("{{ .CamelKubernetesProperties }}", sb1.toString());
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-from-auth-pom.tmpl b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-from-auth-pom.tmpl
similarity index 100%
rename from dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-from-auth-pom.tmpl
rename to dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-from-auth-pom.tmpl
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-pom.tmpl b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-pom.tmpl
new file mode 100644
index 00000000000..cb11e0d6d18
--- /dev/null
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-pom.tmpl
@@ -0,0 +1,21 @@
+ <plugin>
+ <groupId>com.google.cloud.tools</groupId>
+ <artifactId>jib-maven-plugin</artifactId>
+ <version>{{ .JibMavenPluginVersion }}</version>
+ <configuration>
+ <from>
+ <image>${jib.from.image}</image>
+{{ .JibFromImageAuth }}
+ </from>
+ <to>
+ <image>${jib.to.image}</image>
+{{ .JibToImageAuth }}
+ </to>
+ <containerizingMode>packaged</containerizingMode>
+ <container>
+ <ports>
+ <port>{{ .Port }}</port>
+ </ports>
+ </container>
+ </configuration>
+ </plugin>
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-to-auth-pom.tmpl b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-to-auth-pom.tmpl
similarity index 100%
rename from dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-kubernetes-to-auth-pom.tmpl
rename to dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-docker-to-auth-pom.tmpl
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 5046b334e23..e016f531a14 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,28 +1,7 @@
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- <version>{{ .JibMavenPluginVersion }}</version>
- <configuration>
- <from>
- <image>${jib.from.image}</image>
-{{ .JibFromImageAuth }}
- </from>
- <to>
- <image>${jib.to.image}</image>
-{{ .JibToImageAuth }}
- </to>
- <containerizingMode>packaged</containerizingMode>
- <container>
- <ports>
- <port>{{ .Port }}</port>
- </ports>
- </container>
- </configuration>
- </plugin>
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
- <version>${jkube.version}</version>
+ <version>{{ .JkubeMavenPluginVersion }}</version>
<configuration>
<images>
<image>
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-pom.tmpl b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-pom.tmpl
index f78ba27f3a4..90d0c852fb4 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-pom.tmpl
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/main-pom.tmpl
@@ -48,17 +48,17 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
- <version>2.22.0</version>
+ <version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
- <version>2.22.0</version>
+ <version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
- <version>2.22.0</version>
+ <version>2.23.1</version>
</dependency>
<dependency>
@@ -100,7 +100,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>3.7.0</version>
+ <version>3.7.1</version>
<configuration>
<descriptors>
<descriptor>src/main/resources/assembly/runner.xml</descriptor>