include_defs('//lib/js.defs')

WCT_TEST_PATTERNS = [
  'test/**',
  '**/*_test.html',
]
PY_TEST_PATTERNS = ['polygerrit_wct_tests.py']
APP_SRCS = glob(
  ['**'],
  excludes = [
    'BUCK',
    'index.html',
  ] + WCT_TEST_PATTERNS + PY_TEST_PATTERNS)

WEBJS = 'bower_components/webcomponentsjs/webcomponents-lite.js'

# TODO(dborowitz): Putting these rules in this package avoids having to handle
# the app/ prefix like we would have to if this were in the parent directory.
# The only reason for the app subdirectory in the first place was convenience
# when witing server.go; when that goes away, we can just move all the files and
# these rules up one directory.
genrule(
  name = 'polygerrit_ui',
  cmd = ' && '.join([
    'mkdir $TMP/polygerrit_ui',
    'cd $TMP/polygerrit_ui',
    'mkdir -p {elements,bower_components/webcomponentsjs}',
    'unzip -qd elements $(location :gr-app)',
    'cp -rp $SRCDIR/* .',
    'unzip -p $(location //polygerrit-ui:polygerrit_components) %s>%s' % (WEBJS, WEBJS),
    'cd $TMP',
    'zip -9qr $OUT .',
  ]),
  srcs = glob([
    'favicon.ico',
    'index.html',
    'styles/**/*.css'
  ]),
  out = 'polygerrit_ui.zip',
  visibility = ['PUBLIC'],
)

vulcanize(
  name = 'gr-app',
  app = 'elements/gr-app.html',
  srcs = APP_SRCS,
  components = '//polygerrit-ui:polygerrit_components',
)


bower_components(
  name = 'test_components',
  deps = [
    '//polygerrit-ui:polygerrit_components',
    '//lib/js:iron-test-helpers',
    '//lib/js:test-fixture',
  ],
)

genrule(
  name = 'test_resources',
  cmd = ' && '.join([
    'cd $TMP',
    'unzip -q $(location :test_components)',
    'cp -r $SRCDIR/* .',
    'zip -r $OUT .',
  ]),
  srcs = APP_SRCS + glob(WCT_TEST_PATTERNS),
  out = 'test_resources.zip',
)

python_test(
  name = 'polygerrit_tests',
  srcs = glob(PY_TEST_PATTERNS),
  resources = [':test_resources'],
  labels = [
    'manual',
    'web',
  ],
)
