SRCS = 'src/main/java/com/google/gerrit/pgm/' RSRCS = 'src/main/resources/com/google/gerrit/pgm/' INIT_API_SRCS = glob([SRCS + 'init/api/*.java']) BASE_JETTY_DEPS = [ '//gerrit-common:server', '//gerrit-extension-api:api', '//gerrit-gwtexpui:linker_server', '//gerrit-gwtexpui:server', '//gerrit-httpd:httpd', '//gerrit-server:server', '//gerrit-sshd:sshd', '//lib:guava', '//lib/guice:guice', '//lib/guice:guice-assistedinject', '//lib/guice:guice-servlet', '//lib/jgit:jgit', '//lib/log:api', '//lib/log:log4j', ] DEPS = BASE_JETTY_DEPS + [ '//gerrit-reviewdb:server', '//lib/log:jsonevent-layout', ] java_library( name = 'init-api', srcs = INIT_API_SRCS, deps = DEPS + ['//gerrit-common:annotations'], visibility = ['PUBLIC'], ) java_sources( name = 'init-api-src', srcs = INIT_API_SRCS, visibility = ['PUBLIC'], ) java_library( name = 'init', srcs = glob([SRCS + 'init/*.java']), resources = glob([RSRCS + 'init/*']), deps = DEPS + [ ':init-api', ':util', '//gerrit-common:annotations', '//gerrit-lucene:lucene', '//lib:args4j', '//lib:derby', '//lib:gwtjsonrpc', '//lib:gwtorm', '//lib:h2', '//lib/commons:validator', '//lib/mina:sshd', ], provided_deps = ['//gerrit-launcher:launcher'], visibility = [ '//gerrit-acceptance-framework/...', '//gerrit-acceptance-tests/...', '//gerrit-war:', ], ) REST_UTIL_DEPS = [ '//gerrit-cache-h2:cache-h2', '//gerrit-util-cli:cli', '//lib:args4j', '//lib:gwtorm', '//lib/commons:dbcp', ] java_library( name = 'util', deps = DEPS + REST_UTIL_DEPS, exported_deps = [':util-nodep'], visibility = [ '//gerrit-acceptance-tests/...', '//gerrit-gwtdebug:gwtdebug', '//gerrit-war:', ], ) java_library( name = 'util-nodep', srcs = glob([SRCS + 'util/*.java']), provided_deps = DEPS + REST_UTIL_DEPS, visibility = ['//gerrit-acceptance-framework/...'], ) JETTY_DEPS = [ '//lib/jetty:jmx', '//lib/jetty:server', '//lib/jetty:servlet', ] java_library( name = 'http', deps = DEPS + JETTY_DEPS, exported_deps = [':http-jetty'], visibility = ['//gerrit-war:'], ) java_library( name = 'http-jetty', srcs = glob([SRCS + 'http/jetty/*.java']), provided_deps = JETTY_DEPS + BASE_JETTY_DEPS + [ '//gerrit-launcher:launcher', '//gerrit-reviewdb:client', '//lib:servlet-api-3_1', ], visibility = ['//gerrit-acceptance-framework/...'], ) REST_PGM_DEPS = [ ':http', ':init', ':init-api', ':util', '//gerrit-cache-h2:cache-h2', '//gerrit-gpg:gpg', '//gerrit-lucene:lucene', '//gerrit-oauth:oauth', '//gerrit-openid:openid', '//lib:args4j', '//lib:gwtorm', '//lib:protobuf', '//lib:servlet-api-3_1', '//lib/auto:auto-value', '//lib/prolog:cafeteria', '//lib/prolog:compiler', '//lib/prolog:runtime', ] java_library( name = 'pgm', resources = glob([RSRCS + '*']), deps = DEPS + REST_PGM_DEPS + [ ':daemon', ], visibility = [ '//:', '//gerrit-acceptance-tests/...', '//gerrit-gwtdebug:gwtdebug', '//tools/eclipse:classpath', '//Documentation:licenses.txt', ], ) # no transitive deps, used for gerrit-acceptance-framework java_library( name = 'daemon', srcs = glob([SRCS + '*.java', SRCS + 'rules/*.java']), resources = glob([RSRCS + '*']), deps = ['//lib/auto:auto-value'], provided_deps = DEPS + REST_PGM_DEPS + [ '//gerrit-launcher:launcher', ], visibility = [ '//gerrit-acceptance-framework/...', '//gerrit-gwtdebug:gwtdebug', ], ) java_test( name = 'pgm_tests', srcs = glob(['src/test/java/**/*.java']), deps = [ ':init', ':init-api', ':pgm', '//gerrit-common:server', '//gerrit-server:server', '//lib:guava', '//lib:junit', '//lib/easymock:easymock', '//lib/guice:guice', '//lib/jgit:jgit', '//lib/jgit:junit', ], source_under_test = [':pgm'], )