@VisibleForTesting public void writeManifest(@Nonnull Map<Path, String> sourceToPackageMap, Path outputFile) throws IOException { PackageManifest.Builder builder = PackageManifest.newBuilder(); for (Entry<Path, String> entry : sourceToPackageMap.entrySet()) { builder.addSources( JavaSourcePackage.newBuilder() .setAbsolutePath(entry.getKey().toAbsolutePath().toString()) .setPackageString(entry.getValue())); } try { ioProvider.writeProto(builder.build(), outputFile); } catch (IOException e) { logger.log(Level.SEVERE, "Error writing package manifest", e); throw e; } }