Search in sources :

Example 1 with Project

use of org.apache.maven.scm.provider.integrity.Project in project maven-scm by apache.

the class IntegrityBranchCommand method executeBranchCommand.

/**
 * {@inheritDoc}
 */
@Override
public BranchScmResult executeBranchCommand(ScmProviderRepository repository, ScmFileSet fileSet, String branchName, String message) throws ScmException {
    BranchScmResult result;
    IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
    Project siProject = iRepo.getProject();
    getLogger().info("Attempting to branch project " + siProject.getProjectName() + " using branch name '" + branchName + "'");
    try {
        Project.validateTag(branchName);
        Response res = siProject.createDevPath(branchName);
        int exitCode = res.getExitCode();
        boolean success = (exitCode == 0 ? true : false);
        ScmResult scmResult = new ScmResult(res.getCommandString(), "", "Exit Code: " + exitCode, success);
        result = new BranchScmResult(new ArrayList<ScmFile>(), scmResult);
    } catch (APIException aex) {
        ExceptionHandler eh = new ExceptionHandler(aex);
        getLogger().error("MKS API Exception: " + eh.getMessage());
        getLogger().info(eh.getCommand() + " exited with return code " + eh.getExitCode());
        result = new BranchScmResult(eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false);
    } catch (Exception e) {
        getLogger().error("Failed to checkpoint project! " + e.getMessage());
        result = new BranchScmResult("si createdevpath", e.getMessage(), "", false);
    }
    return result;
}
Also used : Response(com.mks.api.response.Response) ExceptionHandler(org.apache.maven.scm.provider.integrity.ExceptionHandler) Project(org.apache.maven.scm.provider.integrity.Project) APIException(com.mks.api.response.APIException) BranchScmResult(org.apache.maven.scm.command.branch.BranchScmResult) ScmResult(org.apache.maven.scm.ScmResult) IntegrityScmProviderRepository(org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository) ArrayList(java.util.ArrayList) BranchScmResult(org.apache.maven.scm.command.branch.BranchScmResult) ScmException(org.apache.maven.scm.ScmException) APIException(com.mks.api.response.APIException)

Example 2 with Project

use of org.apache.maven.scm.provider.integrity.Project in project maven-scm by apache.

the class IntegrityLoginCommand method executeLoginCommand.

/**
 * {@inheritDoc}
 */
