You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2015/06/29 18:58:34 UTC

svn commit: r1688264 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli: CliBase.java DuccUiUtilities.java aio/AllInOneLauncher.java

Author: burn
Date: Mon Jun 29 16:58:33 2015
New Revision: 1688264

URL: http://svn.apache.org/r1688264
Log:
UIMA-4490 Correct LD_LIBRARY_PATH for all-in-one local & log args ala ducc_ling

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiUtilities.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1688264&r1=1688263&r2=1688264&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Mon Jun 29 16:58:33 2015
@@ -412,7 +412,8 @@ public abstract class CliBase
             // renaming LD_LIBRARY_PATH & propagating some user values
             if (uiopt == UiOption.Environment) {
               String environment = cli_props.getProperty(uiopt.pname());
-              environment = DuccUiUtilities.fixupEnvironment(environment);
+              String allInOne = cli_props.getProperty(UiOption.AllInOne.pname());
+              environment = DuccUiUtilities.fixupEnvironment(environment, allInOne);
               cli_props.setProperty(uiopt.pname(), environment);
             }
         }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiUtilities.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiUtilities.java?rev=1688264&r1=1688263&r2=1688264&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiUtilities.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiUtilities.java Mon Jun 29 16:58:33 2015
@@ -55,18 +55,24 @@ public class DuccUiUtilities {
 		return user;
 	}
 
-  public static String fixupEnvironment(String environment) {
-    // Rename the user's LD_LIBRARY_PATH as Secure Linuxs will not pass that on
-    String source = "LD_LIBRARY_PATH";
-    String target = "DUCC_" + source;
+  public static String fixupEnvironment(String environment, String allInOne) {
+	  
     ArrayList<String> envList = QuotedOptions.tokenizeList(environment, false); // Don't strip quotes
     Map<String, String> envMap = QuotedOptions.parseAssignments(envList, +1); // Expand any FOO or FOO* entries
-    if (envMap.containsKey(source)) {
-      if (!envMap.containsKey(target)) {
-        envMap.put(target, envMap.get(source));
-        envMap.remove(source);
+    
+    // Rename the user's LD_LIBRARY_PATH as Secure Linuxs will not pass that on
+    // But not for --all-in-one local
+    if (allInOne == null || !allInOne.equalsIgnoreCase("local")) {
+      String source = "LD_LIBRARY_PATH";
+      String target = "DUCC_" + source;
+      if (envMap.containsKey(source)) {
+        if (!envMap.containsKey(target)) {
+          envMap.put(target, envMap.get(source));
+          envMap.remove(source);
+        }
       }
     }
+    
     // Augment user-specified environment with a few useful ones (only if not already set), e.g. USER HOME
     String envNames = DuccPropertiesResolver.get(DuccPropertiesResolver.ducc_environment_propagated);
     if (envNames != null) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java?rev=1688264&r1=1688263&r2=1688264&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOneLauncher.java Mon Jun 29 16:58:33 2015
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Properties;
 
 import org.apache.uima.ducc.cli.CliBase;
@@ -719,18 +720,26 @@ public class AllInOneLauncher extends Cl
         }
         
         // Put environment settings in the process's environment
+        // Don't inherit any settings
+        Map<String,String> env = pb.environment();
+        env.clear();
         if(environment != null) {
             ArrayList<String> envList = QuotedOptions.tokenizeList(environment, true); // Strip quotes
             Map<String,String> envMap = QuotedOptions.parseAssignments(envList, +1); // Expand any FOO & FOO* entries
-            Map<String,String> env = pb.environment();
-            env.clear();
             env.putAll(envMap);
         }
         
-        // Dump command line
-        for (String arg : commandArray) {
-            mh.frameworkDebug(cid, mid, arg);
+        // Log the environment and arguments in the same way ducc_ling does
+        System.out.println("Changed to working directory " + working_directory);
+        int n = 0;
+        for (Entry<String, String> entry : env.entrySet()) {
+        	System.out.println("Environ[" + (n++) + "] = " + entry.getKey() + "=" + entry.getValue());
+        }
+        System.out.println("Command to exec: " + command[0]);
+        for (int i = 1; i < command.length; ++i) {
+        	System.out.println("    arg[" + i + "]: " + command[i]);
         }
+        System.out.println("Command launching...");
         
         // Run!
         pb.redirectErrorStream(true);