in src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java [70:119]
void printHeader(MavenProject project, MavenProject aggregate, boolean reproducible) {
p.println("# https://reproducible-builds.org/docs/jvm/");
p.println("buildinfo.version=1.0-SNAPSHOT");
p.println();
p.println("name=" + project.getName());
p.println("group-id=" + project.getGroupId());
p.println("artifact-id=" + project.getArtifactId());
p.println("version=" + project.getVersion());
p.println();
printSourceInformation(project);
p.println();
p.println("# build instructions");
p.println("build-tool=mvn");
// p.println( "# optional build setup url, as plugin parameter" );
p.println();
if (reproducible) {
p.println("# build environment information (simplified for reproducibility)");
p.println("java.version=" + extractJavaMajorVersion(System.getProperty("java.version")));
String ls = System.getProperty("line.separator");
p.println("os.name=" + ("\n".equals(ls) ? "Unix" : "Windows"));
} else {
p.println("# effective build environment information");
p.println("java.version=" + System.getProperty("java.version"));
p.println("java.vendor=" + System.getProperty("java.vendor"));
p.println("os.name=" + System.getProperty("os.name"));
}
p.println();
p.println("# Maven rebuild instructions and effective environment");
if (!reproducible) {
p.println("mvn.version=" + rtInformation.getMavenVersion());
}
if ((project.getPrerequisites() != null) && (project.getPrerequisites().getMaven() != null)) {
// TODO wrong algorithm, should reuse algorithm written in versions-maven-plugin
p.println("mvn.minimum.version=" + project.getPrerequisites().getMaven());
}
if (toolchain != null) {
String javaVersion = JdkToolchainUtil.getJavaVersion(toolchain);
if (reproducible) {
javaVersion = extractJavaMajorVersion(javaVersion);
}
p.println("mvn.toolchain.jdk=" + javaVersion);
}
if (!mono && (aggregate != null)) {
p.println("mvn.aggregate.artifact-id=" + aggregate.getArtifactId());
}
p.println();
p.println("# " + (mono ? "" : "aggregated ") + "output");
}