/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.regression; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import com.opengamma.scripts.Scriptable; /** * */ @Scriptable public class ViewRegressionTestSetupTool { private static final Options OPTIONS = createOptions(); private static final String PROJECT_NAME = "pn"; private static final String SERVER_CONFIG = "sc"; private static final String DB_DUMP_DIR = "dd"; private static final String LOGBACK_CONFIG = "l"; private static final String HELP = "h"; private static final String WORKING_DIR = "wd"; private static final String VERSION = "v"; private static final String DB_PROPS = "dp"; public static void main(final String[] args) { // CSIGNORE CommandLineParser parser = new PosixParser(); CommandLine cl; try { cl = parser.parse(OPTIONS, args); } catch (final ParseException e) { printUsage(); return; } if (cl.hasOption(HELP)) { printUsage(); return; } String logbackConfig = "-Dlogback.configurationFile=" + cl.getOptionValue(LOGBACK_CONFIG); new ViewRegressionTestSetup(cl.getOptionValue(DB_DUMP_DIR), cl.getOptionValue(SERVER_CONFIG), cl.getOptionValue(DB_PROPS), logbackConfig, cl.getOptionValue(PROJECT_NAME), cl.getOptionValue(VERSION), cl.getOptionValue(WORKING_DIR)).run(); System.exit(0); } private static void printUsage() { HelpFormatter formatter = new HelpFormatter(); formatter.setWidth(120); formatter.printHelp("java " + ViewRegressionTestSetupTool.class.getName(), OPTIONS, true); } private static Options createOptions() { Options options = new Options(); Option projectNameOption = new Option(PROJECT_NAME, "projectname", true, "Project name (as used in the build artifacts)"); projectNameOption.setRequired(true); options.addOption(projectNameOption); Option serverConfigOption = new Option(SERVER_CONFIG, "serverconfig", true, "Configuration file used to run the server"); serverConfigOption.setRequired(true); options.addOption(serverConfigOption); Option dbDumpDirOption = new Option(DB_DUMP_DIR, "dbdumpdir", true, "Directory containing the database dump files"); dbDumpDirOption.setRequired(true); options.addOption(dbDumpDirOption); Option logbackConfigOption = new Option(LOGBACK_CONFIG, "logbackconfig", true, "Logback config for the servers"); options.addOption(logbackConfigOption); Option baseDirOption = new Option(WORKING_DIR, "workingdir", true, "Working directory for the base version of the server"); baseDirOption.setRequired(true); options.addOption(baseDirOption); Option baseVersionOption = new Option(VERSION, "version", true, "Version of the server"); baseVersionOption.setRequired(true); options.addOption(baseVersionOption); Option newPropsOption = new Option(DB_PROPS, "dbprops", true, "The DB properties file for the server"); newPropsOption.setRequired(true); options.addOption(newPropsOption); Option helpOption = new Option(HELP, "help", true, "Print usage"); options.addOption(helpOption); return options; } }