/*
* Copyright 2015-present Facebook, Inc.
*
* Licensed 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 com.facebook.buck.intellij.ideabuck.build;
/** The descriptor of buck command. */
public class BuckCommand {
private static final String VERBOSITY_TAG = "-v";
private static final String VERBOSITY_LEVEL = "0";
// Visual commands
public static final BuckCommand BUILD = new BuckCommand("build", VERBOSITY_TAG, VERBOSITY_LEVEL);
public static final BuckCommand INSTALL =
new BuckCommand("install", VERBOSITY_TAG, VERBOSITY_LEVEL);
public static final BuckCommand KILL = new BuckCommand("kill");
public static final BuckCommand TEST = new BuckCommand("test", VERBOSITY_TAG, VERBOSITY_LEVEL);
public static final BuckCommand UNINSTALL =
new BuckCommand("uninstall", VERBOSITY_TAG, VERBOSITY_LEVEL);
public static final BuckCommand PROJECT =
new BuckCommand("project", VERBOSITY_TAG, VERBOSITY_LEVEL);
// Internal commands
public static final BuckCommand QUERY = new BuckCommand("query", "--json");
public static final BuckCommand AUDIT_OWNER = new BuckCommand("audit", "owner", "--json");
/** Command name passed to buck. */
private final String name;
private final String[] parameters;
private BuckCommand(String name, String... parameters) {
this.name = name;
this.parameters = parameters;
}
public String name() {
return name;
}
public String[] getParameters() {
return parameters;
}
@Override
public String toString() {
return name;
}
}