in src/main/java/org/apache/maven/plugin/resources/remote/AbstractProcessRemoteResourcesMojo.java [681:709]
private void fileWriteIfDiffers(DeferredFileOutputStream outStream) throws IOException {
File file = outStream.getFile();
if (outStream.isThresholdExceeded()) {
getLog().info("File " + file + " was overwritten due to content limit threshold " + outStream.getThreshold()
+ " reached");
return;
}
boolean needOverwrite = true;
if (file.exists()) {
try (InputStream is = Files.newInputStream(file.toPath());
InputStream newContents = new ByteArrayInputStream(outStream.getData())) {
needOverwrite = !IOUtil.contentEquals(is, newContents);
if (getLog().isDebugEnabled()) {
getLog().debug("File " + file + " contents " + (needOverwrite ? "differs" : "does not differ"));
}
}
}
if (!needOverwrite) {
getLog().debug("File " + file + " is up to date");
return;
}
getLog().debug("Writing " + file);
try (OutputStream os = Files.newOutputStream(file.toPath())) {
outStream.writeTo(os);
}
}