void (@NotNull CompileContext context, @NotNull String libraryName, @NotNull JpsMavenRepositoryLibraryDescriptor descriptor, @NotNull List<Path> allRoots, @NotNull List<Path> missingRoots) { if (missingRoots.isEmpty() || !SystemProperties.getBooleanProperty(RESOLUTION_REPORT_INVALID_SHA256_CHECKSUM_PROPERTY, false)) { return; } Path reportsDir = createVerificationProblemReport(context, libraryName, descriptor, "missing_artifact", reportMetadata -> { reportMetadata.setProperty("all_roots_list", allRoots.toString()); reportMetadata.setProperty("missing_roots_list", missingRoots.toString()); }); if (reportsDir == null) { return; } // publish .pom files to investigate why some files are not downloaded for (Path artifact : allRoots) { String possiblePomFileName = FileUtilRt.getNameWithoutExtension(artifact.getFileName().toString()) + ".pom"; Path pomFile = artifact.getParent().resolve(possiblePomFileName); if (Files.exists(pomFile)) { try { Path pomFileCopy = reportsDir.resolve(pomFile.getFileName()); Files.copy(pomFile, pomFileCopy, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES); } catch (IOException e) { LOG.error("Unable to copy pom file " + pomFile, e); } } } }