BASE = get_base_path()
CORE = [
  'commit-message-length-validator',
  'download-commands',
  'replication',
  'reviewnotes',
  'singleusergroup'
]

# buck audit parses and resolves all deps even if not reachable
# from the root(s) passed to audit. Filter dependencies to only
# the ones that currently exist to allow buck to parse cleanly.
# TODO(sop): buck should more lazily resolve deps
def filter(names):
  from os import path
  h, n = [], []
  for p in names:
    if path.exists(path.join(BASE, p, 'BUCK')):
      h.append(p)
    else:
      n.append(p)
  return h, n
HAVE, NEED = filter(CORE)

genrule(
  name = 'core',
  cmd = '' +
    ';'.join(['echo >&2 plugins/'+n+' is required.' for n in NEED]) +
    (';echo >&2;exit 1;' if NEED else '') +
    'mkdir -p $TMP/WEB-INF/plugins;' +
    'for s in ' +
    ' '.join(['$(location //%s/%s:%s)' % (BASE, n, n) for n in HAVE]) +
    ';do ln -s $s $TMP/WEB-INF/plugins;done;' +
    'cd $TMP;' +
    'zip -qr $OUT .',
  out = 'core.zip',
  visibility = ['//:release'],
)
