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_