diff --git a/.gitignore b/.gitignore
index a8b1b96..660ffeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,6 @@
 .project
 .settings
 target
+/.buckd
+/buck-cache
+/buck-out
diff --git a/BUCK b/BUCK
index 1d6a76d..a770d7d 100644
--- a/BUCK
+++ b/BUCK
@@ -2,4 +2,7 @@
   name = 'commit-message-length-validator',
   srcs = glob(['src/main/java/**/*.java']),
   resources = glob(['src/main/resources/**/*']),
+  manifest_entries = [
+    'Gerrit-PluginName: commit-message-length-validator',
+  ],
 )
diff --git a/src/main/java/com/googlesource/gerrit/plugins/validators/CommitMessageLengthValidation.java b/src/main/java/com/googlesource/gerrit/plugins/validators/CommitMessageLengthValidation.java
index ac844a2..96dd89e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/validators/CommitMessageLengthValidation.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/validators/CommitMessageLengthValidation.java
@@ -13,15 +13,6 @@
 // limitations under the License.
 package com.googlesource.gerrit.plugins.validators;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.eclipse.jgit.lib.AbbreviatedObjectId;
-import org.eclipse.jgit.lib.Config;
-import org.eclipse.jgit.revwalk.RevCommit;
-
 import com.google.gerrit.extensions.annotations.Listen;
 import com.google.gerrit.server.config.GerritServerConfig;
 import com.google.gerrit.server.events.CommitReceivedEvent;
@@ -31,6 +22,13 @@
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
+import org.eclipse.jgit.lib.AbbreviatedObjectId;
+import org.eclipse.jgit.lib.Config;
+import org.eclipse.jgit.revwalk.RevCommit;
+
+import java.util.ArrayList;
+import java.util.List;
+
 @Listen
 @Singleton
 public class CommitMessageLengthValidation implements CommitValidationListener {
@@ -52,7 +50,7 @@
 
   @Inject
   public CommitMessageLengthValidation(@GerritServerConfig Config gerritConfig)
-      throws ConfigInvalidException, IOException {
+      {
     this.config = gerritConfig;
     this.maxSubjectLength = nonNegativeInt(
         MAX_SUBJECT_LENGTH_KEY, DEFAULT_MAX_SUBJECT_LENGTH);
@@ -86,7 +84,7 @@
       throws CommitValidationException {
     final RevCommit commit = receiveEvent.commit;
     final AbbreviatedObjectId id = commit.abbreviate(7);
-    List<CommitValidationMessage> messages = new ArrayList<CommitValidationMessage>();
+    List<CommitValidationMessage> messages = new ArrayList<>();
 
     if (this.maxSubjectLength < commit.getShortMessage().length()) {
       onLineTooLong(id, messages,
