jenkins.plugins.coverity.ScmOptionBlock.java Source code

Java tutorial

Introduction

Here is the source code for jenkins.plugins.coverity.ScmOptionBlock.java

Source

/*******************************************************************************
 * Copyright (c) 2017 Synopsys, Inc
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Synopsys, Inc - initial implementation and documentation
 *******************************************************************************/
package jenkins.plugins.coverity;

import hudson.Util;
import hudson.EnvVars;
import hudson.model.BuildListener;
import org.apache.commons.lang.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;

import java.io.File;
import java.util.*;

public class ScmOptionBlock {

    private final String scmSystem;
    private final String customTestTool;
    private final String scmToolArguments;
    private final String scmCommandArgs;
    private final String logFileLoc;
    private final String p4Port;
    private final String accRevRepo;
    private final String scmAdditionalCmd;
    private final String fileRegex;

    @DataBoundConstructor
    public ScmOptionBlock(String scmSystem, String customTestTool, String scmToolArguments, String scmCommandArgs,
            String logFileLoc, String p4Port, String accRevRepo, String scmAdditionalCmd, String fileRegex) {

        this.scmSystem = scmSystem;
        this.customTestTool = Util.fixEmpty(customTestTool);
        this.scmToolArguments = Util.fixEmpty(scmToolArguments);
        this.scmCommandArgs = Util.fixEmpty(scmCommandArgs);
        this.logFileLoc = Util.fixEmpty(logFileLoc);
        this.p4Port = Util.fixEmpty(p4Port); // Required if perforce is selected
        this.accRevRepo = Util.fixEmpty(accRevRepo); // Required if accurev is selected
        this.scmAdditionalCmd = Util.fixEmpty(scmAdditionalCmd);
        this.fileRegex = Util.fixEmpty(fileRegex);
    }

    public String getScmSystem() {
        return scmSystem;
    }

    public String getCustomTestTool() {
        return customTestTool;
    }

    public String getScmToolArguments() {
        return scmToolArguments;
    }

    public String getScmCommandArgs() {
        return scmCommandArgs;
    }

    public String getLogFileLoc() {
        return logFileLoc;
    }

    public String getP4Port() {
        return p4Port;
    }

    public String getAccRevRepo() {
        return accRevRepo;
    }

    public String getScmAdditionalCmd() {
        return scmAdditionalCmd;
    }

    public String getFileRegex() {
        return fileRegex;
    }

    public String checkScmConfig() {
        // Checking the required fields for specific SCM systems

        String errorText = StringUtils.EMPTY;
        Boolean delim = true;
        if (this.scmSystem.equals("accurev") && this.accRevRepo == null) {
            errorText += "[SCM] Please specify AccuRev's source control repository under 'Advanced' \n";
            delim = false;
        }

        if (this.scmSystem.equals("perforce") && this.p4Port == null) {
            errorText += "[SCM] Please specify Perforce's port environment variable under 'Advanced'\n ";
            delim = false;
        }

        if (delim) {
            errorText = "Pass";
        }
        return errorText;
    }
}