Expose acceptance test framework as new plugin artifact
Split the current gerrit-acceptance-tests in two parts:
* framework + some needed deps, that is exposed as additional plugin
artifact
* rest of the gerrit-acceptance-test project
To implement the split and not to pull in too many dependencies, some
refactoring was needed. Particularly, gerrit-server:testutil depends
on gerrit-server:server, that depends on almost everything. Similar
problem was with gerrit-pgm:pgm, that is needed for AbstractDaemonTest
to work. Split the rules in gerrit-pgm to break transitive dependency
chain. We shouldn't ship artifacts twice, in plugin-api and in
acceptance-framework.
This change also partially reverts Ie9e63de622, where
//gerrit-acceptance-tests:lib with all its transitive dependencies was
included in plugin-api artifact.
Expose gerrit-acceptance-framework as new plugin artifact. This allows
us to support unit tests in plugins in three different build modes:
* Buck in tree build mode
* Buck standalone build mode
* Maven build
To install gerrit-acceptance-framework locally, the following command
is used:
buck build api_install
To deploy gerrit-acceptance-framework to Maven Central, the following
command is used:
buck build api_deploy
To support unit tests in tree build mode, the following Buck variable
is exposed: GERRIT_TESTS and can be used, e.g.:
java_test(
name = 'cookbook_tests',
srcs = glob(['src/test/java/**/*IT.java']),
labels = ['cookbook-plugin'],
source_under_test = [':cookbook-plugin__plugin'],
deps = GERRIT_PLUGIN_API + GERRIT_TESTS + [
':cookbook-plugin__plugin',
],
)
To support unit tests in standalone build mode, acceptance-framework
maven jar is defined in lib/gerrit/BUCK file:
maven_jar(
name = 'acceptance-framework',
id = 'com.google.gerrit:gerrit-acceptance-framework:' + VER,
license = 'Apache2.0',
attach_source = False,
repository = REPO,
)
bucklets/gerrit_plugin.bucklet is extended with the same variable
that points to the new maven_jar artifact, so that the same Buck
java_test() rule can be used in both modes.
Test plan:
1. run tests in gerrit tree
2. apply corresponding change to cookbook-plugin and run tests in
gerrit tree mode
3. apply corresponding change to bucklets, and run tests for
cookbook-plugin in standalone build mode
Change-Id: I4cadf6616de36ca24712f8b07d282b7a50911105
diff --git a/BUCK b/BUCK
index a73d347..4136794 100644
--- a/BUCK
+++ b/BUCK
@@ -9,6 +9,9 @@
gerrit_war(name = 'release', ui = 'ui_optdbg_r', docs = True, context = ['//plugins:core'], visibility = ['//tools/maven:'])
API_DEPS = [
+ '//gerrit-acceptance-framework:api',
+ '//gerrit-acceptance-framework:src',
+ '//gerrit-acceptance-framework:javadoc',
'//gerrit-extension-api:extension-api',
'//gerrit-extension-api:extension-api-src',
'//gerrit-extension-api:extension-api-javadoc',
diff --git a/bucklets/gerrit_plugin.bucklet b/bucklets/gerrit_plugin.bucklet
index ae7e1a2..cd2edae 100644
--- a/bucklets/gerrit_plugin.bucklet
+++ b/bucklets/gerrit_plugin.bucklet
@@ -14,7 +14,8 @@
# When compiling from standalone cookbook-plugin, bucklets directory points
# to cloned bucklets library that includes real gerrit_plugin.bucklet code.
-GERRIT_PLUGIN_API = ['//gerrit-plugin-api:lib']
GERRIT_GWT_API = ['//gerrit-plugin-gwtui/gerrit:gwtui-api']
+GERRIT_PLUGIN_API = ['//gerrit-plugin-api:lib']
+GERRIT_TESTS = ['//gerrit-acceptance-framework:lib']
STANDALONE_MODE = False
diff --git a/gerrit-acceptance-framework/BUCK b/gerrit-acceptance-framework/BUCK
new file mode 100644
index 0000000..f501d40
--- /dev/null
+++ b/gerrit-acceptance-framework/BUCK
@@ -0,0 +1,77 @@
+SRCS = glob(['src/test/java/com/google/gerrit/acceptance/*.java'])
+
+DEPS = [
+ '//gerrit-gpg:gpg',
+ '//gerrit-pgm:daemon',
+ '//gerrit-pgm:util-nodep',
+ '//gerrit-server:testutil',
+ '//lib/auto:auto-value',
+ '//lib/httpcomponents:fluent-hc',
+ '//lib/httpcomponents:httpclient',
+ '//lib/httpcomponents:httpcore',
+ '//lib/jgit:junit',
+ '//lib/log:impl_log4j',
+ '//lib/log:log4j',
+]
+
+PROVIDED = [
+ '//gerrit-common:annotations',
+ '//gerrit-common:server',
+ '//gerrit-extension-api:api',
+ '//gerrit-httpd:httpd',
+ '//gerrit-lucene:lucene',
+ '//gerrit-pgm:init',
+ '//gerrit-reviewdb:server',
+ '//gerrit-server:server',
+ '//lib:gson',
+ '//lib/jgit:jgit',
+ '//lib:jsch',
+ '//lib/mina:sshd',
+ '//lib:servlet-api-3_1',
+]
+
+java_binary(
+ name = 'api',
+ deps = [':lib'],
+ visibility = ['PUBLIC'],
+)
+
+java_library(
+ name = 'lib',
+ srcs = SRCS,
+ exported_deps = DEPS + [
+ '//lib:truth',
+ ],
+ provided_deps = PROVIDED + [
+ '//lib:gwtorm',
+ '//lib/guice:guice',
+ '//lib/guice:guice-assistedinject',
+ '//lib/guice:guice-servlet',
+ ],
+ visibility = ['PUBLIC'],
+)
+
+java_sources(
+ name = 'src',
+ srcs = SRCS,
+ visibility = ['PUBLIC'],
+)
+
+java_doc(
+ name = 'javadoc',
+ title = 'Gerrit Acceptance Test Framework Documentation',
+ pkgs = [' com.google.gerrit.acceptance'],
+ paths = ['src/test/java'],
+ srcs = SRCS,
+ deps = DEPS + PROVIDED + [
+ '//lib:guava',
+ '//lib/guice:guice-assistedinject',
+ '//lib/guice:guice_library',
+ '//lib/guice:guice-servlet',
+ '//lib/guice:javax-inject',
+ '//lib:gwtorm_client',
+ '//lib:junit__jar',
+ '//lib:truth__jar',
+ ],
+ visibility = ['PUBLIC'],
+)
diff --git a/gerrit-acceptance-framework/pom.xml b/gerrit-acceptance-framework/pom.xml
new file mode 100644
index 0000000..ca1ecd9
--- /dev/null
+++ b/gerrit-acceptance-framework/pom.xml
@@ -0,0 +1,59 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.google.gerrit</groupId>
+ <artifactId>gerrit-acceptance-framework</artifactId>
+ <version>2.12-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>Gerrit Code Review - Acceptance Test Framework</name>
+ <description>API for Gerrit Plugins</description>
+ <url>https://www.gerritcodereview.com/</url>
+
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <scm>
+ <url>https://gerrit.googlesource.com/gerrit</url>
+ <connection>https://gerrit.googlesource.com/gerrit</connection>
+ </scm>
+
+ <developers>
+ <developer>
+ <name>Dave Borowitz</name>
+ </developer>
+ <developer>
+ <name>David Pursehouse</name>
+ </developer>
+ <developer>
+ <name>Edwin Kempin</name>
+ </developer>
+ <developer>
+ <name>Martin Fick</name>
+ </developer>
+ <developer>
+ <name>Saša Živkov</name>
+ </developer>
+ <developer>
+ <name>Shawn Pearce</name>
+ </developer>
+ </developers>
+
+ <mailingLists>
+ <mailingList>
+ <name>Repo and Gerrit Discussion</name>
+ <post>repo-discuss@googlegroups.com</post>
+ <subscribe>https://groups.google.com/forum/#!forum/repo-discuss</subscribe>
+ <unsubscribe>https://groups.google.com/forum/#!forum/repo-discuss</unsubscribe>
+ <archive>https://groups.google.com/forum/#!forum/repo-discuss</archive>
+ </mailingList>
+ </mailingLists>
+
+ <issueManagement>
+ <url>http://code.google.com/p/gerrit/issues/list</url>
+ <system>Google Code Issue Tracker</system>
+ </issueManagement>
+</project>
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AcceptanceTestRequestScope.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AccountCreator.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AccountCreator.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/AccountCreator.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/AccountCreator.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ConfigAnnotationParser.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/ConfigAnnotationParser.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ConfigAnnotationParser.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/ConfigAnnotationParser.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GcAssert.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GcAssert.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GcAssert.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GcAssert.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritConfig.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfig.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritConfigs.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfigs.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritConfigs.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritConfigs.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritServer.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GerritServer.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GerritServer.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GitUtil.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/GitUtil.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/GitUtil.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/HttpResponse.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpSession.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/HttpSession.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/HttpSession.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/HttpSession.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/InMemoryTestingDatabaseModule.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/InMemoryTestingDatabaseModule.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/InMemoryTestingDatabaseModule.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/InMemoryTestingDatabaseModule.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/InProcessProtocol.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/InProcessProtocol.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/InProcessProtocol.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/InProcessProtocol.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/MergeableFileBasedConfig.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/MergeableFileBasedConfig.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/MergeableFileBasedConfig.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/MergeableFileBasedConfig.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/NoHttpd.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/NoHttpd.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/NoHttpd.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/NoHttpd.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PluginDaemonTest.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/PluginDaemonTest.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PluginDaemonTest.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/PluginDaemonTest.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/PushOneCommit.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestResponse.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/RestResponse.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestResponse.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/RestResponse.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/RestSession.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/RestSession.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/RestSession.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/SshSession.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/SshSession.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/SshSession.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/SshSession.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/TestAccount.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/TestAccount.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/TestAccount.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/TestAccount.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/TestProjectInput.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/TestProjectInput.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/TestProjectInput.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/TestProjectInput.java
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/UseLocalDisk.java b/gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/UseLocalDisk.java
similarity index 100%
rename from gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/UseLocalDisk.java
rename to gerrit-acceptance-framework/src/test/java/com/google/gerrit/acceptance/UseLocalDisk.java
diff --git a/gerrit-acceptance-tests/BUCK b/gerrit-acceptance-tests/BUCK
index 3adab73..0a39ea7 100644
--- a/gerrit-acceptance-tests/BUCK
+++ b/gerrit-acceptance-tests/BUCK
@@ -2,10 +2,10 @@
name = 'lib',
srcs = glob(['src/test/java/com/google/gerrit/acceptance/*.java']),
exported_deps = [
+ '//gerrit-acceptance-framework:lib',
'//gerrit-common:annotations',
'//gerrit-common:server',
'//gerrit-extension-api:api',
- '//gerrit-gpg:gpg',
'//gerrit-gpg:testutil',
'//gerrit-launcher:launcher',
'//gerrit-lucene:lucene',
@@ -15,8 +15,8 @@
'//gerrit-pgm:util',
'//gerrit-reviewdb:server',
'//gerrit-server:server',
- '//gerrit-server/src/main/prolog:common',
'//gerrit-server:testutil',
+ '//gerrit-server/src/main/prolog:common',
'//gerrit-sshd:sshd',
'//lib:args4j',
@@ -26,21 +26,13 @@
'//lib:h2',
'//lib:jsch',
'//lib:servlet-api-3_1',
- '//lib:truth',
- '//lib/auto:auto-value',
'//lib/bouncycastle:bcpg',
'//lib/bouncycastle:bcprov',
'//lib/guice:guice',
'//lib/guice:guice-assistedinject',
'//lib/guice:guice-servlet',
- '//lib/httpcomponents:fluent-hc',
- '//lib/httpcomponents:httpclient',
- '//lib/httpcomponents:httpcore',
'//lib/jgit:jgit',
- '//lib/jgit:junit',
- '//lib/log:impl_log4j',
- '//lib/log:log4j',
'//lib/mina:sshd',
],
visibility = [
diff --git a/gerrit-gpg/BUCK b/gerrit-gpg/BUCK
index 592a5190..0b78e9a 100644
--- a/gerrit-gpg/BUCK
+++ b/gerrit-gpg/BUCK
@@ -1,22 +1,23 @@
+DEPS = [
+ '//gerrit-common:server',
+ '//gerrit-extension-api:api',
+ '//gerrit-reviewdb:server',
+ '//gerrit-server:server',
+ '//lib:guava',
+ '//lib:gwtorm',
+ '//lib/guice:guice',
+ '//lib/guice:guice-assistedinject',
+ '//lib/guice:guice-servlet',
+ '//lib/jgit:jgit',
+ '//lib/log:api',
+]
+
java_library(
name = 'gpg',
srcs = glob(['src/main/java/**/*.java']),
- deps = [
- '//gerrit-common:server',
- '//gerrit-extension-api:api',
- '//gerrit-reviewdb:server',
- '//gerrit-server:server',
- '//lib:guava',
- '//lib:gwtorm',
- '//lib/guice:guice',
- '//lib/guice:guice-assistedinject',
- '//lib/guice:guice-servlet',
- '//lib/jgit:jgit',
- '//lib/log:api',
- ],
- provided_deps = [
- '//lib/bouncycastle:bcprov',
+ provided_deps = DEPS + [
'//lib/bouncycastle:bcpg',
+ '//lib/bouncycastle:bcprov',
],
visibility = ['PUBLIC'],
)
@@ -28,12 +29,10 @@
java_library(
name = 'testutil',
srcs = TESTUTIL_SRCS,
- deps = [
+ deps = DEPS + [
':gpg',
- '//lib:guava',
'//lib/bouncycastle:bcpg',
'//lib/bouncycastle:bcprov',
- '//lib/jgit:jgit',
],
visibility = ['PUBLIC'],
)
@@ -44,20 +43,15 @@
['src/test/java/**/*.java'],
excludes = TESTUTIL_SRCS,
),
- deps = [
+ deps = DEPS + [
':gpg',
':testutil',
- '//gerrit-extension-api:api',
- '//gerrit-reviewdb:server',
- '//gerrit-server:server',
+ '//gerrit-cache-h2:cache-h2',
+ '//gerrit-lucene:lucene',
'//gerrit-server:testutil',
- '//lib:guava',
- '//lib:gwtorm',
'//lib:truth',
'//lib/bouncycastle:bcpg',
'//lib/bouncycastle:bcprov',
- '//lib/guice:guice',
- '//lib/jgit:jgit',
'//lib/jgit:junit',
],
source_under_test = [':gpg'],
diff --git a/gerrit-gwtdebug/BUCK b/gerrit-gwtdebug/BUCK
index bf05af0..3670916 100644
--- a/gerrit-gwtdebug/BUCK
+++ b/gerrit-gwtdebug/BUCK
@@ -2,6 +2,7 @@
name = 'gwtdebug',
srcs = glob(['src/main/java/**/*.java']),
deps = [
+ '//gerrit-pgm:daemon',
'//gerrit-pgm:pgm',
'//gerrit-pgm:util',
'//gerrit-util-cli:cli',
diff --git a/gerrit-pgm/BUCK b/gerrit-pgm/BUCK
index 80c37f7..e06e900 100644
--- a/gerrit-pgm/BUCK
+++ b/gerrit-pgm/BUCK
@@ -53,21 +53,24 @@
],
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',
- srcs = glob([SRCS + 'util/*.java']),
- deps = DEPS + [
- '//gerrit-cache-h2:cache-h2',
- '//gerrit-util-cli:cli',
- '//lib:args4j',
- '//lib:gwtorm',
- '//lib/commons:dbcp',
- ],
+ deps = DEPS + REST_UTIL_DEPS,
+ exported_deps = [':util-nodep'],
visibility = [
'//gerrit-acceptance-tests/...',
'//gerrit-gwtdebug:gwtdebug',
@@ -76,6 +79,15 @@
)
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 + [
@@ -90,30 +102,32 @@
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',
- srcs = glob([SRCS + '*.java', SRCS + 'rules/*.java']),
resources = glob([RSRCS + '*']),
- deps = 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',
+ deps = DEPS + REST_PGM_DEPS + [
+ ':daemon',
],
- provided_deps = ['//gerrit-launcher:launcher'],
visibility = [
'//:',
'//gerrit-acceptance-tests/...',
@@ -123,6 +137,21 @@
],
)
+# 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']),
diff --git a/gerrit-plugin-api/BUCK b/gerrit-plugin-api/BUCK
index f0f7e6e..abcacf9 100644
--- a/gerrit-plugin-api/BUCK
+++ b/gerrit-plugin-api/BUCK
@@ -20,7 +20,6 @@
java_library(
name = 'lib',
exported_deps = PLUGIN_API + [
- '//gerrit-acceptance-tests:lib',
'//gerrit-antlr:query_exception',
'//gerrit-antlr:query_parser',
'//gerrit-common:annotations',
diff --git a/gerrit-server/BUCK b/gerrit-server/BUCK
index 31a9b49..c264779 100644
--- a/gerrit-server/BUCK
+++ b/gerrit-server/BUCK
@@ -82,6 +82,26 @@
visibility = ['PUBLIC'],
)
+TESTUTIL_DEPS = [
+ ':server',
+ '//gerrit-common:server',
+ '//gerrit-cache-h2:cache-h2',
+ '//gerrit-extension-api:api',
+ '//gerrit-gpg:gpg',
+ '//gerrit-lucene:lucene',
+ '//gerrit-reviewdb:server',
+ '//lib:gwtorm',
+ '//lib:h2',
+ '//lib:truth',
+ '//lib/guice:guice',
+ '//lib/guice:guice-servlet',
+ '//lib/jgit:jgit',
+ '//lib/jgit:junit',
+ '//lib/log:api',
+ '//lib/log:impl_log4j',
+ '//lib/log:log4j',
+]
+
TESTUTIL = glob([
'src/test/java/com/google/gerrit/testutil/**/*.java',
'src/test/java/com/google/gerrit/server/project/Util.java',
@@ -90,25 +110,9 @@
name = 'testutil',
srcs = TESTUTIL,
deps = [
- ':server',
- '//gerrit-common:server',
- '//gerrit-cache-h2:cache-h2',
- '//gerrit-extension-api:api',
- '//gerrit-gpg:gpg',
- '//gerrit-lucene:lucene',
- '//gerrit-reviewdb:server',
- '//lib:gwtorm',
- '//lib:h2',
- '//lib:truth',
'//lib/auto:auto-value',
- '//lib/guice:guice',
- '//lib/guice:guice-servlet',
- '//lib/jgit:jgit',
- '//lib/jgit:junit',
- '//lib/log:api',
- '//lib/log:impl_log4j',
- '//lib/log:log4j',
],
+ provided_deps = TESTUTIL_DEPS,
exported_deps = [
'//lib/easymock:easymock',
'//lib/powermock:powermock-api-easymock',
@@ -147,19 +151,10 @@
name = 'prolog_tests',
srcs = PROLOG_TESTS,
resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
- deps = [
+ deps = TESTUTIL_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:runtime',
],
)
@@ -171,22 +166,13 @@
java_test(
name = 'query_tests',
srcs = QUERY_TESTS,
- deps = [
- ':server',
+ deps = TESTUTIL_DEPS + [
':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:gwtorm',
- '//lib:truth',
'//lib/antlr:java_runtime',
- '//lib/guice:guice',
- '//lib/jgit:jgit',
- '//lib/jgit:junit',
'//lib/joda:joda-time',
],
source_under_test = [':server'],
@@ -199,25 +185,15 @@
['src/test/java/**/*.java'],
excludes = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS
),
- deps = [
- ':server',
+ deps = TESTUTIL_DEPS + [
':testutil',
'//gerrit-antlr:query_exception',
'//gerrit-common:annotations',
- '//gerrit-common:server',
- '//gerrit-extension-api:api',
- '//gerrit-gpg:gpg',
- '//gerrit-reviewdb:server',
'//gerrit-server/src/main/prolog:common',
'//lib:args4j',
'//lib:grappa',
'//lib:guava',
- '//lib:gwtorm',
- '//lib:truth',
- '//lib/guice:guice',
'//lib/guice:guice-assistedinject',
- '//lib/jgit:jgit',
- '//lib/jgit:junit',
'//lib/joda:joda-time',
'//lib/prolog:runtime',
],
diff --git a/plugins/cookbook-plugin b/plugins/cookbook-plugin
index ec6ed89..2d25ede 160000
--- a/plugins/cookbook-plugin
+++ b/plugins/cookbook-plugin
@@ -1 +1 @@
-Subproject commit ec6ed89c47ba7223f82d9cb512926a6c5081343e
+Subproject commit 2d25edee3f9ae354d875c2591bdd44bd937125fe
diff --git a/tools/maven/BUCK b/tools/maven/BUCK
index fdc01a8..0a1fd91 100644
--- a/tools/maven/BUCK
+++ b/tools/maven/BUCK
@@ -10,16 +10,19 @@
url = URL,
version = GERRIT_VERSION,
jar = {
+ 'gerrit-acceptance-framework': '//gerrit-acceptance-framework:api',
'gerrit-extension-api': '//gerrit-extension-api:extension-api',
'gerrit-plugin-api': '//gerrit-plugin-api:plugin-api',
'gerrit-plugin-gwtui': '//gerrit-plugin-gwtui:gwtui-api',
},
src = {
+ 'gerrit-acceptance-framework': '//gerrit-acceptance-framework:src',
'gerrit-extension-api': '//gerrit-extension-api:extension-api-src',
'gerrit-plugin-api': '//gerrit-plugin-api:plugin-api-src',
'gerrit-plugin-gwtui': '//gerrit-plugin-gwtui:gwtui-api-src',
},
doc = {
+ 'gerrit-acceptance-framework': '//gerrit-acceptance-framework:javadoc',
'gerrit-extension-api': '//gerrit-extension-api:extension-api-javadoc',
'gerrit-plugin-api': '//gerrit-plugin-api:plugin-api-javadoc',
'gerrit-plugin-gwtui': '//gerrit-plugin-gwtui:gwtui-api-javadoc',
diff --git a/tools/version.py b/tools/version.py
index e2d9ead..9f03a59 100755
--- a/tools/version.py
+++ b/tools/version.py
@@ -45,10 +45,10 @@
src_pattern = re.compile(r'^(\s*<version>)([-.\w]+)(</version>\s*)$',
re.MULTILINE)
-for project in ['gerrit-extension-api', 'gerrit-plugin-api',
- 'gerrit-plugin-archetype', 'gerrit-plugin-gwt-archetype',
- 'gerrit-plugin-gwtui', 'gerrit-plugin-js-archetype',
- 'gerrit-war']:
+for project in ['gerrit-acceptance-framework', 'gerrit-extension-api',
+ 'gerrit-plugin-api', 'gerrit-plugin-archetype',
+ 'gerrit-plugin-gwt-archetype', 'gerrit-plugin-gwtui',
+ 'gerrit-plugin-js-archetype', 'gerrit-war']:
pom = os.path.join(project, 'pom.xml')
replace_in_file(pom, src_pattern)