| 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_library( | 
 |   name = 'constants', | 
 |   srcs = CONSTANTS_SRC, | 
 |   visibility = ['PUBLIC'], | 
 | ) | 
 |  | 
 | # TODO(sop) break up gerrit-server java_library(), its too big | 
 | java_library( | 
 |   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:grappa', | 
 |     '//lib:gson', | 
 |     '//lib:guava', | 
 |     '//lib:gwtjsonrpc', | 
 |     '//lib:gwtorm', | 
 |     '//lib:jsch', | 
 |     '//lib:juniversalchardet', | 
 |     '//lib:mime-util', | 
 |     '//lib:pegdown', | 
 |     '//lib:protobuf', | 
 |     '//lib:velocity', | 
 |     '//lib/antlr:java_runtime', | 
 |     '//lib/auto:auto-value', | 
 |     '//lib/commons:codec', | 
 |     '//lib/commons:compress', | 
 |     '//lib/commons:dbcp', | 
 |     '//lib/commons:lang', | 
 |     '//lib/commons:net', | 
 |     '//lib/commons:validator', | 
 |     '//lib/dropwizard:dropwizard-core', | 
 |     '//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/log:jsonevent-layout', | 
 |     '//lib/log:log4j', | 
 |     '//lib/lucene:analyzers-common', | 
 |     '//lib/lucene:core-and-backward-codecs', | 
 |     '//lib/lucene:queryparser', | 
 |     '//lib/ow2:ow2-asm', | 
 |     '//lib/ow2:ow2-asm-tree', | 
 |     '//lib/ow2:ow2-asm-util', | 
 |     '//lib/prolog:runtime', | 
 |   ], | 
 |   provided_deps = [ | 
 |     '//lib:servlet-api-3_1', | 
 |   ], | 
 |   visibility = ['PUBLIC'], | 
 | ) | 
 |  | 
 | java_sources( | 
 |   name = 'server-src', | 
 |   srcs = SRCS + RESOURCES, | 
 |   visibility = ['PUBLIC'], | 
 | ) | 
 |  | 
 | TESTUTIL_DEPS = [ | 
 |   ':server', | 
 |   '//gerrit-common:server', | 
 |   '//gerrit-cache-h2:cache-h2', | 
 |   '//gerrit-extension-api:api', | 
 |   '//gerrit-gpg:gpg', | 
 |   '//gerrit-lucene:lucene', | 
 |   '//gerrit-reviewdb:server', | 
 |   '//lib:gwtorm', | 
 |   '//lib:h2', | 
 |   '//lib:truth', | 
 |   '//lib/guice:guice', | 
 |   '//lib/guice:guice-servlet', | 
 |   '//lib/jgit:jgit', | 
 |   '//lib/jgit:junit', | 
 |   '//lib/log:api', | 
 |   '//lib/log:impl_log4j', | 
 |   '//lib/log:log4j', | 
 | ] | 
 |  | 
 | 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 = [ | 
 |     '//lib/auto:auto-value', | 
 |   ], | 
 |   provided_deps = TESTUTIL_DEPS, | 
 |   exported_deps = [ | 
 |     '//lib/easymock:easymock', | 
 |     '//lib/powermock:powermock-api-easymock', | 
 |     '//lib/powermock:powermock-api-support', | 
 |     '//lib/powermock:powermock-core', | 
 |     '//lib/powermock:powermock-module-junit4', | 
 |     '//lib/powermock:powermock-module-junit4-common', | 
 |   ], | 
 |   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', | 
 |     ':testutil', | 
 |     '//gerrit-common:server', | 
 |     '//gerrit-extension-api:api', | 
 |     '//lib:guava', | 
 |     '//lib:junit', | 
 |     '//lib:truth', | 
 |     '//lib/guice:guice', | 
 |     '//lib/prolog:runtime', | 
 |   ], | 
 | ) | 
 |  | 
 | java_test( | 
 |   name = 'prolog_tests', | 
 |   srcs = PROLOG_TESTS, | 
 |   resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']), | 
 |   deps = TESTUTIL_DEPS + [ | 
 |     ':prolog_test_case', | 
 |     ':testutil', | 
 |     '//gerrit-server/src/main/prolog:common', | 
 |     '//lib/prolog:runtime', | 
 |   ], | 
 | ) | 
 |  | 
 | QUERY_TESTS = glob( | 
 |   ['src/test/java/com/google/gerrit/server/query/**/*.java'], | 
 | ) | 
 |  | 
 | java_test( | 
 |   name = 'query_tests', | 
 |   srcs = QUERY_TESTS, | 
 |   deps = TESTUTIL_DEPS + [ | 
 |     ':testutil', | 
 |     '//gerrit-antlr:query_exception', | 
 |     '//gerrit-antlr:query_parser', | 
 |     '//gerrit-common:annotations', | 
 |     '//gerrit-server/src/main/prolog:common', | 
 |     '//lib/antlr:java_runtime', | 
 |     '//lib/joda:joda-time', | 
 |   ], | 
 |   source_under_test = [':server'], | 
 | ) | 
 |  | 
 | java_test( | 
 |   name = 'server_tests', | 
 |   labels = ['server'], | 
 |   srcs = glob( | 
 |     ['src/test/java/**/*.java'], | 
 |     excludes = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS | 
 |   ), | 
 |   deps = TESTUTIL_DEPS + [ | 
 |     ':testutil', | 
 |     '//gerrit-antlr:query_exception', | 
 |     '//gerrit-common:annotations', | 
 |     '//gerrit-server/src/main/prolog:common', | 
 |     '//lib:args4j', | 
 |     '//lib:grappa', | 
 |     '//lib:guava', | 
 |     '//lib/dropwizard:dropwizard-core', | 
 |     '//lib/guice:guice-assistedinject', | 
 |     '//lib/joda:joda-time', | 
 |     '//lib/prolog:runtime', | 
 |   ], | 
 |   source_under_test = [':server'], | 
 |   visibility = ['//tools/eclipse:classpath'], | 
 | ) |