aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/cpp/startup_options.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/cpp/startup_options.cc')
-rw-r--r--src/main/cpp/startup_options.cc60
1 files changed, 37 insertions, 23 deletions
diff --git a/src/main/cpp/startup_options.cc b/src/main/cpp/startup_options.cc
index 9f0589d3da..b2db261526 100644
--- a/src/main/cpp/startup_options.cc
+++ b/src/main/cpp/startup_options.cc
@@ -138,7 +138,9 @@ StartupOptions::StartupOptions(const string &product_name,
RegisterUnaryStartupFlag("command_port");
RegisterUnaryStartupFlag("connect_timeout_secs");
RegisterUnaryStartupFlag("experimental_oom_more_eagerly_threshold");
+ // TODO(b/5568649): remove this deprecated alias for server_javabase
RegisterUnaryStartupFlag("host_javabase");
+ RegisterUnaryStartupFlag("server_javabase");
RegisterUnaryStartupFlag("host_jvm_args");
RegisterUnaryStartupFlag("host_jvm_profile");
RegisterUnaryStartupFlag("invocation_policy");
@@ -222,12 +224,16 @@ blaze_exit_code::ExitCode StartupOptions::ProcessArg(
NULL) {
host_jvm_profile = value;
option_sources["host_jvm_profile"] = rcfile;
- } else if ((value = GetUnaryOption(arg, next_arg, "--host_javabase")) !=
+ } else if ((value = GetUnaryOption(arg, next_arg, "--server_javabase")) !=
NULL) {
// TODO(bazel-team): Consider examining the javabase and re-execing in case
// of architecture mismatch.
- host_javabase = blaze::AbsolutePathFromFlag(value);
- option_sources["host_javabase"] = rcfile;
+ ProcessServerJavabase(value, rcfile);
+ } else if ((value = GetUnaryOption(arg, next_arg, "--host_javabase")) !=
+ NULL) {
+ ProcessServerJavabase(value, rcfile);
+ BAZEL_LOG(WARNING) << "The startup option --host_javabase is "
+ "deprecated; prefer --server_javabase.";
} else if ((value = GetUnaryOption(arg, next_arg, "--host_jvm_args")) !=
NULL) {
host_jvm_args.push_back(value);
@@ -379,6 +385,12 @@ blaze_exit_code::ExitCode StartupOptions::ProcessArg(
return blaze_exit_code::SUCCESS;
}
+void StartupOptions::ProcessServerJavabase(const char *value,
+ const string &rcfile) {
+ server_javabase_ = blaze::AbsolutePathFromFlag(value);
+ option_sources["server_javabase"] = rcfile;
+}
+
blaze_exit_code::ExitCode StartupOptions::ProcessArgs(
const std::vector<RcStartupFlag>& rcstartup_flags,
std::string *error) {
@@ -427,16 +439,16 @@ string StartupOptions::GetEmbeddedJavabase() {
return "";
}
-string StartupOptions::GetHostJavabase() {
- // 1) Allow overriding the host_javabase via --host_javabase.
- if (!host_javabase.empty()) {
- return host_javabase;
+string StartupOptions::GetServerJavabase() {
+ // 1) Allow overriding the server_javabase via --server_javabase.
+ if (!server_javabase_.empty()) {
+ return server_javabase_;
}
- if (default_host_javabase.empty()) {
+ if (default_server_javabase_.empty()) {
string bundled_jre_path = GetEmbeddedJavabase();
if (!bundled_jre_path.empty()) {
// 2) Use a bundled JVM if we have one.
- default_host_javabase = bundled_jre_path;
+ default_server_javabase_ = bundled_jre_path;
} else {
// 3) Otherwise fall back to using the default system JVM.
string system_javabase = GetSystemJavabase();
@@ -445,19 +457,19 @@ string StartupOptions::GetHostJavabase() {
<< "Could not find system javabase. Ensure JAVA_HOME is set, or "
"javac is on your PATH.";
}
- default_host_javabase = system_javabase;
+ default_server_javabase_ = system_javabase;
}
}
- return default_host_javabase;
+ return default_server_javabase_;
}
-string StartupOptions::GetExplicitHostJavabase() const {
- return host_javabase;
+string StartupOptions::GetExplicitServerJavabase() const {
+ return server_javabase_;
}
string StartupOptions::GetJvm() {
string java_program =
- blaze_util::JoinPath(GetHostJavabase(), GetJavaBinaryUnderJavabase());
+ blaze_util::JoinPath(GetServerJavabase(), GetJavaBinaryUnderJavabase());
if (!blaze_util::CanExecuteFile(java_program)) {
if (!blaze_util::PathExists(java_program)) {
BAZEL_LOG(ERROR) << "Couldn't find java at '" << java_program << "'.";
@@ -469,12 +481,14 @@ string StartupOptions::GetJvm() {
exit(1);
}
// If the full JDK is installed
- string jdk_rt_jar = blaze_util::JoinPath(GetHostJavabase(), "jre/lib/rt.jar");
+ string jdk_rt_jar =
+ blaze_util::JoinPath(GetServerJavabase(), "jre/lib/rt.jar");
// If just the JRE is installed
- string jre_rt_jar = blaze_util::JoinPath(GetHostJavabase(), "lib/rt.jar");
+ string jre_rt_jar = blaze_util::JoinPath(GetServerJavabase(), "lib/rt.jar");
// rt.jar does not exist in java 9+ so check for java instead
- string jre_java = blaze_util::JoinPath(GetHostJavabase(), "bin/java");
- string jre_java_exe = blaze_util::JoinPath(GetHostJavabase(), "bin/java.exe");
+ string jre_java = blaze_util::JoinPath(GetServerJavabase(), "bin/java");
+ string jre_java_exe =
+ blaze_util::JoinPath(GetServerJavabase(), "bin/java.exe");
if (blaze_util::CanReadFile(jdk_rt_jar) ||
blaze_util::CanReadFile(jre_rt_jar) ||
blaze_util::CanReadFile(jre_java) ||
@@ -483,7 +497,7 @@ string StartupOptions::GetJvm() {
}
BAZEL_LOG(ERROR) << "Problem with java installation: couldn't find/access "
"rt.jar or java in "
- << GetHostJavabase();
+ << GetServerJavabase();
exit(1);
}
@@ -504,10 +518,10 @@ void StartupOptions::AddJVMArgumentSuffix(const string &real_install_dir,
}
blaze_exit_code::ExitCode StartupOptions::AddJVMArguments(
- const string &host_javabase, std::vector<string> *result,
+ const string &server_javabase, std::vector<string> *result,
const vector<string> &user_options, string *error) const {
AddJVMLoggingArguments(result);
- return AddJVMMemoryArguments(host_javabase, result, user_options, error);
+ return AddJVMMemoryArguments(server_javabase, result, user_options, error);
}
void StartupOptions::AddJVMLoggingArguments(std::vector<string> *result) const {
@@ -534,8 +548,8 @@ void StartupOptions::AddJVMLoggingArguments(std::vector<string> *result) const {
}
blaze_exit_code::ExitCode StartupOptions::AddJVMMemoryArguments(
- const string &host_javabase, std::vector<string> *result,
- const vector<string> &user_options, string *error) const {
+ const string &, std::vector<string> *, const vector<string> &,
+ string *) const {
return blaze_exit_code::SUCCESS;
}