static String makeCommandExecutingInDirectory( String command, String executionDir, EntityLocal entity) { String finalCommand = command; String execDir = executionDir; if (Strings.isBlank(execDir)) { // default to run dir execDir = entity.getAttribute(SoftwareProcess.RUN_DIR); // if no run dir, default to home if (Strings.isBlank(execDir)) { execDir = "~"; } } else if (!Os.isAbsolutish(execDir)) { // relative paths taken wrt run dir String runDir = entity.getAttribute(SoftwareProcess.RUN_DIR); if (!Strings.isBlank(runDir)) { execDir = Os.mergePaths(runDir, execDir); } } if (!"~".equals(execDir)) { finalCommand = "mkdir -p '" + execDir + "' && cd '" + execDir + "' && " + finalCommand; } return finalCommand; }
protected static String resolveAgainstBaseDir(StringConfigMap brooklynProperties, String path) { if (!Os.isAbsolutish(path)) path = Os.mergePaths(getMgmtBaseDir(brooklynProperties), path); return Os.tidyPath(path); }