From 9b6977158bce39f6bdbb2aecb06093af44b5e6fe Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Tue, 16 Sep 2025 12:45:46 +0200 Subject: [PATCH] [rdct] IJPL-204792 pass additional RemDev properties via VMOptions Do not create a new 'temp.remote-dev.properties' file every time IDE is started. GitOrigin-RevId: 7ab936b592661a642e40fe3ad985d709157c514e --- native/XPlatLauncher/src/remote_dev.rs | 37 ++++++-------------------- 1 file changed, 8 insertions(+), 29 deletions(-) diff --git a/native/XPlatLauncher/src/remote_dev.rs b/native/XPlatLauncher/src/remote_dev.rs index 931a9e7e2dc9..7316bfcaa17b 100644 --- a/native/XPlatLauncher/src/remote_dev.rs +++ b/native/XPlatLauncher/src/remote_dev.rs @@ -38,6 +38,13 @@ impl LaunchConfiguration for RemoteDevLaunchConfiguration { vm_options.push("-Djava.net.preferIPv4Stack=true".to_string()) } + let remote_dev_properties = self.get_remote_dev_properties()?; + for p in remote_dev_properties { + let key = p.key.as_str(); + let value = p.value.as_str(); + vm_options.push(format!("-D{key}={value}")); + } + if let Some(command) = self.get_args().get(0) { match command.as_str() { "remoteDevStatus" | "cwmHostStatus" => { @@ -58,10 +65,7 @@ impl LaunchConfiguration for RemoteDevLaunchConfiguration { } fn get_custom_properties_file(&self) -> Result { - let remote_dev_properties_file = self.write_merged_properties_file() - .context("Failed to write remote dev IDE properties file")?; - - Ok(remote_dev_properties_file) + bail!("Custom remote dev properties are not needed"); } fn get_class_path(&self) -> Result> { @@ -250,31 +254,6 @@ impl RemoteDevLaunchConfiguration { Ok(result) } - - fn write_merged_properties_file(&self) -> Result { - let pid = std::process::id(); - let filename = format!("pid.{pid}.temp.remote-dev.properties"); - let path = get_ide_temp_directory(&self.default)?.join(filename); - - if let Some(dir) = path.parent() { - fs::create_dir_all(dir) - .with_context(|| format!("Failed to create to parent folder for IDE properties file at path {dir:?}"))? - } - - let file = File::create(&path)?; - let mut writer = BufWriter::new(file); - - let remote_dev_properties = self.get_remote_dev_properties()?; - for p in remote_dev_properties { - let key = p.key.as_str(); - let value = p.value.as_str(); - writeln!(&mut writer, "{key}={value}")?; - } - - writer.flush()?; - - Ok(path) - } } fn get_ide_temp_directory(default: &DefaultLaunchConfiguration) -> Result {