Browse Source

Merge pull request #74030 from bruvzg/win_to_win_shh

Fix Windows to Windows SSH remote deploy. Fix Windows `execute` exit code.
Rémi Verschelde 2 years ago
parent
commit
aa9de8a930
2 changed files with 9 additions and 2 deletions
  1. 8 0
      platform/windows/export/export_plugin.cpp
  2. 1 2
      platform/windows/os_windows.cpp

+ 8 - 0
platform/windows/export/export_plugin.cpp

@@ -879,7 +879,11 @@ Error EditorExportPlatformWindows::run(const Ref<EditorExportPreset> &p_preset,
 	print_line("Creating temporary directory...");
 	print_line("Creating temporary directory...");
 	ep.step(TTR("Creating temporary directory..."), 2);
 	ep.step(TTR("Creating temporary directory..."), 2);
 	String temp_dir;
 	String temp_dir;
+#ifndef WINDOWS_ENABLED
 	err = ssh_run_on_remote(host, port, extra_args_ssh, "powershell -command \\\"\\$tmp = Join-Path \\$Env:Temp \\$(New-Guid); New-Item -Type Directory -Path \\$tmp | Out-Null; Write-Output \\$tmp\\\"", &temp_dir);
 	err = ssh_run_on_remote(host, port, extra_args_ssh, "powershell -command \\\"\\$tmp = Join-Path \\$Env:Temp \\$(New-Guid); New-Item -Type Directory -Path \\$tmp | Out-Null; Write-Output \\$tmp\\\"", &temp_dir);
+#else
+	err = ssh_run_on_remote(host, port, extra_args_ssh, "powershell -command \"$tmp = Join-Path $Env:Temp $(New-Guid); New-Item -Type Directory -Path $tmp ^| Out-Null; Write-Output $tmp\"", &temp_dir);
+#endif
 	if (err != OK || temp_dir.is_empty()) {
 	if (err != OK || temp_dir.is_empty()) {
 		CLEANUP_AND_RETURN(err);
 		CLEANUP_AND_RETURN(err);
 	}
 	}
@@ -891,6 +895,10 @@ Error EditorExportPlatformWindows::run(const Ref<EditorExportPreset> &p_preset,
 		CLEANUP_AND_RETURN(err);
 		CLEANUP_AND_RETURN(err);
 	}
 	}
 
 
+	if (cmd_args.is_empty()) {
+		cmd_args = " ";
+	}
+
 	{
 	{
 		String run_script = p_preset->get("ssh_remote_deploy/run_script");
 		String run_script = p_preset->get("ssh_remote_deploy/run_script");
 		run_script = run_script.replace("{temp_dir}", temp_dir);
 		run_script = run_script.replace("{temp_dir}", temp_dir);

+ 1 - 2
platform/windows/os_windows.cpp

@@ -673,9 +673,8 @@ Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments,
 		}
 		}
 
 
 		CloseHandle(pipe[0]); // Close pipe read handle.
 		CloseHandle(pipe[0]); // Close pipe read handle.
-	} else {
-		WaitForSingleObject(pi.pi.hProcess, INFINITE);
 	}
 	}
+	WaitForSingleObject(pi.pi.hProcess, INFINITE);
 
 
 	if (r_exitcode) {
 	if (r_exitcode) {
 		DWORD ret2;
 		DWORD ret2;