blob: eac56ca96b97afe84010700491438d0b08b9bba6 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.drill.exec.server;
import java.util.ArrayList;
import java.util.List;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
@Parameters(separators = "=")
public class StartupOptions {
static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(StartupOptions.class);
@Parameter(names={"-h", "--help"}, description="Provide description of usage.", help=true)
private boolean help = false;
@Parameter(names= {"-d", "--debug"}, description="Whether you want to run the program in debug mode.", required=false)
private boolean debug = false;
@Parameter(names= {"-c", "--config"}, description="Configuration file you want to load. Defaults to loading 'drill-override.conf' from the classpath.", required=false)
private String configLocation = null;
@Parameter
private List<String> exccess = new ArrayList<String>();
public boolean isDebug() {
return debug;
}
public String getConfigLocation() {
return configLocation;
}
public List<String> getExccess() {
return exccess;
}
public static StartupOptions parse(String[] cliArgs) {
logger.debug("Parsing arguments.");
StartupOptions args = new StartupOptions();
JCommander jc = new JCommander(args, cliArgs);
if(args.help){
jc.usage();
System.exit(0);
}
return args;
}
}