include_defs('//lib/prolog/DEFS')

SRCS = glob(['src/main/java/**/*.java'])
RESOURCES =  glob(['src/main/resources/**/*'])

# TODO(sop) break up gerrit-server java_library(), its too big
java_library2(
  name = 'server',
  srcs = SRCS,
  resources = RESOURCES,
  deps = [
    '//gerrit-antlr:query_exception',
    '//gerrit-antlr:query_parser',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-patch-commonsnet:commons-net',
    '//gerrit-patch-jgit:server',
    '//gerrit-prettify:server',
    '//gerrit-reviewdb:server',
    '//gerrit-util-cli:cli',
    '//gerrit-util-ssl:ssl',
    '//lib:args4j',
    '//lib:automaton',
    '//lib:gson',
    '//lib:guava',
    '//lib:gwtjsonrpc',
    '//lib:gwtorm',
    '//lib:jsch',
    '//lib:jsr305',
    '//lib:juniversalchardet',
    '//lib:mime-util',
    '//lib:ow2-asm',
    '//lib:ow2-asm-tree',
    '//lib:ow2-asm-util',
    '//lib:parboiled-core',
    '//lib:pegdown',
    '//lib:velocity',
    '//lib/antlr:java_runtime',
    '//lib/commons:codec',
    '//lib/commons:dbcp',
    '//lib/commons:lang',
    '//lib/commons:net',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice-servlet',
    '//lib/jgit:jgit',
    '//lib/log:api',
    '//lib/prolog:prolog-cafe',
  ],
  compile_deps = [
    '//lib/bouncycastle:bcprov',
    '//lib/bouncycastle:bcpg',
  ],
  visibility = ['PUBLIC'],
)

java_sources(
  name = 'server-src',
  srcs = SRCS + RESOURCES,
  visibility = ['PUBLIC'],
)

prolog_cafe_library(
  name = 'common_rules',
  srcs = ['src/main/prolog/gerrit_common.pl'],
  deps = [':server'],
  visibility = ['PUBLIC'],
)

java_test(
  name = 'server_tests',
  srcs = glob(['src/test/java/**/*.java']),
  resources = glob(['src/test/resources/**/*']),
  deps = [
    ':server',
    ':common_rules',
    '//gerrit-antlr:query_exception',
    '//gerrit-antlr:query_parser',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-reviewdb:server',
    '//lib:easymock',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib:h2',
    '//lib:junit',
    '//lib/antlr:java_runtime',
    '//lib/guice:guice',
    '//lib/jgit:jgit',
    '//lib/jgit:junit',
    '//lib/prolog:prolog-cafe',
  ],
  source_under_test = [':server'],
)
