aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/launcher/java_launcher.cc
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2018-04-12 01:42:31 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-12 01:43:44 -0700
commite02a00f38a5bff9f567d6490f2668805c4b6f170 (patch)
tree599c7ab9f8f9a6a8fe64701bbca985b26718def5 /src/tools/launcher/java_launcher.cc
parent0c9f2d4c15b761e3f3b863658b6d5c65bde6db22 (diff)
Windows: java launcher no longer calls cmd.exe
See https://github.com/bazelbuild/bazel/issues/2190 Closes #5005. Change-Id: If665af264a23be0219c75ae087dd25db74d5e386 PiperOrigin-RevId: 192575414
Diffstat (limited to 'src/tools/launcher/java_launcher.cc')
-rw-r--r--src/tools/launcher/java_launcher.cc14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/tools/launcher/java_launcher.cc b/src/tools/launcher/java_launcher.cc
index 15a3354fb3..af60de2fed 100644
--- a/src/tools/launcher/java_launcher.cc
+++ b/src/tools/launcher/java_launcher.cc
@@ -185,20 +185,14 @@ string JavaBinaryLauncher::CreateClasspathJar(const string& classpath) {
jar_manifest_file.close();
// Create the command for generating classpath jar.
- // We pass the command to cmd.exe to use redirection for suppressing output.
string manifest_jar_path = binary_base_path + rand_id + "-classpath.jar";
string jar_bin = this->Rlocation(this->GetLaunchInfoByKey(JAR_BIN_PATH));
vector<string> arguments;
- arguments.push_back("/c");
+ arguments.push_back("cvfm");
+ arguments.push_back(manifest_jar_path);
+ arguments.push_back(jar_manifest_file_path);
- ostringstream jar_command;
- jar_command << jar_bin << " cvfm ";
- jar_command << manifest_jar_path << " ";
- jar_command << jar_manifest_file_path << " ";
- jar_command << "> nul";
- arguments.push_back(jar_command.str());
-
- if (this->LaunchProcess("cmd.exe", arguments) != 0) {
+ if (this->LaunchProcess(jar_bin, arguments, /* suppressOutput */ true) != 0) {
die("Couldn't create classpath jar: %s", manifest_jar_path.c_str());
}