load('//tools/bzl:java.bzl', 'java_library2') load('//tools/bzl:junit.bzl', 'junit_tests') load('//tools/bzl:license.bzl', 'license_test') 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/org.eclipse.jgit:jgit', '//lib/joda:joda-time', '//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 = ['//visibility:public'], ) java_library( name = 'init', srcs = glob([SRCS + 'init/*.java']), resources = glob([RSRCS + 'init/*']), deps = DEPS + [ ':init-api', ':util', '//gerrit-common:annotations', '//gerrit-launcher:launcher', # We want this dep to be provided_deps '//gerrit-lucene:lucene', '//lib:args4j', '//lib:derby', '//lib:gwtjsonrpc', '//lib:gwtorm', '//lib:h2', '//lib/commons:validator', '//lib/mina:sshd', ], visibility = ['//visibility:public'], ) REST_UTIL_DEPS = [ '//gerrit-cache-h2:cache-h2', '//gerrit-util-cli:cli', '//lib:args4j', '//lib:gwtorm', '//lib/commons:dbcp', ] java_library( name = 'util', exports = [':util-nodep'], runtime_deps = DEPS + REST_UTIL_DEPS, visibility = ['//visibility:public'], ) java_library( name = 'util-nodep', srcs = glob([SRCS + 'util/*.java']), deps = DEPS + REST_UTIL_DEPS, # We want all these deps to be provided_deps visibility = ['//visibility:public'], ) JETTY_DEPS = [ '//lib/jetty:jmx', '//lib/jetty:server', '//lib/jetty:servlet', ] java_library( name = 'http', runtime_deps = DEPS + JETTY_DEPS, exports = [':http-jetty'], visibility = ['//visibility:public'], ) java_library( name = 'http-jetty', srcs = glob([SRCS + 'http/jetty/*.java']), deps = JETTY_DEPS + BASE_JETTY_DEPS + [ # We want all these deps to be provided_deps '//gerrit-launcher:launcher', '//gerrit-reviewdb:client', '//lib:servlet-api-3_1', ], visibility = ['//visibility:public'], ) REST_PGM_DEPS = [ ':http', ':init', ':init-api', ':util', '//gerrit-cache-h2:cache-h2', '//gerrit-elasticsearch:elasticsearch', '//gerrit-gpg:gpg', '//gerrit-lucene:lucene', '//gerrit-oauth:oauth', '//gerrit-openid:openid', '//lib:args4j', '//lib:gwtorm', '//lib:protobuf', '//lib:servlet-api-3_1-without-neverlink', '//lib/prolog:cafeteria', '//lib/prolog:compiler', '//lib/prolog:runtime', ] java_library( name = 'pgm', resources = glob([RSRCS + '*']), runtime_deps = DEPS + REST_PGM_DEPS + [ ':daemon', ], visibility = ['//visibility:public'], ) # no transitive deps, used for gerrit-acceptance-framework java_library( name = 'daemon', srcs = glob([SRCS + '*.java', SRCS + 'rules/*.java']), resources = glob([RSRCS + '*']), deps = DEPS + REST_PGM_DEPS + [ # We want all these deps to be provided_deps '//gerrit-launcher:launcher', '//lib/auto:auto-value', ], visibility = ['//visibility:public'], ) junit_tests( 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/org.eclipse.jgit:jgit', '//lib/jgit/org.eclipse.jgit.junit:junit', ], ) license_test( name = "pgm_license_test", target = ":pgm", )