This is an automated email from the ASF dual-hosted git repository. mgubaidullin pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit 304ff62377a221b1b228f3b3873f2d5d345925ca Author: Marat Gubaidullin <[email protected]> AuthorDate: Tue Sep 29 16:39:32 2026 -0400 Fixes for Karavan 4.22.1 --- .../src/main/java/org/apache/camel/karavan/service/GitService.java | 3 ++- karavan-app/src/main/resources/application.properties | 2 +- karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx | 2 +- karavan-devmode/.dockerignore | 4 ++-- karavan-devmode/Dockerfile | 3 ++- karavan-devmode/src/main/java/KaravanFileFetcher.java | 4 ++-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java index 74a578b5..563941d2 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java @@ -197,8 +197,9 @@ public class GitService { files.forEach(file -> { try { Path target = PathUtils.resolveInside(projectDir, file.getName()); + String code = file.getCode() != null ? file.getCode() : ""; LOGGER.info("Add file " + file.getName()); - Files.writeString(target, file.getCode()); + Files.writeString(target, code); } catch (SecurityException e) { LOGGER.error("Path traversal blocked for file " + file.getName() + " in project " + projectFolder.getProjectId()); throw e; diff --git a/karavan-app/src/main/resources/application.properties b/karavan-app/src/main/resources/application.properties index 1b433c4a..1c8b1fe6 100644 --- a/karavan-app/src/main/resources/application.properties +++ b/karavan-app/src/main/resources/application.properties @@ -25,7 +25,7 @@ karavan.container.status.interval=3s karavan.container.statistics.interval=20s # karavan.container.statistics.interval should be off in kubernetes -karavan.devmode.image=ghcr.io/apache/camel-karavan-devmode:4.22.1 +karavan.devmode.image=apache/camel-karavan-devmode:4.22.1 karavan.devmode.service.account=karavan karavan.builder.service.account=karavan karavan.secret.name=karavan diff --git a/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx b/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx index 700bfebd..91e42e74 100644 --- a/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx +++ b/karavan-app/src/main/webui/src/ui/page-project/files/FilesSubTab.tsx @@ -247,7 +247,7 @@ export function FilesSubTab(props: FilesSubTabProps) { } </Td> <Td modifier={"fitContent"} style={{textAlign: "right"}}> - {file?.code.length} + {file?.code?.length} </Td> <Td modifier={"fitContent"}> <Flex direction={{default: "row"}} justifyContent={{default: "justifyContentFlexEnd"}} spaceItems={{default: 'spaceItemsNone'}} diff --git a/karavan-devmode/.dockerignore b/karavan-devmode/.dockerignore index 9f71e87a..54c2a98c 100644 --- a/karavan-devmode/.dockerignore +++ b/karavan-devmode/.dockerignore @@ -1,7 +1,7 @@ * -!target/talisman-devmode* !target/lib/* +!target/karavan-devmode-*.jar !settings.xml !entrypoint.sh !scripts/utils-*.sh -src/* +src/* \ No newline at end of file diff --git a/karavan-devmode/Dockerfile b/karavan-devmode/Dockerfile index 3163d2f8..a50240c6 100644 --- a/karavan-devmode/Dockerfile +++ b/karavan-devmode/Dockerfile @@ -47,7 +47,8 @@ RUN mkdir -p $MAVEN_REPO \ && mkdir -p $BUILDER_PATH COPY target/lib/*.jar $KARAVAN_LIB/ -COPY target/karavan-devmode-*.jar $KARAVAN_LIB +COPY target/karavan-devmode-*.jar $KARAVAN_LIB/ +COPY target/karavan-devmode-*.jar $KARAVAN_LIB/ COPY entrypoint.sh $KARAVAN/ RUN chmod +x $KARAVAN/entrypoint.sh diff --git a/karavan-devmode/src/main/java/KaravanFileFetcher.java b/karavan-devmode/src/main/java/KaravanFileFetcher.java index 0fede725..0340ca7d 100644 --- a/karavan-devmode/src/main/java/KaravanFileFetcher.java +++ b/karavan-devmode/src/main/java/KaravanFileFetcher.java @@ -62,11 +62,11 @@ public class KaravanFileFetcher { if (entry.getName().endsWith(".sh")) { boolean success = resolvedPath.toFile().setExecutable(true, false); // true = executable, false = for all users (not just owner) if (!success) { - System.out.printf("Failed to set executable permission on: %s", resolvedPath.toAbsolutePath()); + System.out.printf("Failed to set executable permission on: %s \n", resolvedPath.toAbsolutePath()); } } - System.out.printf("Extracted file: %s", resolvedPath.toAbsolutePath()); + System.out.printf("Extracted file: %s \n", resolvedPath.toAbsolutePath()); } zis.closeEntry(); }
