diff --git a/archunit/src/main/java/com/tngtech/archunit/library/freeze/ViolationStoreFactory.java b/archunit/src/main/java/com/tngtech/archunit/library/freeze/ViolationStoreFactory.java index 1ba6777d24..69dcc1a5d9 100644 --- a/archunit/src/main/java/com/tngtech/archunit/library/freeze/ViolationStoreFactory.java +++ b/archunit/src/main/java/com/tngtech/archunit/library/freeze/ViolationStoreFactory.java @@ -155,15 +155,24 @@ public List getViolations(ArchRule rule) { } private List readLines(String ruleDetailsFileName) { + String violationsText = readStoreFile(ruleDetailsFileName); + List lines = Splitter.on(UNESCAPED_LINE_BREAK_PATTERN).splitToList(violationsText); + return unescape(lines); + } + + private String readStoreFile(String fileName) { try { - String violationsText = new String(toByteArray(new File(storeFolder, ruleDetailsFileName)), UTF_8); - List lines = Splitter.on(UNESCAPED_LINE_BREAK_PATTERN).splitToList(violationsText); - return unescape(lines); + String result = new String(toByteArray(new File(storeFolder, fileName)), UTF_8); + return ensureUnixLineBreaks(result); } catch (IOException e) { throw new StoreReadException(e); } } + private String ensureUnixLineBreaks(String string) { + return string.replaceAll("\r\n", "\n"); + } + private static class FileSyncedProperties { private final File propertiesFile; private final Properties loadedProperties;