Skip to content

Commit 084e992

Browse files
Merge branch 'dev_textmerger'
2 parents 26f6227 + afccf6d commit 084e992

File tree

7 files changed

+29
-9
lines changed

7 files changed

+29
-9
lines changed

cobigen/cobigen-textmerger/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<modelVersion>4.0.0</modelVersion>
33
<artifactId>textmerger</artifactId>
44
<packaging>jar</packaging>
5-
<version>7.1.0</version>
5+
<version>7.1.1</version>
66
<name>CobiGen - Text Merger Plug-in</name>
77
<description>CobiGen - Text Merger Plug-in</description>
88

cobigen/cobigen-textmerger/src/main/java/com/devonfw/cobigen/textmerger/TextAppender.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,22 +77,22 @@ public String merge(File base, String patch, String targetCharset) throws MergeE
7777
String mergedString;
7878
String lineDelimiterBase;
7979

80-
Path path = Paths.get(base.getAbsolutePath());
80+
Path basePath = Paths.get(base.getAbsolutePath());
8181

8282
try {
8383
mergedString = FileUtils.readFileToString(base, targetCharset);
84-
lineDelimiterBase = SystemUtil.determineLineDelimiter(path, targetCharset);
84+
lineDelimiterBase = SystemUtil.determineLineDelimiter(basePath, targetCharset);
8585

8686
} catch (IOException e) {
8787
throw new MergeException(base, "Could not read base file.", e);
8888
}
8989
try {
90-
if (lineDelimiterBase.isEmpty()) {
91-
lineDelimiterBase = System.lineSeparator();
90+
if (lineDelimiterBase == null) {
91+
mergedString = merge(mergedString, patch, lineDelimiterBase);
92+
} else {
93+
mergedString =
94+
merge(mergedString, StringUtil.consolidateLineEndings(patch, lineDelimiterBase), lineDelimiterBase);
9295
}
93-
94-
mergedString =
95-
merge(mergedString, StringUtil.consolidateLineEndings(patch, lineDelimiterBase), lineDelimiterBase);
9696
} catch (Exception e) {
9797
throw new MergeException(base, e.getMessage(), e);
9898
}

cobigen/cobigen-textmerger/src/test/java/com/devonfw/cobigen/textmerger/TextAppenderTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,21 @@ public void testMerge_normalizeToBaseLineDelimiter() throws Exception {
316316
.isEqualTo(FileUtils.readFileToString(new File(testFileRootPath + "MergedBaseLineDelimiter.txt")));
317317
}
318318

319+
/**
320+
* Tests if a merge of a base file without line endings with a patch file with line endings will create a
321+
* valid result
322+
* @throws Exception
323+
* if errors occur while merging
324+
*/
325+
@Test
326+
public void testMerge_noBaseLineDelimiterToConsolidate() throws Exception {
327+
TextAppender appender = new TextAppender("textmerge_append", false);
328+
String mergedString = appender.merge(new File(testFileRootPath + "TestBaseNoLineDelimiter.txt"),
329+
FileUtils.readFileToString(new File(testFileRootPath + "PatchBaseNoLineDelimiter.txt")), "UTF-8");
330+
assertThat(mergedString)
331+
.isEqualTo(FileUtils.readFileToString(new File(testFileRootPath + "MergedBaseNoLineDelimiter.txt")));
332+
}
333+
319334
/**
320335
* Helper method that creates a String matching the usual look of a merge exception
321336
* @param base
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ab
2+
c
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
b
2+
c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a

documentation/master-cobigen.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ DISCLAIMER: All Cobigen plugins are compatible with the latest release of Devonf
2222
* CobiGen - XML Plug-in v7.0.0
2323
* CobiGen - TypeScript Plug-in v7.1.0
2424
* CobiGen - Property Plug-in v7.1.0
25-
* CobiGen - Text Merger v7.1.0
25+
* CobiGen - Text Merger v7.1.1
2626
* CobiGen - JSON Plug-in v7.0.0
2727
* CobiGen - HTML Plug-in v7.0.0
2828
* CobiGen - Open API Plug-in v7.1.0

0 commit comments

Comments
 (0)