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

com.artemis.cli.MatrixCommand Maven / Gradle / Ivy

The newest version!
package com.artemis.cli;

import java.io.File;
import java.util.Arrays;

import com.artemis.cli.converter.FileOutputConverter;
import com.artemis.cli.converter.FolderConverter;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import net.onedaybeard.ecs.model.ComponentDependencyMatrix;

@Parameters(
		commandDescription="Generate the Component Dependency Matrix from existing classes")
public class MatrixCommand {
	static final String COMMAND = "matrix";

	@Parameter(
		names = {"-h", "--help"},
		description= "Displays this help message.",
		help = true)
	boolean help;

	@Parameter(
		names = {"-l", "--label"},
		description = "Project name, used as page title",
		required = false)
	private String projectName = "Unnamed project";
	
	@Parameter(
		names = {"-c", "--class-folder"},
		description = "Root class folder",
		converter = FolderConverter.class,
		required = true)
	private File classRoot;
	
	@Parameter(
		names = {"-o", "--output"},
		description = "Save to file, destination may be given as a folder path",
		converter = FileOutputConverter.class,
		required = false)
	private File output = new File("matrix.html");
	
	void execute() {
		ComponentDependencyMatrix cdm =
			new ComponentDependencyMatrix(projectName, Arrays.asList(classRoot.toURI()), output);
		System.out.println(cdm.detectAndProcess());
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy