in tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/MavenUtils.java [121:145]
public static void writeFileIfChanged(String newContent, File file, Log log) throws IOException {
boolean write = true;
file = file.getCanonicalFile();
if (file.exists()) {
try (FileReader fr = new FileReader(file)) {
String oldContent = IOUtils.toString(fr);
if (!newContent.equals(oldContent)) {
log.debug("Writing new file " + file.getAbsolutePath());
} else {
log.debug("File " + file.getAbsolutePath() + " has been left unchanged");
write = false;
}
}
} else {
// Create the structure
File parent = file.getParentFile();
parent.mkdirs();
}
if (write) {
try (FileWriter fw = new FileWriter(file)) {
IOUtils.write(newContent, fw);
}
}
}