![JAR search and dependency download from the Maven repository](/logo.png)
iabudiab.maven.plugins.dependencytrack.UploadScanMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dependency-track-maven-plugin Show documentation
Show all versions of dependency-track-maven-plugin Show documentation
Maven plugin for interacting with Dependency Track
package iabudiab.maven.plugins.dependencytrack;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import iabudiab.maven.plugins.dependencytrack.suppressions.Suppressions;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import iabudiab.maven.plugins.dependencytrack.client.DTrackClient;
import iabudiab.maven.plugins.dependencytrack.client.model.ScanSubmitRequest;
/**
* Mojo for uploading a
* Dependency-Check
* report XML to Dependency-Track
*
* @author Iskandar Abudiab
*
*/
@Mojo(name = "upload-scan", defaultPhase = LifecyclePhase.VERIFY, requiresOnline = true)
public class UploadScanMojo extends AbstractDependencyTrackMojo {
/**
* Dependency-Check XML report directory.
*/
@Parameter(defaultValue = "${project.build.directory}", property = "artifactDir", required = true)
private File artifactDirectory;
/**
* Dependency-Check XML report filename.
*/
@Parameter(defaultValue = "dependency-check-report.xml", property = "artifactName", required = true)
private String artifactName;
@Override
protected void doWork(DTrackClient client, Suppressions suppressions) throws MojoExecutionException {
Path path = Paths.get(artifactDirectory.getPath(), artifactName);
String encodeArtifact = Utils.loadAndEncodeArtifactFile(path);
ScanSubmitRequest payload = ScanSubmitRequest.builder() //
.projectName(projectName) //
.projectVersion(projectVersion) //
.scan(encodeArtifact) //
.autoCreate(true) //
.build();
try {
client.uploadScan(payload);
} catch (IOException e) {
throw new MojoExecutionException("Error uploading scan: ", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy