/** * */ package org.minnal.generator; import java.util.ArrayList; import java.util.List; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; import com.google.common.base.Joiner; import edu.emory.mathcs.backport.java.util.Arrays; /** * @author ganeshs */ @SuppressWarnings("unchecked") @Parameters(separators = "=", commandDescription = "Generates the resource tests") public class CommandGenerateTests extends ExecutableCommand { @Parameter(names = "-projectDir", description = "The project directory") private String projectDir = System.getProperty("user.dir"); @Parameter(names = "-packages", description = "The list of packages", variableArity = true) private List<String> packages = new ArrayList<String>(); @Parameter(names = "-baseTestClass", description = "Base Test Class", variableArity = true) private String baseTestClass = "org.minnal.test.BaseMinnalResourceTest"; @Override public void execute() { execute(Arrays.asList(new String[]{"mvn", "-X", "-f", projectDir + "/pom.xml", "compile", "exec:exec", "-Dexec.executable=java", "-DmainClass=org.minnal.generator.test.TestsGenerator", "-Dexec.args=-cp %classpath org.minnal.generator.test.TestsGenerator " + projectDir + " " + baseTestClass + " " + Joiner.on(",").join(packages)})); } /** * @return the projectDir */ public String getProjectDir() { return projectDir; } /** * @param projectDir the projectDir to set */ public void setProjectDir(String projectDir) { this.projectDir = projectDir; } /** * @return baseTestClass */ public String getBaseTestClass() { return baseTestClass; } }