From 3ee3c34ffc52899b97325bafa68e812b534602bb Mon Sep 17 00:00:00 2001 From: JFronny Date: Thu, 3 Nov 2022 14:50:53 +0100 Subject: [PATCH] Filter links from pipeline --- .../woodpecker/include/PipelineUnpacker.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/gitlab/jfronny/woodpecker/include/PipelineUnpacker.java b/src/main/java/io/gitlab/jfronny/woodpecker/include/PipelineUnpacker.java index 2b19f66..849a815 100644 --- a/src/main/java/io/gitlab/jfronny/woodpecker/include/PipelineUnpacker.java +++ b/src/main/java/io/gitlab/jfronny/woodpecker/include/PipelineUnpacker.java @@ -59,9 +59,7 @@ final class PipelineUnpacker implements BiConsumer> for (String line : new StreamIterable<>(pipeline.data().lines())) { Matcher matcher = INCLUDE.matcher(line); if (!matcher.matches()) newData.append(line); - else { - newData.append(download(matcher.group(1)).data()); - } + else newData.append(download(matcher.group(1)).data()); newData.append('\n'); } processPipeline(new Pipeline(pipeline.name(), newData.toString()), pipelineConsumer, depth + 1); @@ -75,12 +73,16 @@ final class PipelineUnpacker implements BiConsumer> processPipeline(download(url), pipelineConsumer, depth + 1); } - if (pipeline.data().lines() - .anyMatch(INCLUDE.asPredicate().negate() - .and(LINK.asPredicate().negate()) - .and(Predicate.not(String::isBlank)))) { - // More than just includes: generate override without include node - pipelineConsumer.accept(pipeline); + // Filter + StringBuilder newDate = new StringBuilder(); + boolean foundContent = false; + for (String line : new StreamIterable<>(pipeline.data().lines())) { + if (LINK.matcher(line).matches()) continue; + if (!line.isBlank()) foundContent = true; + newDate.append(line).append('\n'); + } + if (foundContent) { + pipelineConsumer.accept(new Pipeline(pipeline.name(), newDate.toString())); } }