Add GeneralCommandLine.getEffectiveEnvironment()
authorEldar Abusalimov <eldar.abusalimov@jetbrains.com>
Wed, 12 Oct 2016 11:45:08 +0000 (14:45 +0300)
committerEldar Abusalimov <eldar.abusalimov@jetbrains.com>
Wed, 12 Oct 2016 11:45:08 +0000 (14:45 +0300)
platform/platform-api/src/com/intellij/execution/configurations/GeneralCommandLine.java

index eb767b601988531ef69f75398694b3d741045463..41eb901a1a413b5130ea291a17259785ce200de3 100644 (file)
@@ -202,7 +202,8 @@ public class GeneralCommandLine implements UserDataHolder {
   }
 
   /**
-   * Returns an environment that will be passed to a child process.
+   * Returns an environment that will be inherited by a child process.
+   * @see #getEffectiveEnvironment()
    */
   @NotNull
   public Map<String, String> getParentEnvironment() {
@@ -216,6 +217,17 @@ public class GeneralCommandLine implements UserDataHolder {
     }
   }
 
+  /**
+   * Returns an environment as seen by a child process,
+   * that is the {@link #getEnvironment() environment} merged with the {@link #getParentEnvironment() parent} one.
+   */
+  @NotNull
+  public Map<String, String> getEffectiveEnvironment() {
+    MyTHashMap env = new MyTHashMap();
+    setupEnvironment(env);
+    return env;
+  }
+
   public void addParameters(@NotNull String... parameters) {
     withParameters(parameters);
   }
@@ -469,4 +481,4 @@ public class GeneralCommandLine implements UserDataHolder {
       }
     }
   }
-}
\ No newline at end of file
+}