947b5e53ac
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
60 lines
1.7 KiB
XML
60 lines
1.7 KiB
XML
<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>
|