package apollo.command_line; import apollo.modules.MavenCommandOptionsModule; import apollo.modules.MavenModule; import apollo.modules.XmlModule; import apollo.upload.Uploader; import com.beust.jcommander.JCommander; import com.google.inject.Guice; import com.google.inject.Injector; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.nio.file.Paths; public class Main { private static final Logger logger = LogManager.getLogger(Main.class); public static void main(String[] args) { Injector injector = Guice.createInjector(new MavenModule(), new MavenCommandOptionsModule(), new XmlModule()); OptionalArgs optionalArgs = injector.getInstance(OptionalArgs.class); JCommander jCommander = JCommander.newBuilder().addObject(optionalArgs).build(); jCommander.setProgramName("mvnUploader"); jCommander.parse(args); if (optionalArgs.isHelp()){ jCommander.usage(); } else { logger.info("Welcome To Maven Artifacts Uploader"); Uploader uploader = injector.getInstance(Uploader.class); uploader.uploadToRepository(Paths.get(optionalArgs.getPathToArtifacts())); logger.info("Done uploading all the artifacts!"); } } }