Remove copy ctor and operator= from BlazeStartupOptions -- MOS_MIGRATED_REVID=104688018
diff --git a/src/main/cpp/BUILD b/src/main/cpp/BUILD index 7954a67..6ea2bb3 100644 --- a/src/main/cpp/BUILD +++ b/src/main/cpp/BUILD
@@ -50,6 +50,7 @@ "blaze_startup_options.h", "blaze_startup_options_common.cc", "blaze_util_platform.h", + "extra_startup_options.h", "option_processor.cc", "option_processor.h", ],
diff --git a/src/main/cpp/blaze_startup_options.cc b/src/main/cpp/blaze_startup_options.cc index 7e0a158..b5aa5ce 100644 --- a/src/main/cpp/blaze_startup_options.cc +++ b/src/main/cpp/blaze_startup_options.cc
@@ -32,41 +32,6 @@ struct StartupOptions {}; -BlazeStartupOptions::BlazeStartupOptions() { - Init(); -} - -BlazeStartupOptions::BlazeStartupOptions(const BlazeStartupOptions &rhs) - : output_base(rhs.output_base), - install_base(rhs.install_base), - output_root(rhs.output_root), - output_user_root(rhs.output_user_root), - block_for_lock(rhs.block_for_lock), - host_jvm_debug(rhs.host_jvm_debug), - host_jvm_profile(rhs.host_jvm_profile), - host_jvm_args(rhs.host_jvm_args), - batch(rhs.batch), - batch_cpu_scheduling(rhs.batch_cpu_scheduling), - io_nice_level(rhs.io_nice_level), - max_idle_secs(rhs.max_idle_secs), - skyframe(rhs.skyframe), - blaze_cpu(rhs.blaze_cpu), - watchfs(rhs.watchfs), - allow_configurable_attributes(rhs.allow_configurable_attributes), - option_sources(rhs.option_sources), - webstatus_port(rhs.webstatus_port), - invocation_policy(rhs.invocation_policy), - host_javabase(rhs.host_javabase) {} - -BlazeStartupOptions::~BlazeStartupOptions() { -} - -BlazeStartupOptions& BlazeStartupOptions::operator=( - const BlazeStartupOptions &rhs) { - Copy(rhs, this); - return *this; -} - string BlazeStartupOptions::GetProductName() { return "Bazel"; }
diff --git a/src/main/cpp/blaze_startup_options.h b/src/main/cpp/blaze_startup_options.h index f29ab3f..f1ea545 100644 --- a/src/main/cpp/blaze_startup_options.h +++ b/src/main/cpp/blaze_startup_options.h
@@ -15,18 +15,16 @@ #define BAZEL_SRC_MAIN_CPP_BLAZE_STARTUP_OPTIONS_H_ #include <map> -#include <memory> #include <string> #include <vector> +#include "src/main/cpp/extra_startup_options.h" #include "src/main/cpp/util/exit_code.h" namespace blaze { using std::string; -struct StartupOptions; - // This class holds the parsed startup options for Blaze. // These options and their defaults must be kept in sync with those // in java/com/google/devtools/build/lib/blaze/BlazeServerStartupOptions. @@ -40,9 +38,6 @@ class BlazeStartupOptions { public: BlazeStartupOptions(); - BlazeStartupOptions(const BlazeStartupOptions &rhs); - ~BlazeStartupOptions(); - BlazeStartupOptions& operator=(const BlazeStartupOptions &rhs); // Returns the capitalized name of this binary. string GetProductName(); @@ -163,9 +158,8 @@ std::map<string, string> option_sources; // This can be used for site-specific startup options. For Bazel, this is - // stubbed - // out. - std::unique_ptr<StartupOptions> extra_options; + // stubbed out. + ExtraStartupOptions extra_options; // Given the working directory, returns the nearest enclosing directory with a // WORKSPACE file in it. If there is no such enclosing directory, returns "". @@ -204,14 +198,6 @@ private: string host_javabase; - // Sets default values for members. - void Init(); - - // Copies member variables from rhs to lhs. This cannot use the compiler- - // generated copy constructor because extra_options is a unique_ptr and - // unique_ptr deletes its copy constructor. - void Copy(const BlazeStartupOptions &rhs, BlazeStartupOptions *lhs); - // Returns the directory to use for storing outputs. string GetOutputRoot(); };
diff --git a/src/main/cpp/blaze_startup_options_common.cc b/src/main/cpp/blaze_startup_options_common.cc index 914f7ab..c151c7e 100644 --- a/src/main/cpp/blaze_startup_options_common.cc +++ b/src/main/cpp/blaze_startup_options_common.cc
@@ -26,7 +26,7 @@ namespace blaze { -void BlazeStartupOptions::Init() { +BlazeStartupOptions::BlazeStartupOptions() { bool testing = getenv("TEST_TMPDIR") != NULL; if (testing) { output_root = MakeAbsolute(getenv("TEST_TMPDIR")); @@ -61,33 +61,6 @@ return host_javabase; } -void BlazeStartupOptions::Copy( - const BlazeStartupOptions &rhs, BlazeStartupOptions *lhs) { - assert(lhs); - - lhs->output_base = rhs.output_base; - lhs->install_base = rhs.install_base; - lhs->output_root = rhs.output_root; - lhs->output_user_root = rhs.output_user_root; - lhs->block_for_lock = rhs.block_for_lock; - lhs->host_jvm_debug = rhs.host_jvm_debug; - lhs->host_jvm_profile = rhs.host_jvm_profile; - lhs->host_javabase = rhs.host_javabase; - lhs->host_jvm_args = rhs.host_jvm_args; - lhs->batch = rhs.batch; - lhs->batch_cpu_scheduling = rhs.batch_cpu_scheduling; - lhs->io_nice_level = rhs.io_nice_level; - lhs->max_idle_secs = rhs.max_idle_secs; - lhs->skyframe = rhs.skyframe; - lhs->blaze_cpu = rhs.blaze_cpu; - lhs->webstatus_port = rhs.webstatus_port; - lhs->watchfs = rhs.watchfs; - lhs->allow_configurable_attributes = rhs.allow_configurable_attributes; - lhs->fatal_event_bus_exceptions = rhs.fatal_event_bus_exceptions; - lhs->option_sources = rhs.option_sources; - lhs->invocation_policy = rhs.invocation_policy; -} - blaze_exit_code::ExitCode BlazeStartupOptions::ProcessArg( const string &argstr, const string &next_argstr, const string &rcfile, bool *is_space_separated, string *error) {
diff --git a/src/main/cpp/extra_startup_options.h b/src/main/cpp/extra_startup_options.h new file mode 100644 index 0000000..b4394a1 --- /dev/null +++ b/src/main/cpp/extra_startup_options.h
@@ -0,0 +1,24 @@ +// Copyright 2015 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_BLAZE_EXTRA_STARTUP_OPTIONS_H_ +#define BAZEL_SRC_MAIN_CPP_BLAZE_EXTRA_STARTUP_OPTIONS_H_ + +namespace blaze { + +struct ExtraStartupOptions { +}; + +} + +#endif // BAZEL_SRC_MAIN_CPP_BLAZE_EXTRA_STARTUP_OPTIONS_H_