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'], )