![JAR search and dependency download from the Maven repository](/logo.png)
org.linuxstuff.mojo.licensing.AggregateReportMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of licensing-maven-plugin Show documentation
Show all versions of licensing-maven-plugin Show documentation
Forked from http://github.com/idcmp/licensing-maven-plugin
package org.linuxstuff.mojo.licensing;
import java.io.File;
import java.util.List;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.linuxstuff.mojo.licensing.model.LicensingReport;
/**
* Aggregate mojo. Will walk your reactor building in memory licensing reports
* making them into one giant report. This mojo does not check for
* missing or disliked artifacts (use {@code CheckMojo} for that).
*
* @goal aggregate
* @requiresDependencyResolution test
* @requiresProject true
* @aggregator
* @threadSafe
*/
public class AggregateReportMojo extends CheckMojo {
/**
* Maven ProjectHelper.
*
* @component
* @readonly
*/
private MavenProjectHelper projectHelper;
/**
* The projects in the reactor for aggregation report.
*
* @parameter expression="${reactorProjects}"
* @readonly
* @required
*/
private List reactorProjects;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
if (!project.isExecutionRoot()) {
getLog().debug(project.getId() + " is not execution root, not making aggregated licensing report.");
return;
}
readLicensingRequirements();
LicensingReport bigReport = new LicensingReport();
for (MavenProject project : reactorProjects) {
if (shouldReportOn(project)) {
LicensingReport report = generateReport(project);
bigReport.combineWith(report);
}
}
File file = new File(project.getBuild().getDirectory(), aggregatedThirdPartyLicensingFilename);
bigReport.writeReport(file);
}
private boolean shouldReportOn(MavenProject project) {
String licensingSkip = (String) project.getProperties().get("licensing.skip");
if (licensingSkip != null && Boolean.parseBoolean(licensingSkip) == true) {
getLog().info("Licensing: Skipping project " + project);
return false;
}
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy