in src/main/java/org/apache/maven/plugins/artifact/buildinfo/AbstractBuildinfoMojo.java [229:287]
static void diagnose(
String outputTimestamp, Log log, MavenProject project, MavenSession session, String effective) {
if (session.getProjects().size() > 1) {
MavenProject root = session.getTopLevelProject();
MavenProject first = session.getProjects().get(0);
Path firstRelative =
root.getBasedir().toPath().relativize(first.getFile().toPath());
MavenProject firstParent = first.getParent();
log.info("reactor executionRoot = " + root.getId() + (root.equals(project) ? " (current)" : "")
+ System.lineSeparator()
+ " reactor first = "
+ (first.equals(root) ? "executionRoot" : (first.getId() + " @ " + firstRelative))
+ System.lineSeparator()
+ " first.parent = " + ((firstParent == null) ? firstParent : firstParent.getId()));
if (firstParent != null && session.getProjects().contains(firstParent)) {
// should not happen...
log.warn("reactor first parent = " + firstParent.getId() + " is in reactor");
}
}
log.info("outputTimestamp = " + outputTimestamp
+ (effective.equals(outputTimestamp) ? "" : (" => " + effective)));
String projectProperty = project.getProperties().getProperty("project.build.outputTimestamp");
String modelProperty = project.getModel().getProperties().getProperty("project.build.outputTimestamp");
String originalModelProperty =
project.getOriginalModel().getProperties().getProperty("project.build.outputTimestamp");
log.info("plugin outputTimestamp parameter diagnostics:" + System.lineSeparator()
+ " - plugin outputTimestamp parameter (defaultValue=\"${project.build.outputTimestamp}\") = "
+ outputTimestamp + System.lineSeparator()
+ " - project.build.outputTimestamp property from project = " + projectProperty
+ System.lineSeparator()
+ " - project.build.outputTimestamp property from project model = " + modelProperty
+ System.lineSeparator()
+ " - project.build.outputTimestamp property from project original model = "
+ originalModelProperty);
if (outputTimestamp == null) {
return;
}
MavenProject parent = project.getParent();
if (parent != null) {
StringBuilder sb = new StringBuilder("Inheritance analysis for property:" + System.lineSeparator()
+ " - current " + project.getId() + " property = " + projectProperty);
while (parent != null) {
String parentProperty = parent.getProperties().getProperty("project.build.outputTimestamp");
sb.append(System.lineSeparator());
sb.append(" - " + (session.getProjects().contains(parent) ? "reactor" : "external") + " parent "
+ parent.getId() + " property = " + parentProperty);
if (!projectProperty.equals(parentProperty)) {
break;
}
parent = parent.getParent();
}
log.info(sb.toString());
}
}