genrule(
  name = 'download',
  cmd = '$(exe :download_all)',
  deps = [':download_all'],
  out = '__fake.download__',
)

genrule(
  name = 'download_sources',
  cmd = '$(exe :download_all) --src',
  deps = [':download_all'],
  out = '__fake.download__',
)

python_binary(
  name = 'download_all',
  main = 'download_all.py',
)

python_binary(
  name = 'download_file',
  main = 'download_file.py',
  visibility = ['PUBLIC'],
)

python_binary(
  name = 'pack_war',
  main = 'pack_war.py',
  deps = [':util'],
  visibility = ['PUBLIC'],
)

python_library(
  name = 'util',
  srcs = ['util.py'],
  visibility = ['PUBLIC'],
)

def shquote(s):
  return s.replace("'", "'\\''")

def os_path():
  from os import environ
  return environ.get('PATH')

genrule(
  name = 'buck.properties',
  cmd = 'echo buck=`which buck`>$OUT;' +
    ("echo PATH=\''%s'\' >>$OUT;" % shquote(os_path())),
  deps = [],
  out = 'buck.properties',
  visibility = ['PUBLIC'],
)
