Add init step for installing the 'Verified' label
Change-Id: Ia2a50ebe5719e54588db8652e4fb22ae658ae4da Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
		@@ -84,7 +84,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 {
 | 
			
		||||
    Repository repo = new FileRepository(path);
 | 
			
		||||
    try {
 | 
			
		||||
      inserter = repo.newObjectInserter();
 | 
			
		||||
@@ -101,8 +110,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,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(InitAuth.class);
 | 
			
		||||
    step().to(InitLabels.class);
 | 
			
		||||
    step().to(InitSendEmail.class);
 | 
			
		||||
    if (standalone) {
 | 
			
		||||
      step().to(InitContainer.class);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user