All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.artemis.ComponentMatrix Maven / Gradle / Ivy

The newest version!
package com.artemis;

import static org.apache.maven.plugins.annotations.LifecyclePhase.PACKAGE;
import static org.apache.maven.plugins.annotations.ResolutionScope.COMPILE;

import java.io.File;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;

import net.onedaybeard.ecs.model.ComponentDependencyMatrix;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.sonatype.plexus.build.incremental.BuildContext;

/**
 * Generates the component dependency report.
 */
@Mojo(name="matrix", defaultPhase=PACKAGE, requiresDependencyResolution=COMPILE)
public class ComponentMatrix extends AbstractMojo {
	@Parameter(defaultValue = "${project}", readonly = true, required = true)
	private MavenProject project;

	@Parameter(property="project.build.outputDirectory")
	private File classDirectory;

	@Component
	private BuildContext context;

	@Parameter(property="project.build.directory") 
	private File saveDirectory;
	
	@Parameter(property="project.name")
	private String name;
	
	@Override
	public void execute() {
		List files = new ArrayList();
		files.add(classDirectory.toURI());

		for (Artifact artifact : project.getArtifacts())
			files.add(artifact.getFile().toURI());

		ComponentDependencyMatrix matrix =
			new ComponentDependencyMatrix(name, files, new File(saveDirectory, "matrix.html"));

		matrix.process();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy