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

DEPS = GWT_COMMON_DEPS + [
  '//gerrit-gwtexpui:CSS',
  '//lib:gwtjsonrpc',
]

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 = [
    ':freebie_application_icon_set',
    '//gerrit-gwtui-common:diffy_logo',
    '//gerrit-gwtexpui:Clippy',
    '//gerrit-gwtexpui:GlobalKey',
    '//gerrit-gwtexpui:Progress',
    '//gerrit-gwtexpui:SafeHtml',
    '//gerrit-gwtexpui:UserAgent',
    '//gerrit-gwtui-common:client',
    '//gerrit-common:client',
    '//gerrit-extension-api:client',
    '//gerrit-patch-jgit:client',
    '//gerrit-prettify:client',
    '//gerrit-reviewdb:client',
    '//gerrit-gwtexpui:CSS',
    '//lib:gwtjsonrpc',
    '//lib:gwtjsonrpc_src',
    '//lib:gwtorm',
    '//lib/codemirror:codemirror',
    '//lib/gwt:user',
    '//lib/jgit:jgit',
  ],
  visibility = [
    '//tools/eclipse:classpath',
    '//Documentation:licenses.txt',
  ],
)

java_library(
  name = 'freebie_application_icon_set',
  deps = [
    '//lib:LICENSE-freebie_application_icon_set',
    '//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',
    '//lib/gwt:gwt-test-utils',
    '//lib/jgit:jgit',
  ],
  source_under_test = [':ui_module'],
  vm_args = ['-Xmx512m'],
  visibility = ['//tools/eclipse:classpath'],
)
