in src/main/java/org/apache/tomcat/jakartaee/ManifestConverter.java [61:81]
public boolean convert(String path, InputStream src, OutputStream dest, EESpecProfile profile) throws IOException {
byte[] srcBytes = IOUtils.toByteArray(src);
Manifest srcManifest = new Manifest(new ByteArrayInputStream(srcBytes));
Manifest destManifest = new Manifest(srcManifest);
// Only consider profile conversions, allowing Migration.hasConverted to be true only when there are actual
// conversions made
boolean converted = updateValues(destManifest, profile);
removeSignatures(destManifest);
if (srcManifest.equals(destManifest)) {
IOUtils.writeChunked(srcBytes, dest);
logger.log(Level.FINEST, sm.getString("manifestConverter.noConversion", path));
} else {
destManifest.write(dest);
String key = converted ? "manifestConverter.converted" : "manifestConverter.updated";
logger.log(Level.FINE, sm.getString(key, path));
}
return converted;
}