Skip to content

Commit f545744

Browse files
committed
dedup txt entries
1 parent 1d3b5cb commit f545744

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

prism-core/src/main/java/io/avaje/prism/internal/PrismGenerator.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
3737
package io.avaje.prism.internal;
3838

3939
import static java.util.function.Predicate.not;
40+
import static java.util.stream.Collectors.joining;
4041
import static io.avaje.prism.internal.APContext.isAssignable;
4142

4243
import java.io.IOException;
@@ -53,6 +54,7 @@ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
5354
import java.util.List;
5455
import java.util.Map;
5556
import java.util.Map.Entry;
57+
import java.util.stream.Stream;
5658
import java.util.Optional;
5759
import java.util.Set;
5860

@@ -120,7 +122,18 @@ public synchronized void init(ProcessingEnvironment env) {
120122
try {
121123

122124
var file = APContext.getBuildResource("avaje-processors.txt");
123-
Files.writeString(file, "avaje-prism-core\n", StandardOpenOption.CREATE, StandardOpenOption.APPEND);
125+
var addition = new StringBuilder();
126+
//if file exists, dedup and append current processor
127+
if (file.toFile().exists()) {
128+
var result =
129+
Stream.concat(Files.lines(file), Stream.of("avaje-prism-core"))
130+
.distinct()
131+
.collect(joining("\n"));
132+
addition.append(result);
133+
} else {
134+
addition.append("avaje-prism-core");
135+
}
136+
Files.writeString(file, addition.toString(), StandardOpenOption.CREATE, StandardOpenOption.WRITE);
124137
} catch (IOException e) {
125138
// not an issue worth failing over
126139
}

0 commit comments

Comments
 (0)