[remote targets] allow null environment variable values (GO-9758)
authorAlexander Zolotov <zolotov@jetbrains.com>
Thu, 13 Aug 2020 11:44:28 +0000 (14:44 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Thu, 13 Aug 2020 13:09:44 +0000 (13:09 +0000)
GitOrigin-RevId: d2203dc4d6833899914251414f24589302473203

platform/lang-api/src/com/intellij/execution/target/TargetedCommandLineBuilder.java

index 733fd924cc89d6db2e3fcc184476a3b8cb24883e..7b68911ca87dbb6dd99e6fec93213f9b16bc5514 100644 (file)
@@ -5,6 +5,7 @@ import com.intellij.execution.target.value.TargetValue;
 import com.intellij.openapi.util.UserDataHolderBase;
 import com.intellij.openapi.vfs.CharsetToolkit;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import java.io.File;
 import java.nio.charset.Charset;
@@ -89,12 +90,21 @@ public class TargetedCommandLineBuilder extends UserDataHolderBase {
     myParameters.add(index, parameter);
   }
 
-  public void addEnvironmentVariable(String name, TargetValue<String> value) {
-    myEnvironment.put(name, value);
+  public void addEnvironmentVariable(@NotNull String name, @Nullable TargetValue<String> value) {
+    if (value != null) {
+      myEnvironment.put(name, value);
+    }
+    else {
+      myEnvironment.remove(name);
+    }
+  }
+
+  public void addEnvironmentVariable(@NotNull String name, @Nullable String value) {
+    addEnvironmentVariable(name, value != null ? TargetValue.fixed(value) : null);
   }
 
-  public void addEnvironmentVariable(String name, String value) {
-    myEnvironment.put(name, TargetValue.fixed(value));
+  public void removeEnvironmentVariable(@NotNull String name) {
+    myEnvironment.remove(name);
   }
 
   public void addFileToDeleteOnTermination(@NotNull File file) {