@Override
public LoginScmResult executeLoginCommand(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException {
    getLogger().info("Attempting to connect with the MKS Integrity Server");
    LoginScmResult result;
    IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
    APISession api = iRepo.getAPISession();
    try {
        // First we will establish a connection to the MKS Integrity Server
        Response res = api.connect(iRepo.getHost(), iRepo.getPort(), iRepo.getUser(), iRepo.getPassword());
        int exitCode = res.getExitCode();
        boolean success = (exitCode == 0 ? true : false);
        result = new LoginScmResult(res.getCommandString(), "", "Exit Code: " + exitCode, success);
        // Next we will prepare the Project and Sandbox for the other commands
        Project siProject = new Project(api, iRepo.getConfigruationPath());
        Sandbox siSandbox = new Sandbox(api, siProject, fileSet.getBasedir().getAbsolutePath());
        iRepo.setProject(siProject);
        iRepo.setSandbox(siSandbox);
    } catch (APIException aex) {
        ExceptionHandler eh = new ExceptionHandler(aex);
        getLogger().error("MKS API Exception: " + eh.getMessage());
        getLogger().info(eh.getCommand() + " exited with return code " + eh.getExitCode());
        result = new LoginScmResult(eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false);
    }
    return result;
}
Also used : Response(com.mks.api.response.Response) ExceptionHandler(org.apache.maven.scm.provider.integrity.ExceptionHandler) Project(org.apache.maven.scm.provider.integrity.Project) APIException(com.mks.api.response.APIException) IntegrityScmProviderRepository(org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) APISession(org.apache.maven.scm.provider.integrity.APISession) Sandbox(org.apache.maven.scm.provider.integrity.Sandbox)

Example 3 with Project

use of org.apache.maven.scm.provider.integrity.Project in project maven-scm by apache.

the class IntegrityTagCommand method executeTagCommand.

/**
 * {@inheritDoc}
 */
@Override
public TagScmResult executeTagCommand(ScmProviderRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters) throws ScmException {
    getLogger().info("Attempting to checkpoint project associated with sandbox " + fileSet.getBasedir().getAbsolutePath());
    TagScmResult result;
    String message = scmTagParameters.getMessage();
    IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
    try {
        // First validate the checkpoint label string by evaluating the groovy script
        String chkptLabel = evalGroovyExpression(tagName);
        Project.validateTag(chkptLabel);
        String msg = ((null == message || message.length() == 0) ? System.getProperty("message") : message);
        // Get information about the Project
        Project siProject = iRepo.getProject();
        // Ensure this is not a build project configuration
        if (!siProject.isBuild()) {
            Response res = siProject.checkpoint(msg, chkptLabel);
            int exitCode = res.getExitCode();
            boolean success = (exitCode == 0 ? true : false);
            WorkItem wi = res.getWorkItem(siProject.getConfigurationPath());
            String chkpt = wi.getResult().getField("resultant").getItem().getId();
            getLogger().info("Successfully checkpointed project " + siProject.getConfigurationPath() + " with label '" + chkptLabel + "', new revision is " + chkpt);
            result = new TagScmResult(res.getCommandString(), wi.getResult().getMessage(), "Exit Code: " + exitCode, success);
        } else {
            getLogger().error("Cannot checkpoint a build project configuration: " + siProject.getConfigurationPath() + "!");
            result = new TagScmResult("si checkpoint", "Cannot checkpoint a build project configuration!", "", false);
        }
    } catch (CompilationFailedException cfe) {
        getLogger().error("Groovy Compilation Exception: " + cfe.getMessage());
        result = new TagScmResult("si checkpoint", cfe.getMessage(), "", false);
    } catch (APIException aex) {
        ExceptionHandler eh = new ExceptionHandler(aex);
        getLogger().error("MKS API Exception: " + eh.getMessage());
        getLogger().info(eh.getCommand() + " exited with return code " + eh.getExitCode());
        result = new TagScmResult(eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false);
    } catch (Exception e) {
        getLogger().error("Failed to checkpoint project! " + e.getMessage());
        result = new TagScmResult("si checkpoint", e.getMessage(), "", false);
    }
    return result;
}
Also used : Response(com.mks.api.response.Response) ExceptionHandler(org.apache.maven.scm.provider.integrity.ExceptionHandler) Project(org.apache.maven.scm.provider.integrity.Project) APIException(com.mks.api.response.APIException) IntegrityScmProviderRepository(org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository) CompilationFailedException(org.codehaus.groovy.control.CompilationFailedException) TagScmResult(org.apache.maven.scm.command.tag.TagScmResult) WorkItem(com.mks.api.response.WorkItem) ScmException(org.apache.maven.scm.ScmException) APIException(com.mks.api.response.APIException) CompilationFailedException(org.codehaus.groovy.control.CompilationFailedException)

Aggregations

APIException (com.mks.api.response.APIException)3 Response (com.mks.api.response.Response)3 ExceptionHandler (org.apache.maven.scm.provider.integrity.ExceptionHandler)3 Project (org.apache.maven.scm.provider.integrity.Project)3 IntegrityScmProviderRepository (org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository)3 ScmException (org.apache.maven.scm.ScmException)2 WorkItem (com.mks.api.response.WorkItem)1 ArrayList (java.util.ArrayList)1 ScmResult (org.apache.maven.scm.ScmResult)1 BranchScmResult (org.apache.maven.scm.command.branch.BranchScmResult)1 LoginScmResult (org.apache.maven.scm.command.login.LoginScmResult)1 TagScmResult (org.apache.maven.scm.command.tag.TagScmResult)1 APISession (org.apache.maven.scm.provider.integrity.APISession)1 Sandbox (org.apache.maven.scm.provider.integrity.Sandbox)1 CompilationFailedException (org.codehaus.groovy.control.CompilationFailedException)1