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

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

# List libraries to be copied statically into the build. (i.e. Libraries not
# expected to be Vulcanized.)
WEB_JS_LIBS = [
  ('bower_components/webcomponentsjs', 'webcomponents-lite.js'),
  ('bower_components/highlightjs', 'highlight.min.js'),
]

# Map the static libraries to commands for the polygerrit_ui rule.
JS_LIBS_MKDIR_CMDS = []
JS_LIBS_UNZIP_CMDS = []
for lib in WEB_JS_LIBS:
  JS_LIBS_MKDIR_CMDS.append('mkdir -p ' + lib[0])
  path = lib[0] + '/' + lib[1]
  cmd = 'unzip -p $(location //polygerrit-ui:polygerrit_components) %s>%s' % (path, path)
  JS_LIBS_UNZIP_CMDS.append(cmd)

# 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 {fonts,elements}',
    ' && '.join(JS_LIBS_MKDIR_CMDS),
    'unzip -qd fonts $(location //polygerrit-ui:fonts)',
    'unzip -qd elements $(location :gr-app)',
    'cp -rp $SRCDIR/* .',
    ' && '.join(JS_LIBS_UNZIP_CMDS),
    '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',
    '//lib/js:web-component-tester',
  ],
)

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',
  ],
)
