blob: d1bb3490a7906be0198128333a21aadde68056ee [file] [log] [blame]
// Copyright 2019 The Bazel Authors. All rights reserved.
//
// 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.google.devtools.build.lib.remote.options;
/** Describes what kind of remote build outputs to download locally. */
public enum RemoteOutputsMode {
/** Download all remote outputs locally. */
ALL,
/**
* Generally don't download remote action outputs. The only outputs that are being downloaded are:
* stdout, stderr and .d and .jdeps files for C++ and Java compilation actions.
*/
MINIMAL,
/**
* Downloads outputs of top level targets, but generally not intermediate outputs. The only
* intermediate outputs to be downloaded are .d and .jdeps files for C++ and Java compilation
* actions.
*/
TOPLEVEL;
/** Returns {@code true} iff action outputs should always be downloaded. */
public boolean downloadAllOutputs() {
return this == ALL;
}
public boolean downloadToplevelOutputsOnly() {
return this == TOPLEVEL;
}
}