resolution for issue #386 fixed the conditional so that execution occured on the last non-skipped project in the reactor

This commit is contained in:
Jeremy Long
2016-02-23 20:42:10 -05:00
parent 412ccc1be1
commit 585002c25c

View File

@@ -64,12 +64,13 @@ public class AggregateMojo extends BaseDependencyCheckMojo {
public void runCheck() throws MojoExecutionException, MojoFailureException {
final Engine engine = generateDataFile();
if (getProject() == getReactorProjects().get(getReactorProjects().size() - 1)) {
//if (getProject() == getReactorProjects().get(getReactorProjects().size() - 1)) {
if (getProject() == getLastProject()) {
//ensure that the .ser file was created for each.
for (MavenProject current : getReactorProjects()) {
final File dataFile = getDataFile(current);
if (dataFile == null) { //dc was never run on this project. write the ser to the target.
if (dataFile == null && !skipProject(current)) { //dc was never run on this project. write the ser to the target.
getLog().error(String.format("Module '%s' did not execute dependency-check; an attempt will be made to perform "
+ "the check but dependencies may be missed resulting in false negatives.", current.getName()));
generateDataFile(engine, current);
@@ -124,6 +125,22 @@ public class AggregateMojo extends BaseDependencyCheckMojo {
Settings.cleanup();
}
private MavenProject getLastProject() {
for (int x = getReactorProjects().size() - 1; x >= 0; x--) {
MavenProject p = getReactorProjects().get(x);
if (!skipProject(p)) {
return p;
}
}
return null;
}
private boolean skipProject(MavenProject project) {
String skip = (String) project.getProperties().get("maven.site.skip");
return "true".equalsIgnoreCase(skip);
}
/**
* Returns a set containing all the descendant projects of the given project.
*