Merge "Add init step for installing the 'Verified' label"
This commit is contained in:
@@ -84,7 +84,16 @@ public class AllProjectsConfig extends VersionedMetaData {
|
|||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void save(String message) throws IOException {
|
||||||
|
save(new PersonIdent("Gerrit Initialization", "init@gerrit"), message);
|
||||||
|
}
|
||||||
|
|
||||||
public void save(String pluginName, String message) throws IOException {
|
public void save(String pluginName, String message) throws IOException {
|
||||||
|
save(new PersonIdent(pluginName, pluginName + "@gerrit"),
|
||||||
|
"Update from plugin " + pluginName + ": " + message);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void save(PersonIdent ident, String msg) throws IOException {
|
||||||
Repository repo = new FileRepository(path);
|
Repository repo = new FileRepository(path);
|
||||||
try {
|
try {
|
||||||
inserter = repo.newObjectInserter();
|
inserter = repo.newObjectInserter();
|
||||||
@@ -101,8 +110,6 @@ public class AllProjectsConfig extends VersionedMetaData {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PersonIdent ident = new PersonIdent(pluginName, pluginName + "@gerrit");
|
|
||||||
String msg = "Update from plugin " + pluginName + ": " + message;
|
|
||||||
CommitBuilder commit = new CommitBuilder();
|
CommitBuilder commit = new CommitBuilder();
|
||||||
commit.setAuthor(ident);
|
commit.setAuthor(ident);
|
||||||
commit.setCommitter(ident);
|
commit.setCommitter(ident);
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
// Copyright (C) 2013 The Android Open Source Project
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package com.google.gerrit.pgm.init;
|
||||||
|
|
||||||
|
import com.google.gerrit.pgm.util.ConsoleUI;
|
||||||
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
|
import org.eclipse.jgit.lib.Config;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
public class InitLabels implements InitStep {
|
||||||
|
private static final String KEY_LABEL = "label";
|
||||||
|
private static final String KEY_FUNCTION = "function";
|
||||||
|
private static final String KEY_VALUE = "value";
|
||||||
|
private static final String LABEL_VERIFIED = "Verified";
|
||||||
|
|
||||||
|
private final ConsoleUI ui;
|
||||||
|
private final AllProjectsConfig allProjectsConfig;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
InitLabels(ConsoleUI ui, AllProjectsConfig allProjectsConfig) {
|
||||||
|
this.ui = ui;
|
||||||
|
this.allProjectsConfig = allProjectsConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() throws Exception {
|
||||||
|
Config cfg = allProjectsConfig.load();
|
||||||
|
if (!cfg.getSubsections(KEY_LABEL).contains(LABEL_VERIFIED)) {
|
||||||
|
ui.header("Review Labels");
|
||||||
|
boolean enabled = ui.yesno(false, "Install Verified label");
|
||||||
|
if (enabled) {
|
||||||
|
cfg.setString(KEY_LABEL, LABEL_VERIFIED, KEY_FUNCTION, "MaxWithBlock");
|
||||||
|
cfg.setStringList(KEY_LABEL, LABEL_VERIFIED, KEY_VALUE,
|
||||||
|
Arrays.asList(new String[] {"-1 Fails", " 0 No score", "+1 Verified"}));
|
||||||
|
allProjectsConfig.save("Review Label Initialization");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -48,6 +48,7 @@ public class InitModule extends FactoryModule {
|
|||||||
}
|
}
|
||||||
step().to(InitIndex.class);
|
step().to(InitIndex.class);
|
||||||
step().to(InitAuth.class);
|
step().to(InitAuth.class);
|
||||||
|
step().to(InitLabels.class);
|
||||||
step().to(InitSendEmail.class);
|
step().to(InitSendEmail.class);
|
||||||
if (standalone) {
|
if (standalone) {
|
||||||
step().to(InitContainer.class);
|
step().to(InitContainer.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user