Skip to content

Commit

Permalink
add platform check for --args code path (#1809)
Browse files Browse the repository at this point in the history
  • Loading branch information
kejxu authored Feb 8, 2020
1 parent ed91d3a commit b70c0a9
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions tools/roslaunch/src/roslaunch/node_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,12 @@ def print_node_args(node_name, roslaunch_files):
try:
node_name = script_resolve_name('roslaunch', node_name)
args = get_node_args(node_name, roslaunch_files)
print(' '.join(args))
if sys.platform == 'win32':
# launch in a new cmd window for isolated environment configuration
print('cmd /c \"%s\"' % (' '.join(args)))
else:
# sys.platform.startswith('linux')
print(' '.join(args))
except RLException as e:
print(str(e), file=sys.stderr)
sys.exit(1)
Expand Down Expand Up @@ -187,8 +192,14 @@ def get_node_args(node_name, roslaunch_files):

# resolve node name for generating args
args = create_local_process_args(node, machine)
# join environment vars are bash prefix args
return ["%s=%s"%(k, v) for k, v in env.items()] + args
if sys.platform == "win32":
# set command can be used with environment variables that contain space without double quotes
# https://ss64.com/nt/set.html
return ["set %s=%s&&"%(k, v) for k, v in env.items()] + args
else:
# sys.platform.startswith('linux')
# join environment vars are bash prefix args
return ["%s=%s"%(k, v) for k, v in env.items()] + args

def _launch_prefix_args(node):
if node.launch_prefix:
Expand Down

0 comments on commit b70c0a9

Please sign in to comment.