/** * */ package org.minnal.generator; import java.util.ArrayList; import java.util.List; import org.minnal.generator.core.Generator; import org.minnal.generator.core.ProjectGenerator; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; /** * @author ganeshs * */ @Parameters(separators = "=", commandDescription = "Create a new minnal project") public class CommandNew implements Command { @Parameter(description = "The name of the project to create", required=true) private List<String> values = new ArrayList<String>(); @Parameter(names = "-nojpa", description = "Exclude Jpa plugin") private boolean nojpa; @Parameter(names = "-noinst", description = "Exclude instrumenation bundle") private boolean noinst; @Parameter(names = "-noadmin", description = "Exclude admin application") private boolean noadmin; @Parameter(names = "-basedir", description = "The dir under which the project has to be created") private String baseDir = System.getProperty("user.dir"); @Parameter(names = "-version", description = "The minnal version to use") private String version = "2.0.0"; /** * @return the projectName */ public String getProjectName() { return values.get(0); } /** * @param projectName the projectName to set */ public void setProjectName(String projectName) { values.add(projectName); } /** * @return the nojpa */ public boolean isNojpa() { return nojpa; } /** * @param nojpa the nojpa to set */ public void setNojpa(boolean nojpa) { this.nojpa = nojpa; } /** * @return the noinst */ public boolean isNoinst() { return noinst; } /** * @param noinst the noinst to set */ public void setNoinst(boolean noinst) { this.noinst = noinst; } /** * @return the baseDir */ public String getBaseDir() { return baseDir; } /** * @param baseDir the baseDir to set */ public void setBaseDir(String baseDir) { this.baseDir = baseDir; } /** * @return the version */ public String getVersion() { return version; } /** * @param version the version to set */ public void setVersion(String version) { this.version = version; } /** * @return the noadmin */ public boolean isNoadmin() { return noadmin; } /** * @param noadmin the noadmin to set */ public void setNoadmin(boolean noadmin) { this.noadmin = noadmin; } @Override public void execute() { Generator generator = new ProjectGenerator(this); generator.init(); generator.generate(); } }