Merge "Add init step for installing the 'Verified' label"
This commit is contained in:
commit
d7ec6703e7
@ -93,7 +93,16 @@ public class AllProjectsConfig extends VersionedMetaData {
|
||||
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 {
|
||||
save(new PersonIdent(pluginName, pluginName + "@gerrit"),
|
||||
"Update from plugin " + pluginName + ": " + message);
|
||||
}
|
||||
|
||||
private void save(PersonIdent ident, String msg) throws IOException {
|
||||
File path = getPath();
|
||||
if (path == null) {
|
||||
throw new IOException("All-Projects does not exist.");
|
||||
@ -115,8 +124,6 @@ public class AllProjectsConfig extends VersionedMetaData {
|
||||
return;
|
||||
}
|
||||
|
||||
PersonIdent ident = new PersonIdent(pluginName, pluginName + "@gerrit");
|
||||
String msg = "Update from plugin " + pluginName + ": " + message;
|
||||
CommitBuilder commit = new CommitBuilder();
|
||||
commit.setAuthor(ident);
|
||||
commit.setCommitter(ident);
|
||||
|
@ -0,0 +1,62 @@
|
||||
// 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;
|
||||
|
||||
private boolean installVerified;
|
||||
|
||||
@Inject
|
||||
InitLabels(ConsoleUI ui, AllProjectsConfig allProjectsConfig) {
|
||||
this.ui = ui;
|
||||
this.allProjectsConfig = allProjectsConfig;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() throws Exception {
|
||||
Config cfg = allProjectsConfig.load();
|
||||
if (cfg == null || !cfg.getSubsections(KEY_LABEL).contains(LABEL_VERIFIED)) {
|
||||
ui.header("Review Labels");
|
||||
installVerified = ui.yesno(false, "Install Verified label");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postRun() throws Exception {
|
||||
Config cfg = allProjectsConfig.load();
|
||||
if (installVerified) {
|
||||
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("Configure 'Verified' label");
|
||||
}
|
||||
}
|
||||
}
|
@ -48,6 +48,7 @@ public class InitModule extends FactoryModule {
|
||||
}
|
||||
step().to(InitIndex.class);
|
||||
step().to(InitAuth.class);
|
||||
step().to(InitLabels.class);
|
||||
step().to(InitSendEmail.class);
|
||||
if (standalone) {
|
||||
step().to(InitContainer.class);
|
||||
|
Loading…
x
Reference in New Issue
Block a user