diff options
author | Greg Estren <gregce@google.com> | 2016-09-13 00:32:09 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2016-09-13 12:26:12 +0000 |
commit | 85ac641ddf5adde31b5d2f58b76ae5db251218a9 (patch) | |
tree | 2a4d1335b0676b629071135ab2f21b0c52c55d58 /src/main/cpp/startup_options.h | |
parent | eb44094ed24de3a139a21dd6804d99e0acb8caf6 (diff) |
Rollback of startup options changes.
--
MOS_MIGRATED_REVID=132940326
Diffstat (limited to 'src/main/cpp/startup_options.h')
-rw-r--r-- | src/main/cpp/startup_options.h | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/src/main/cpp/startup_options.h b/src/main/cpp/startup_options.h deleted file mode 100644 index d1f33308cb..0000000000 --- a/src/main/cpp/startup_options.h +++ /dev/null @@ -1,211 +0,0 @@ -// Copyright 2014 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. -#ifndef BAZEL_SRC_MAIN_CPP_STARTUP_OPTIONS_H_ -#define BAZEL_SRC_MAIN_CPP_STARTUP_OPTIONS_H_ - -#include <map> -#include <memory> -#include <string> -#include <vector> - -#include "src/main/cpp/util/exit_code.h" - -namespace blaze { - -using std::string; - -// This class holds the parsed startup options for Blaze. -// These options and their defaults must be kept in sync with those in -// src/main/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java. -// The latter are purely decorative (they affect the help message, -// which displays the defaults). The actual defaults are defined -// in the constructor. -// -// TODO(bazel-team): The encapsulation is not quite right -- there are some -// places in blaze.cc where some of these fields are explicitly modified. Their -// names also don't conform to the style guide. -class StartupOptions { - public: - StartupOptions(); - virtual ~StartupOptions(); - - // Parses a single argument, either from the command line or from the .blazerc - // "startup" options. - // - // rcfile should be an empty string if the option being parsed does not come - // from a blazerc. - // - // Sets "is_space_separated" true if arg is unary and uses the "--foo bar" - // style, so its value is in next_arg. - // - // Sets "is_space_separated" false if arg is either nullary - // (e.g. "--[no]batch") or is unary but uses the "--foo=bar" style. - // - // Returns the exit code after processing the argument. "error" will contain - // a descriptive string for any return value other than - // blaze_exit_code::SUCCESS. - blaze_exit_code::ExitCode ProcessArg( - const string &arg, const string &next_arg, const string &rcfile, - bool *is_space_separated, string *error); - - // Adds any other options needed to result. - // - // TODO(jmmv): Now that we support site-specific options via subclasses of - // StartupOptions, the "ExtraOptions" concept makes no sense; remove it. - virtual void AddExtraOptions(std::vector<string> *result) const; - - // Checks if Blaze needs to be re-executed. Does not return, if so. - // - // Returns the exit code after the check. "error" will contain a descriptive - // string for any return value other than blaze_exit_code::SUCCESS. - virtual blaze_exit_code::ExitCode CheckForReExecuteOptions( - int argc, const char *argv[], string *error); - - // Checks extra fields when processing arg. - // - // Returns the exit code after processing the argument. "error" will contain - // a descriptive string for any return value other than - // blaze_exit_code::SUCCESS. - // - // TODO(jmmv): Now that we support site-specific options via subclasses of - // StartupOptions, the "ExtraOptions" concept makes no sense; remove it. - virtual blaze_exit_code::ExitCode ProcessArgExtra( - const char *arg, const char *next_arg, const string &rcfile, - const char **value, bool *is_processed, string *error); - - // Return the default path to the JDK used to run Blaze itself - // (must be an absolute directory). - virtual string GetDefaultHostJavabase() const; - - // Returns the path to the JVM. This should be called after parsing - // the startup options. - virtual string GetJvm(); - - // Returns the executable used to start the Blaze server, typically the given - // JVM. - virtual string GetExe(const string &jvm, const string &jar_path); - - // Adds JVM prefix flags to be set. These will be added before all other - // JVM flags. - virtual void AddJVMArgumentPrefix(const string &javabase, - std::vector<string> *result) const; - - // Adds JVM suffix flags. These will be added after all other JVM flags, and - // just before the Blaze server startup flags. - virtual void AddJVMArgumentSuffix(const string &real_install_dir, - const string &jar_path, std::vector<string> *result) const; - - // Adds JVM tuning flags for Blaze. - // - // Returns the exit code after this operation. "error" will be set to a - // descriptive string for any value other than blaze_exit_code::SUCCESS. - virtual blaze_exit_code::ExitCode AddJVMArguments( - const string &host_javabase, std::vector<string> *result, - const std::vector<string> &user_options, string *error) const; - - // The capitalized name of this binary. - string product_name; - - // Blaze's output base. Everything is relative to this. See - // the BlazeDirectories Java class for details. - string output_base; - - // Installation base for a specific release installation. - string install_base; - - // The toplevel directory containing Blaze's output. When Blaze is - // run by a test, we use TEST_TMPDIR, simplifying the correct - // hermetic invocation of Blaze from tests. - string output_root; - - // Blaze's output_user_root. Used only for computing install_base and - // output_base. - string output_user_root; - - // Whether to put the execroot at $OUTPUT_BASE/$WORKSPACE_NAME (if false) or - // $OUTPUT_BASE/execroot/$WORKSPACE_NAME (if true). - bool deep_execroot; - - // Block for the Blaze server lock. Otherwise, - // quit with non-0 exit code if lock can't - // be acquired immediately. - bool block_for_lock; - - bool host_jvm_debug; - - string host_jvm_profile; - - std::vector<string> host_jvm_args; - - bool batch; - - // From the man page: "This policy is useful for workloads that are - // non-interactive, but do not want to lower their nice value, and for - // workloads that want a deterministic scheduling policy without - // interactivity causing extra preemptions (between the workload's tasks)." - bool batch_cpu_scheduling; - - // If negative, don't mess with ionice. Otherwise, set a level from 0-7 - // for best-effort scheduling. 0 is highest priority, 7 is lowest. - int io_nice_level; - - int max_idle_secs; - - bool oom_more_eagerly; - - int oom_more_eagerly_threshold; - - // If true, Blaze will listen to OS-level file change notifications. - bool watchfs; - - // Temporary experimental flag that permits configurable attribute syntax - // in BUILD files. This will be removed when configurable attributes is - // a more stable feature. - bool allow_configurable_attributes; - - // Temporary flag for enabling EventBus exceptions to be fatal. - bool fatal_event_bus_exceptions; - - // A string to string map specifying where each option comes from. If the - // value is empty, it was on the command line, if it is a string, it comes - // from a blazerc file, if a key is not present, it is the default. - std::map<string, string> option_sources; - - // Sanity check for the startup options - virtual blaze_exit_code::ExitCode ValidateStartupOptions( - const std::vector<string>& args, string* error); - - // Returns the GetHostJavabase. This should be called after parsing - // the --host_javabase option. - string GetHostJavabase(); - - // Port for gRPC command server. 0 means let the kernel choose, -1 means no - // gRPC command server. - int command_port; - - // Invocation policy proto. May be NULL. - const char* invocation_policy; - - private: - string host_javabase; - - // Sets default values for members. - void Init(); - - // Returns the directory to use for storing outputs. - virtual string GetOutputRoot(); -}; - -} // namespace blaze -#endif // BAZEL_SRC_MAIN_CPP_STARTUP_OPTIONS_H_ |