include_defs('//gerrit-gwtui/gwt.defs')
include_defs('//tools/gwt-constants.defs')

DEPS = GWT_TRANSITIVE_DEPS + [
  '//gerrit-gwtexpui:CSS',
  '//lib:gwtjsonrpc',
  '//lib/gwt:dev',
]

gwt_genrule(MODULE, DEPS)
gwt_genrule(MODULE, DEPS, '_r')

gwt_user_agent_permutations(
  name = 'ui',
  module_name = 'gerrit_ui',
  modules = [MODULE],
  module_deps = [':ui_module'],
  deps = DEPS,
  visibility = ['//:'],
)

gwt_module(
  name = 'ui_module',
  srcs = glob(['src/main/java/**/*.java']),
  gwt_xml = 'src/main/java/%s.gwt.xml' % MODULE.replace('.', '/'),
  resources = glob(['src/main/java/**/*']),
  deps = [
    ':silk_icons',
    '//gerrit-gwtui-common:diffy_logo',
    '//gerrit-gwtui-common:client',
    '//gerrit-gwtexpui:CSS',
    '//lib/codemirror:codemirror',
    '//lib/gwt:user',
  ],
  visibility = [
    '//tools/eclipse:classpath',
    '//Documentation:licenses.txt',
    '//Documentation:js_licenses.txt',
  ],
)

java_library(
  name = 'silk_icons',
  deps = [
    '//lib:LICENSE-silk_icons',
    '//lib:LICENSE-CC-BY3.0',
  ],
)

java_test(
  name = 'ui_tests',
  srcs = glob(['src/test/java/**/*.java']),
  resources = glob(['src/test/resources/**/*']) + [
    'src/main/java/com/google/gerrit/GerritGwtUI.gwt.xml',
  ],
  deps = [
    ':ui_module',
    '//gerrit-common:client',
    '//gerrit-extension-api:client',
    '//lib:junit',
    '//lib/gwt:dev',
    '//lib/gwt:user',
  ],
  source_under_test = [':ui_module'],
  vm_args = ['-Xmx512m'],
  visibility = ['//tools/eclipse:classpath'],
)
