Build gerrit-owners-autoassign plugin against gerrit 2.8
diff --git a/BUCK b/BUCK
index 0fab034..df25896 100644
--- a/BUCK
+++ b/BUCK
@@ -5,7 +5,6 @@
maven_jar(
name = 'jackson-core',
id = 'com.fasterxml.jackson.core:jackson-core:%s' % JACKSON_REV,
- #bin_sha1 = '82ad1c5f92f6dcc6291f5c46ebacb975eaa844de',
license = 'Apache2.0',
)
@@ -33,33 +32,46 @@
license = 'Apache2.0',
)
+EXTERNAL_DEPS = [
+ ':gitective-core',
+ ':jackson-core',
+ ':jackson-databind',
+ ':jackson-annotations',
+ ':jackson-dataformat-yaml',
+]
+
java_library(
- name = 'base-prolog-rules',
+ name = 'gerrit-owners-common-lib',
srcs = glob([
'gerrit-owners-common/src/main/java/**/*.java',
+ ]),
+ deps = [
+ '//:plugin-lib',
+ ] + EXTERNAL_DEPS,
+)
+
+java_library(
+ name = 'gerrit-owners-lib',
+ srcs = glob([
'gerrit-owners/src/main/java/**/*.java',
]),
deps = [
+ ':gerrit-owners-common-lib',
+ '//:plugin-lib',
'//lib/prolog:prolog-cafe',
'//gerrit-server/src/main/prolog:common',
- ':gitective-core',
- ':jackson-core',
- ':jackson-databind',
- ':jackson-annotations',
- ':jackson-dataformat-yaml',
- '//:plugin-lib',
- ],
+ ] + EXTERNAL_DEPS,
)
prolog_cafe_library(
- name = 'owners-prolog-rules',
+ name = 'gerrit-owners-prolog-rules',
srcs = glob(['gerrit-owners/src/main/prolog/*.pl']),
deps = [
'//gerrit-server/src/main/prolog:common',
- ':base-prolog-rules',
+ ':gerrit-owners-lib',
],
)
-
+
gerrit_plugin(
name = 'owners',
srcs = [],
@@ -69,6 +81,21 @@
'Gerrit-PluginName: owners',
],
deps = [
- ':owners-prolog-rules',
+ ':gerrit-owners-prolog-rules',
+ ] + EXTERNAL_DEPS,
+)
+
+gerrit_plugin(
+ name = 'owners-autoassign',
+ srcs = glob([
+ 'gerrit-owners-autoassign/src/main/java/**/*.java',
+ ]),
+ manifest_entries = [
+ 'Implementation-Title: Gerrit OWNERS autoassign plugin',
+ 'Implementation-URL: https://github.com/vadims/gerrit-owners',
+ 'Gerrit-PluginName: owners-autoassign',
],
+ deps = [
+ ':gerrit-owners-common-lib',
+ ] + EXTERNAL_DEPS,
)
diff --git a/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java b/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
index 39f07eb..d94b788 100644
--- a/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
+++ b/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/GitRefListener.java
@@ -63,7 +63,7 @@
try {
repository = repositoryManager.openRepository(Project.NameKey.parse(projectName));
try {
- processUpdates(repository, event.getUpdates());
+ processEvent(repository, event);
} finally {
repository.close();
}
@@ -72,30 +72,28 @@
}
}
- private void processUpdates(Repository repository, List<Update> updates) {
- for (Update update : updates) {
- if (update.getRefName().startsWith(CHANGES_REF)) {
- Change.Id id = Change.Id.fromRef(update.getRefName());
- try {
- Change change = db.get().changes().get(id);
- PatchList patchList = getPatchList(update, change);
- if (patchList != null) {
- PathOwners owners = new PathOwners(accountResolver, repository, patchList);
- reviewerManager.addReviewers(change, owners.get().values());
- }
- } catch (OrmException e) {
- logger.warn("Could not open change: {}", id, e);
- } catch (ReviewerManagerException e) {
- logger.warn("Could not add reviewers for change: {}", id, e);
+ private void processEvent(Repository repository, Event event) {
+ if (event.getRefName().startsWith(CHANGES_REF)) {
+ Change.Id id = Change.Id.fromRef(event.getRefName());
+ try {
+ Change change = db.get().changes().get(id);
+ PatchList patchList = getPatchList(event, change);
+ if (patchList != null) {
+ PathOwners owners = new PathOwners(accountResolver, repository, patchList);
+ reviewerManager.addReviewers(change, owners.get().values());
}
+ } catch (OrmException e) {
+ logger.warn("Could not open change: {}", id, e);
+ } catch (ReviewerManagerException e) {
+ logger.warn("Could not add reviewers for change: {}", id, e);
}
}
}
- private PatchList getPatchList(Update update, Change change) {
+ private PatchList getPatchList(Event event, Change change) {
ObjectId newId = null;
- if (update.getNewObjectId() != null) {
- newId = ObjectId.fromString(update.getNewObjectId());
+ if (event.getNewObjectId() != null) {
+ newId = ObjectId.fromString(event.getNewObjectId());
}
PatchListKey plKey = new PatchListKey(change.getProject(), null, newId, IGNORE_NONE);
diff --git a/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java b/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java
index 571d0b4..d7ba7a3 100644
--- a/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java
+++ b/gerrit-owners-autoassign/src/main/java/com/vmware/gerrit/owners/common/ReviewerManager.java
@@ -17,6 +17,7 @@
import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
+import java.io.IOException;
import java.util.Collection;
@Singleton
@@ -58,6 +59,8 @@
throw new ReviewerManagerException(e);
} catch (OrmException e) {
throw new ReviewerManagerException(e);
+ } catch (IOException e) {
+ throw new ReviewerManagerException(e);
}
}
}