package org.smoothbuild.cli;
import static com.google.inject.Guice.createInjector;
import static org.smoothbuild.SmoothConstants.EXIT_CODE_ERROR;
import org.smoothbuild.MainModule;
public class Commands {
public static final String BUILD = "build";
public static final String CLEAN = "clean";
public static final String HELP = "help";
public static int execute(String[] args) {
if (args.length == 0) {
return create(Help.class).run(new String[] { HELP });
}
switch (args[0]) {
case BUILD:
return create(Build.class).run(args);
case CLEAN:
return create(Clean.class).run(args);
case HELP:
return create(Help.class).run(args);
default:
System.out.println("smooth: '" + args[0]
+ "' is not a smooth command. See 'smooth help'.");
return EXIT_CODE_ERROR;
}
}
private static <T> T create(Class<? extends T> clazz) {
return createInjector(new MainModule()).getInstance(clazz);
}
}