#!/usr/bin/env python

import roslib
import sys
import subprocess
import os

NAME = 'rosdiststacks'
USAGE = 'USAGE: %s [stacks...]'%NAME

cmd = ['make']
rospack_path = os.path.join(os.environ['ROS_ROOT'],'tools','rospack')
subprocess.call(cmd, cwd=rospack_path)

stacks = []
if len(sys.argv) > 1:
  stacks = sys.argv[1:]
else:
  cmd = ['rosstack', 'list-names']
  stacks = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].split('\n')

dirs = []
for s in stacks:
  cmd = ['rosstack', 'find', s]
  dirs.append(subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].strip())

#cmd = ['make', 'package_source']
for s, d in zip(stacks, dirs):
  if s.strip() == '': 
    break
  cmd = ['bash', '-c', 'cd %s && make package_source'%d]
  print 'Building a distribution for %s in %s'%(s, d)
  subprocess.call(cmd, cwd=d)
