SRCS = 'src/main/java/com/google/gerrit/pgm/'
RSRCS = 'src/main/resources/com/google/gerrit/pgm/'

INIT_API_SRCS = glob([SRCS + 'init/api/*.java'])

DEPS = [
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-gwtexpui:linker_server',
    '//gerrit-gwtexpui:server',
    '//gerrit-httpd:httpd',
    '//gerrit-server:server',
    '//gerrit-sshd:sshd',
    '//gerrit-reviewdb:server',
    '//lib:guava',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice-servlet',
    '//lib/jgit:jgit',
    '//lib/log:api',
    '//lib/log:jsonevent-layout',
    '//lib/log:log4j'
]

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

java_library(
  name = 'http',
  srcs = glob([SRCS + 'http/**/*.java']),
  deps = DEPS + [
    '//lib/jetty:jmx',
    '//lib/jetty:server',
    '//lib/jetty:servlet',
  ],
  provided_deps = [
    '//gerrit-launcher:launcher',
    '//lib:servlet-api-3_1',
  ],
  visibility = ['//gerrit-war:'],
)

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