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

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

java_library(
  name = 'init-api',
  srcs = INIT_API_SRCS,
  deps = [
    '//gerrit-common:annotations',
    '//gerrit-common:server',
    '//gerrit-reviewdb:server',
    '//gerrit-server:server',
    '//lib:guava',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/jgit:jgit',
  ],
  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 = [
    ':init-api',
    ':util',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-lucene:lucene',
    '//gerrit-reviewdb:server',
    '//gerrit-server:server',
    '//gerrit-util-cli:cli',
    '//lib:args4j',
    '//lib:guava',
    '//lib:gwtjsonrpc',
    '//lib:gwtorm',
    '//lib:h2',
    '//lib/commons:dbcp',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/jgit:jgit',
    '//lib/mina:sshd',
    '//lib/log:api',
  ],
  provided_deps = ['//gerrit-launcher:launcher'],
  visibility = [
    '//gerrit-acceptance-tests/...',
    '//gerrit-war:',
  ],
)

java_library(
  name = 'util',
  srcs = glob([SRCS + 'util/*.java']),
  deps = [
    '//gerrit-cache-h2:cache-h2',
    '//gerrit-common:client',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-reviewdb:server',
    '//gerrit-server:server',
    '//gerrit-util-cli:cli',
    '//lib:args4j',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib/commons:dbcp',
    '//lib/guice:guice',
    '//lib/jgit:jgit',
    '//lib/log:api',
    '//lib/log:log4j',
  ],
  visibility = [
    '//gerrit-acceptance-tests/...',
    '//gerrit-gwtdebug:gwtdebug',
    '//gerrit-war:',
  ],
)

java_library(
  name = 'pgm',
  srcs = glob(
    [SRCS + n for n in [
      '*.java',
      # TODO(dborowitz): Split these into separate rules.
      'http/**/*.java',
      'shell/**/*.java',
    ]],
  ),
  resources = glob([RSRCS + '*']),
  deps = [
    ':init',
    ':init-api',
    ':util',
    '//gerrit-cache-h2:cache-h2',
    '//gerrit-common:server',
    '//gerrit-extension-api:api',
    '//gerrit-gwtexpui:linker_server',
    '//gerrit-gwtexpui:server',
    '//gerrit-httpd:httpd',
    '//gerrit-lucene:lucene',
    '//gerrit-openid:openid',
    '//gerrit-reviewdb:server',
    '//gerrit-server:server',
    '//gerrit-server/src/main/prolog:common',
    '//gerrit-solr:solr',
    '//gerrit-sshd:sshd',
    '//gerrit-util-cli:cli',
    '//lib:args4j',
    '//lib:guava',
    '//lib:gwtorm',
    '//lib:h2',
    '//lib:servlet-api-3_1',
    '//lib/guice:guice',
    '//lib/guice:guice-assistedinject',
    '//lib/guice:guice-servlet',
    '//lib/jetty:server',
    '//lib/jetty:servlet',
    '//lib/jetty:jmx',
    '//lib/jgit:jgit',
    '//lib/log:api',
    '//lib/log:log4j',
    '//lib/lucene:core',
    '//lib/prolog:prolog-cafe',
  ],
  provided_deps = ['//gerrit-launcher:launcher'],
  visibility = [
    '//:',
    '//gerrit-acceptance-tests/...',
    '//gerrit-gwtdebug:gwtdebug',
    '//tools/eclipse:classpath',
    '//Documentation:licenses.txt',
  ],
)

java_test(
  name = 'pgm_tests',
  srcs = glob(['src/test/java/**/*.java']),
  deps = [
    ':init',
    ':init-api',
    ':pgm',
    '//gerrit-server:server',
    '//lib:junit',
    '//lib/easymock:easymock',
    '//lib/guice:guice',
    '//lib/jgit:jgit',
    '//lib/jgit:junit',
  ],
  source_under_test = [':pgm'],
)
