blob: 8ef90bdffa47148ef9bb022c39906d306a543172 [file] [log] [blame]
/*
* Copyright 2012-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.util;
/**
* An indication of how verbose Buck should be. Enum values are in order from least to most verbose.
*/
public enum Verbosity {
// TODO(mbolin): Consider introducing more Verbosity levels that affect the Java Logger setting.
/** Do not print anything to the console. */
SILENT,
/**
* Prints out the bare minimum required information, such as errors from build steps.
*/
STANDARD_INFORMATION,
/** Print the command being executed, but do not print its output. */
COMMANDS,
/** Commands plus the output from some select commands of intereset. */
COMMANDS_AND_SPECIAL_OUTPUT,
/** Print the command being executed followed by its output. */
COMMANDS_AND_OUTPUT,
/**
* If the command being executed has its own {@code --verbose} option or equivalent, it should be
* used.
*/
ALL,
;
public boolean shouldPrintStandardInformation() {
return this.ordinal() >= STANDARD_INFORMATION.ordinal();
}
public boolean shouldPrintCommand() {
return this.ordinal() >= COMMANDS.ordinal();
}
public boolean shouldPrintSelectCommandOutput() {
return this.ordinal() >= COMMANDS_AND_SPECIAL_OUTPUT.ordinal();
}
public boolean shouldPrintOutput() {
return this.ordinal() >= COMMANDS_AND_OUTPUT.ordinal();
}
/**
* @return {@code true} if the command being executed should use its own {@code --verbose}
* argument (or equivalent) for this Verbosity level
*/
public boolean shouldUseVerbosityFlagIfAvailable() {
return this == ALL;
}
}