|  | SRC = 'src/main/java/com/google/gerrit/extensions/' | 
|  | SRCS = glob([SRC + '**/*.java']) | 
|  |  | 
|  | EXT_API_SRCS = glob([SRC + 'client/*.java']) | 
|  |  | 
|  | gwt_module( | 
|  | name = 'client', | 
|  | srcs = EXT_API_SRCS, | 
|  | gwt_xml = SRC + 'Extensions.gwt.xml', | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = 'client-lib', | 
|  | srcs = EXT_API_SRCS, | 
|  | resources = EXT_API_SRCS + glob([SRC + 'Extensions.gwt.xml']), | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_binary( | 
|  | name = 'extension-api', | 
|  | deps = [':lib'], | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = 'lib', | 
|  | exported_deps = [ | 
|  | ':api', | 
|  | '//lib/guice:guice', | 
|  | '//lib/guice:guice-assistedinject', | 
|  | '//lib/guice:guice-servlet', | 
|  | '//lib:servlet-api-3_1', | 
|  | ], | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = 'api', | 
|  | srcs = glob([SRC + '**/*.java']), | 
|  | provided_deps = [ | 
|  | '//lib/guice:guice', | 
|  | '//lib/guice:guice-assistedinject', | 
|  | ], | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_sources( | 
|  | name = 'extension-api-src', | 
|  | srcs = SRCS, | 
|  | visibility = ['PUBLIC'], | 
|  | ) | 
|  |  | 
|  | java_test( | 
|  | name = 'api_tests', | 
|  | srcs = glob(['src/test/java/**/*.java']), | 
|  | deps = [ | 
|  | ':api', | 
|  | '//lib:truth', | 
|  | '//lib/guice:guice', | 
|  | ], | 
|  | source_under_test = [':api'], | 
|  | ) | 
|  |  | 
|  | java_doc( | 
|  | name = 'extension-api-javadoc', | 
|  | title = 'Gerrit Review Extension API Documentation', | 
|  | pkgs = ['com.google.gerrit.extensions'], | 
|  | paths = ['src/main/java'], | 
|  | srcs = SRCS, | 
|  | deps = [ | 
|  | '//lib/guice:javax-inject', | 
|  | '//lib/guice:guice_library' | 
|  | ], | 
|  | visibility = ['PUBLIC'], | 
|  | ) |