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-index:index',
    '//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",
)
