From aca87ac3e5d53ed6e7e69d7482aefa624370e0d0 Mon Sep 17 00:00:00 2001 From: Jaime Diaz Date: Thu, 9 Jan 2020 13:44:13 +0100 Subject: [PATCH 1/7] #1085 Set next development version --- cobigen/cobigen-textmerger/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cobigen/cobigen-textmerger/pom.xml b/cobigen/cobigen-textmerger/pom.xml index c422998c65..9bcc05d530 100644 --- a/cobigen/cobigen-textmerger/pom.xml +++ b/cobigen/cobigen-textmerger/pom.xml @@ -2,7 +2,7 @@ 4.0.0 textmerger jar - 2.1.0-SNAPSHOT + 2.2.0-SNAPSHOT CobiGen - Text Merger Plug-in CobiGen - Text Merger Plug-in From c99c5715c0a00d9be9b526c7d071321094f4c198 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Thu, 10 Sep 2020 00:48:00 +0200 Subject: [PATCH 2/7] #1228 adapt to new lazy activation API --- cobigen/cobigen-textmerger/pom.xml | 4 ++-- .../textmerger/TextMergerPluginActivator.java | 21 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/cobigen/cobigen-textmerger/pom.xml b/cobigen/cobigen-textmerger/pom.xml index 9bcc05d530..211d3d7db0 100644 --- a/cobigen/cobigen-textmerger/pom.xml +++ b/cobigen/cobigen-textmerger/pom.xml @@ -20,7 +20,7 @@ com.devonfw.cobigen core-api - 5.0.0 + [6.2.0-SNAPSHOT,) @@ -31,7 +31,7 @@ com.devonfw.cobigen core-test - 5.0.0 + [6.2.0-SNAPSHOT,) test diff --git a/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/TextMergerPluginActivator.java b/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/TextMergerPluginActivator.java index 44aa418e50..6c8d03feeb 100644 --- a/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/TextMergerPluginActivator.java +++ b/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/TextMergerPluginActivator.java @@ -2,23 +2,34 @@ import java.util.List; +import com.devonfw.cobigen.api.annotation.Activation; import com.devonfw.cobigen.api.extension.GeneratorPluginActivator; import com.devonfw.cobigen.api.extension.Merger; import com.devonfw.cobigen.api.extension.TriggerInterpreter; import com.google.common.collect.Lists; /** - * This Plugin Activator registers a merger, which only appends the patch text to the original existing file - * @author mbrunnli (06.04.2014) + * This plug-in activator registers a merger, which only appends the patch text to the original existing file */ +@Activation(byMergeStrategy = { TextMergerPluginActivator.TEXTMERGE_APPEND, + TextMergerPluginActivator.TEXTMERGE_APPEND_WITH_NEW_LINE, TextMergerPluginActivator.TEXTMERGE_OVERRIDE }) public class TextMergerPluginActivator implements GeneratorPluginActivator { + /** Merge strategy to append text parts (prefer patch) */ + static final String TEXTMERGE_OVERRIDE = "textmerge_override"; + + /** Merge strategy to append text parts while adding a new line before */ + static final String TEXTMERGE_APPEND_WITH_NEW_LINE = "textmerge_appendWithNewLine"; + + /** Merge strategy to append text parts (prefer base) */ + static final String TEXTMERGE_APPEND = "textmerge_append"; + @Override public List bindMerger() { List merger = Lists.newLinkedList(); - merger.add(new TextAppender("textmerge_append", false)); - merger.add(new TextAppender("textmerge_appendWithNewLine", true)); - merger.add(new TextAppender("textmerge_override", false)); + merger.add(new TextAppender(TEXTMERGE_APPEND, false)); + merger.add(new TextAppender(TEXTMERGE_APPEND_WITH_NEW_LINE, true)); + merger.add(new TextAppender(TEXTMERGE_OVERRIDE, false)); return merger; } From 9f15fa8f77bcdfae10c21f3665e25b9074bb9c6e Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Thu, 10 Sep 2020 01:43:08 +0200 Subject: [PATCH 3/7] set new version to make compatibility recognition easier --- cobigen/cobigen-textmerger/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cobigen/cobigen-textmerger/pom.xml b/cobigen/cobigen-textmerger/pom.xml index 211d3d7db0..c6b2e20140 100644 --- a/cobigen/cobigen-textmerger/pom.xml +++ b/cobigen/cobigen-textmerger/pom.xml @@ -2,7 +2,7 @@ 4.0.0 textmerger jar - 2.2.0-SNAPSHOT + 7.0.0-SNAPSHOT CobiGen - Text Merger Plug-in CobiGen - Text Merger Plug-in @@ -20,7 +20,7 @@ com.devonfw.cobigen core-api - [6.2.0-SNAPSHOT,) + [7.0.0-SNAPSHOT,) @@ -31,7 +31,7 @@ com.devonfw.cobigen core-test - [6.2.0-SNAPSHOT,) + [7.0.0-SNAPSHOT,) test From 9ed8cf8f631070bd1f849261e0a46791746faefd Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Fri, 11 Sep 2020 13:03:34 +0200 Subject: [PATCH 4/7] fixing bug --- .../textmerger/anchorextension/MergeUtil.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/anchorextension/MergeUtil.java b/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/anchorextension/MergeUtil.java index fe9b7b1cc3..025386dd4c 100644 --- a/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/anchorextension/MergeUtil.java +++ b/cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/anchorextension/MergeUtil.java @@ -10,6 +10,8 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Helper class that implements a few very specific methods to help with working on maps and regular @@ -17,6 +19,9 @@ */ public class MergeUtil { + /** Logger instance. */ + private static final Logger LOG = LoggerFactory.getLogger(MergeUtil.class); + /** * Regular expression matching what correct anchors should look like. */ @@ -50,6 +55,8 @@ public class MergeUtil { * merge(File,String,String) * @param toSplit * The string that is to be split by anchors + * @param defaultMergeStrategy + * the default merge strategy to fall back * @return a LinkedHashMap which contains anchors as keys and the following text as values * @throws Exception * when an anchor contains a wrong definition @@ -58,13 +65,14 @@ public static LinkedHashMap splitByAnchors(String toSplit, Merge throws Exception { LinkedHashMap result = new LinkedHashMap<>(); toSplit.trim(); - if (!StringUtils.substring(toSplit, 0, StringUtils.ordinalIndexOf(toSplit, "\n", 1) - lineSepLength).trim() - .matches(anchorRegexTrimmed)) { + String firstLine = + StringUtils.substring(toSplit, 0, StringUtils.ordinalIndexOf(toSplit, "\n", 1) - lineSepLength + 1).trim(); + if (!firstLine.matches(anchorRegexTrimmed)) { + LOG.debug("Line {} does not match {}", firstLine, anchorRegexTrimmed); throw new Exception( "Incorrect document structure. Anchors are defined but there is no anchor at the start of the document.\n" + "See https://github.com/devonfw/cobigen/wiki/cobigen-textmerger#general and " - + "https://github.com/devonfw/cobigen/wiki/cobigen-textmerger#error-list " - + "for more details"); + + "https://github.com/devonfw/cobigen/wiki/cobigen-textmerger#error-list " + "for more details"); } toSplit = toSplit + System.lineSeparator() + "anchor:::anchorend" + System.lineSeparator(); @@ -227,7 +235,6 @@ public static ArrayList joinKeySetsRetainOrder(Map base, if (checkSame.retainAll(patch.keySet())) { int i = 0; int x = 0; - String tmp = ""; for (Anchor s : base.keySet()) { i++; From ab42a0b6a0053f4cc0b5244ef722f46d0f2448c7 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Mon, 14 Sep 2020 15:38:46 +0200 Subject: [PATCH 5/7] set latest release version --- cobigen/cobigen-textmerger/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cobigen/cobigen-textmerger/pom.xml b/cobigen/cobigen-textmerger/pom.xml index c6b2e20140..066d94556f 100644 --- a/cobigen/cobigen-textmerger/pom.xml +++ b/cobigen/cobigen-textmerger/pom.xml @@ -20,7 +20,7 @@ com.devonfw.cobigen core-api - [7.0.0-SNAPSHOT,) + [7.0.0,) @@ -31,7 +31,7 @@ com.devonfw.cobigen core-test - [7.0.0-SNAPSHOT,) + [7.0.0,) test From df955b9dd871ad8772dc45d52fb8cff6afcfbe5f Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Mon, 14 Sep 2020 18:25:15 +0200 Subject: [PATCH 6/7] #1238 update wiki docs --- documentation/master-cobigen.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/master-cobigen.asciidoc b/documentation/master-cobigen.asciidoc index 8f4ef21ec7..dd115ef389 100644 --- a/documentation/master-cobigen.asciidoc +++ b/documentation/master-cobigen.asciidoc @@ -22,7 +22,7 @@ DISCLAIMER: All Cobigen plugins are compatible with the latest release of Devonf * CobiGen - XML Plug-in v4.2.0 * CobiGen - TypeScript Plug-in v2.4.4 * CobiGen - Property Plug-in v2.1.0 -* CobiGen - Text Merger v2.1.0 +* CobiGen - Text Merger v7.0.0 * CobiGen - JSON Plug-in v2.1.0 * CobiGen - HTML Plug-in v2.1.0 * CobiGen - Open API Plug-in v2.4.0 From 656858e8e3f884f1a66711d90ed47389fcee6798 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Mon, 14 Sep 2020 18:25:24 +0200 Subject: [PATCH 7/7] #1238 Set release version --- cobigen/cobigen-textmerger/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cobigen/cobigen-textmerger/pom.xml b/cobigen/cobigen-textmerger/pom.xml index 066d94556f..ba7c95ba8f 100644 --- a/cobigen/cobigen-textmerger/pom.xml +++ b/cobigen/cobigen-textmerger/pom.xml @@ -2,7 +2,7 @@ 4.0.0 textmerger jar - 7.0.0-SNAPSHOT + 7.0.0 CobiGen - Text Merger Plug-in CobiGen - Text Merger Plug-in