CONSTANTS_SRC = [
  'src/main/java/com/google/gerrit/server/documentation/Constants.java',
]

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

java_library2(
  name = 'constants',
  srcs = CONSTANTS_SRC,
  visibility = ['PUBLIC'],
)

# TODO(sop) break up gerrit-server java_library(), its too big
java_library2(
  name = 'server',
  srcs = SRCS,
  resources = RESOURCES,
  deps = [
    ':constants',
    '//gerrit-antlr:query_exception',
    '//gerrit-antlr:query_parser',
    '//gerrit-common:annotations',
    '//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: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/commons:validator',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice-servlet',
    '//lib/jgit:jgit',
    '//lib/jgit:jgit-archive',
    '//lib/joda:joda-time',
    '//lib/log:api',
    '//lib/prolog:prolog-cafe',
    '//lib/lucene:analyzers-common',
    '//lib/lucene:core',
    '//lib/lucene:query-parser',
  ],
  compile_deps = [
    '//lib/bouncycastle:bcprov',
    '//lib/bouncycastle:bcpg',
    '//lib/bouncycastle:bcpkix',
  ],
  visibility = ['PUBLIC'],
)

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

TESTUTIL = glob([
  'src/test/java/com/google/gerrit/testutil/**/*.java',
  'src/test/java/com/google/gerrit/server/project/Util.java',
  ])
java_library(
  name = 'testutil',
  srcs = TESTUTIL,
  deps = [
    ':server',
    '//gerrit-common:server',
    '//gerrit-cache-h2:cache-h2',
    '//gerrit-lucene:lucene',
    '//gerrit-reviewdb:server',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib:h2',
    '//lib:junit',
    '//lib/guice:guice',
    '//lib/guice:guice-servlet',
    '//lib/jgit:jgit',
    '//lib/jgit:junit',
  ],
  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',
  ],
)

java_test(
  name = 'prolog_tests',
  srcs = PROLOG_TESTS,
  resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
  deps = [
    ':prolog_test_case',
    ':server',
    ':testutil',
    '//gerrit-common:server',
    '//gerrit-reviewdb:server',
    '//gerrit-server/src/main/prolog:common',
    '//lib:gwtorm',
    '//lib:junit',
    '//lib/jgit:jgit',
    '//lib/guice:guice',
    '//lib/prolog:prolog-cafe',
  ],
)

QUERY_TESTS = glob(
  ['src/test/java/com/google/gerrit/server/query/**/*.java'],
)

java_test(
  name = 'query_tests',
  srcs = QUERY_TESTS,
  deps = [
    ':server',
    ':testutil',
    '//gerrit-antlr:query_exception',
    '//gerrit-antlr:query_parser',
    '//gerrit-common:annotations',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-reviewdb:server',
    '//gerrit-server/src/main/prolog:common',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib:junit',
    '//lib/antlr:java_runtime',
    '//lib/guice:guice',
    '//lib/jgit:jgit',
    '//lib/jgit:junit',
    '//lib/joda:joda-time',
  ],
  source_under_test = [':server'],
)

java_test(
  name = 'server_tests',
  srcs = glob(
    ['src/test/java/**/*.java'],
    excludes = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS
  ),
  deps = [
    ':server',
    ':testutil',
    '//gerrit-antlr:query_exception',
    '//gerrit-common:annotations',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-reviewdb:server',
    '//gerrit-server/src/main/prolog:common',
    '//lib:args4j',
    '//lib:easymock',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib:junit',
    '//lib/guice:guice',
    '//lib/jgit:jgit',
    '//lib/jgit:junit',
    '//lib/joda:joda-time',
    '//lib/prolog:prolog-cafe',
  ],
  source_under_test = [':server'],
)
