4e69765b9e
Grappa library was chosen by Gitiles project to implement markdown rendering. Grappa library includes non-relocated parboiled library that is incompatible with vanilla parboiled library. When Grappa driven gitiles-plugin is deployed in Gerrit, there is a class collision. The only way to make them co-exist is to relocate one of them, using JarJar utility. But doing it can be error prone as this issue has shown: [2]. This change takes another approach and replace parboiled library in Gerrit core with Grappa library. This fixed the deployment problem with gitiles-plugin: markdown files rendering work as expected. [1] https://github.com/fge/grappa [2] https://github.com/sirthias/parboiled/issues/80 Change-Id: I793a84013468bf9fd07e62960bc2e789674ff35c
224 lines
5.2 KiB
Python
224 lines
5.2 KiB
Python
CONSTANTS_SRC = [
|
|
'src/main/java/com/google/gerrit/server/documentation/Constants.java',
|
|
]
|
|
|
|
SRCS = glob(
|
|
['src/main/java/**/*.java'],
|
|
excludes = CONSTANTS_SRC,
|
|
)
|
|
RESOURCES = glob(['src/main/resources/**/*'])
|
|
|
|
java_library(
|
|
name = 'constants',
|
|
srcs = CONSTANTS_SRC,
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
# TODO(sop) break up gerrit-server java_library(), its too big
|
|
java_library(
|
|
name = 'server',
|
|
srcs = SRCS,
|
|
resources = RESOURCES,
|
|
deps = [
|
|
':constants',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-antlr:query_parser',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-patch-commonsnet:commons-net',
|
|
'//gerrit-patch-jgit:server',
|
|
'//gerrit-prettify:server',
|
|
'//gerrit-reviewdb:server',
|
|
'//gerrit-util-cli:cli',
|
|
'//gerrit-util-ssl:ssl',
|
|
'//lib:args4j',
|
|
'//lib:automaton',
|
|
'//lib:grappa',
|
|
'//lib:gson',
|
|
'//lib:guava',
|
|
'//lib:gwtjsonrpc',
|
|
'//lib:gwtorm',
|
|
'//lib:jsch',
|
|
'//lib:juniversalchardet',
|
|
'//lib:mime-util',
|
|
'//lib:pegdown',
|
|
'//lib:protobuf',
|
|
'//lib:velocity',
|
|
'//lib/antlr:java_runtime',
|
|
'//lib/auto:auto-value',
|
|
'//lib/commons:codec',
|
|
'//lib/commons:dbcp',
|
|
'//lib/commons:lang',
|
|
'//lib/commons:net',
|
|
'//lib/commons:validator',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib/jgit:jgit',
|
|
'//lib/jgit:jgit-archive',
|
|
'//lib/joda:joda-time',
|
|
'//lib/log:api',
|
|
'//lib/log:log4j',
|
|
'//lib/lucene:analyzers-common',
|
|
'//lib/lucene:core',
|
|
'//lib/lucene:query-parser',
|
|
'//lib/ow2:ow2-asm',
|
|
'//lib/ow2:ow2-asm-tree',
|
|
'//lib/ow2:ow2-asm-util',
|
|
'//lib/prolog:prolog-cafe',
|
|
],
|
|
provided_deps = [
|
|
'//lib:servlet-api-3_1',
|
|
'//lib/bouncycastle:bcprov',
|
|
'//lib/bouncycastle:bcpg',
|
|
'//lib/bouncycastle:bcpkix',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
java_sources(
|
|
name = 'server-src',
|
|
srcs = SRCS + RESOURCES,
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
TESTUTIL = glob([
|
|
'src/test/java/com/google/gerrit/testutil/**/*.java',
|
|
'src/test/java/com/google/gerrit/server/project/Util.java',
|
|
])
|
|
java_library(
|
|
name = 'testutil',
|
|
srcs = TESTUTIL,
|
|
deps = [
|
|
':server',
|
|
'//gerrit-common:server',
|
|
'//gerrit-cache-h2:cache-h2',
|
|
'//gerrit-lucene:lucene',
|
|
'//gerrit-reviewdb:server',
|
|
'//lib:guava',
|
|
'//lib:gwtorm',
|
|
'//lib:h2',
|
|
'//lib:junit',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib/jgit:jgit',
|
|
'//lib/jgit:junit',
|
|
'//lib/log:impl_log4j',
|
|
'//lib/log:log4j',
|
|
],
|
|
exported_deps = [
|
|
'//lib/easymock:easymock',
|
|
'//lib/powermock:powermock-api-easymock',
|
|
'//lib/powermock:powermock-api-support',
|
|
'//lib/powermock:powermock-core',
|
|
'//lib/powermock:powermock-module-junit4',
|
|
'//lib/powermock:powermock-module-junit4-common',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
PROLOG_TEST_CASE = [
|
|
'src/test/java/com/google/gerrit/rules/PrologTestCase.java',
|
|
]
|
|
PROLOG_TESTS = glob(
|
|
['src/test/java/com/google/gerrit/rules/**/*.java'],
|
|
excludes = PROLOG_TEST_CASE,
|
|
)
|
|
|
|
java_library(
|
|
name = 'prolog_test_case',
|
|
srcs = PROLOG_TEST_CASE,
|
|
deps = [
|
|
':server',
|
|
'//gerrit-common:server',
|
|
'//lib:junit',
|
|
'//lib/guice:guice',
|
|
'//lib/prolog:prolog-cafe',
|
|
],
|
|
)
|
|
|
|
java_test(
|
|
name = 'prolog_tests',
|
|
srcs = PROLOG_TESTS,
|
|
resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
|
|
deps = [
|
|
':prolog_test_case',
|
|
':server',
|
|
':testutil',
|
|
'//gerrit-common:server',
|
|
'//gerrit-reviewdb:server',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib:guava',
|
|
'//lib:gwtorm',
|
|
'//lib:junit',
|
|
'//lib:truth',
|
|
'//lib/jgit:jgit',
|
|
'//lib/guice:guice',
|
|
'//lib/prolog:prolog-cafe',
|
|
],
|
|
)
|
|
|
|
QUERY_TESTS = glob(
|
|
['src/test/java/com/google/gerrit/server/query/**/*.java'],
|
|
)
|
|
|
|
java_test(
|
|
name = 'query_tests',
|
|
srcs = QUERY_TESTS,
|
|
deps = [
|
|
':server',
|
|
':testutil',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-antlr:query_parser',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-reviewdb:server',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib:guava',
|
|
'//lib:gwtorm',
|
|
'//lib:junit',
|
|
'//lib:truth',
|
|
'//lib/antlr:java_runtime',
|
|
'//lib/guice:guice',
|
|
'//lib/jgit:jgit',
|
|
'//lib/jgit:junit',
|
|
'//lib/joda:joda-time',
|
|
],
|
|
source_under_test = [':server'],
|
|
)
|
|
|
|
java_test(
|
|
name = 'server_tests',
|
|
labels = ['server'],
|
|
srcs = glob(
|
|
['src/test/java/**/*.java'],
|
|
excludes = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS
|
|
),
|
|
deps = [
|
|
':server',
|
|
':testutil',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-reviewdb:server',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib:args4j',
|
|
'//lib:grappa',
|
|
'//lib:guava',
|
|
'//lib:gwtorm',
|
|
'//lib:junit',
|
|
'//lib:truth',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/jgit:jgit',
|
|
'//lib/jgit:junit',
|
|
'//lib/joda:joda-time',
|
|
'//lib/prolog:prolog-cafe',
|
|
],
|
|
source_under_test = [':server'],
|
|
visibility = ['//tools/eclipse:classpath'],
|
|
)
|