From 7d66ae74e171744170809e678539c96ba7741556 Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Thu, 15 Aug 2019 10:40:57 -0400 Subject: [PATCH 1/3] Fix empty paths in tar. Fix path matching issues in directory loader. --- .gitignore | 2 ++ .../org/microbean/helm/chart/HelmIgnorePathMatcher.java | 8 ++++---- .../microbean/helm/chart/StreamOrientedChartLoader.java | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f4739a6f..72a523f2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ nbactions.xml src/site/markdown/*.html target/ +/.classpath +/.project diff --git a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java index 40c986e9..782bfa68 100644 --- a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java +++ b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java @@ -259,11 +259,11 @@ public void addPatterns(final Collection stringPatterns) { regex.append("\\."); break; case '*': - regex.append("[^").append(File.separator).append("]*"); - break; + regex.append("[^").append(File.separator).append(File.separator).append("]*"); + break; case '?': - regex.append("[^").append(File.separator).append("]?"); - break; + regex.append("[^").append(File.separator).append(File.separator).append("]?"); + break; default: regex.append(c); break; diff --git a/src/main/java/org/microbean/helm/chart/StreamOrientedChartLoader.java b/src/main/java/org/microbean/helm/chart/StreamOrientedChartLoader.java index 6446a261..9fea0f0a 100644 --- a/src/main/java/org/microbean/helm/chart/StreamOrientedChartLoader.java +++ b/src/main/java/org/microbean/helm/chart/StreamOrientedChartLoader.java @@ -273,6 +273,10 @@ private final void addFile(final NavigableMap chartBuilde Objects.requireNonNull(chartBuilders); Objects.requireNonNull(path); Objects.requireNonNull(stream); + + if (path.length() == 0) { + return; + } final Chart.Builder builder = getChartBuilder(chartBuilders, path); if (builder == null) { From 7aa33a6ae286ef20da08290865a38e0960c965e5 Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Fri, 16 Aug 2019 09:21:37 -0400 Subject: [PATCH 2/3] Fix indentation. --- .../org/microbean/helm/chart/HelmIgnorePathMatcher.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java index 782bfa68..e64777ff 100644 --- a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java +++ b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java @@ -259,11 +259,11 @@ public void addPatterns(final Collection stringPatterns) { regex.append("\\."); break; case '*': - regex.append("[^").append(File.separator).append(File.separator).append("]*"); - break; + regex.append("[^").append(File.separator).append(File.separator).append("]*"); + break; case '?': - regex.append("[^").append(File.separator).append(File.separator).append("]?"); - break; + regex.append("[^").append(File.separator).append(File.separator).append("]?"); + break; default: regex.append(c); break; From 2124463a1b9847c7284abcc4404d3f459409e2a4 Mon Sep 17 00:00:00 2001 From: Derek Adams Date: Sun, 18 Aug 2019 08:49:37 -0400 Subject: [PATCH 3/3] Replace file separators with '\' characters. --- .../java/org/microbean/helm/chart/HelmIgnorePathMatcher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java index e64777ff..19995df1 100644 --- a/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java +++ b/src/main/java/org/microbean/helm/chart/HelmIgnorePathMatcher.java @@ -259,10 +259,10 @@ public void addPatterns(final Collection stringPatterns) { regex.append("\\."); break; case '*': - regex.append("[^").append(File.separator).append(File.separator).append("]*"); + regex.append("[^\\\\]*"); break; case '?': - regex.append("[^").append(File.separator).append(File.separator).append("]?"); + regex.append("[^\\\\]?"); break; default: regex.append(c);