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:protobuf',
    '//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_TEST_CASE = [
  'src/test/java/com/google/gerrit/rules/PrologTestCase.java',
]
PROLOG_TESTS = glob(
  ['src/test/java/com/google/gerrit/rules/**/*.java'],
  excludes = PROLOG_TEST_CASE,
)

java_library(
  name = 'prolog_test_case',
  srcs = PROLOG_TEST_CASE,
  deps = [
    ':server',
    '//lib:junit',
    '//lib/guice:guice',
    '//lib/prolog:prolog-cafe',
  ],
  export_deps = True,
)

java_test(
  name = 'prolog_tests',
  srcs = PROLOG_TESTS,
  resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
  deps = [
    ':prolog_test_case',
    '//gerrit-server/src/main/prolog:common',
  ],
)

java_test(
  name = 'server_tests',
  srcs = glob(
    ['src/test/java/**/*.java'],
    excludes = PROLOG_TESTS + PROLOG_TEST_CASE
  ),
  deps = [
    ':server',
    '//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'],
)
