hudson.plugins.mercurial
Class HgExe

java.lang.Object
  extended by hudson.plugins.mercurial.HgExe

public class HgExe
extends java.lang.Object

Encapsulates the invocation of "hg".

This reduces the amount of code in the main logic. TODO: perhaps a subtype 'Repository' with a repository location field would be good.

Author:
Kohsuke Kawaguchi

Nested Class Summary
private static class HgExe.Capability
          Capability of a particular hg invocation configuration (and location) on a specific node.
 
Field Summary
private  ArgumentListBuilder base
           
private  HgExe.Capability capability
           
private  EnvVars env
          Environment variables to invoke hg with.
 Launcher launcher
           
 TaskListener listener
           
 Node node
           
private static java.util.regex.Pattern REVISIONID_PATTERN
          Pattern that matches revision ID.
 
Constructor Summary
HgExe(MercurialSCM scm, Launcher launcher, AbstractBuild build, TaskListener listener, EnvVars env)
           
HgExe(MercurialSCM scm, Launcher launcher, Node node, TaskListener listener, EnvVars env)
           
 
Method Summary
 Launcher.ProcStarter bundle(java.util.Collection<java.lang.String> bases, java.lang.String file)
           
 Launcher.ProcStarter bundleAll(java.lang.String file)
           
 Launcher.ProcStarter cleanAll()
           
 Launcher.ProcStarter clone(java.lang.String... args)
           
 java.util.Set<java.lang.String> heads(FilePath repo, boolean useTimeout)
          Obtains the heads of the repository.
private  java.util.Set<java.lang.String> heads(FilePath repo, boolean useTimeout, boolean usingHg15Syntax)
           
 Launcher.ProcStarter init(FilePath path)
           
private  Launcher.ProcStarter l(ArgumentListBuilder args)
           
 java.lang.String popen(FilePath repository, TaskListener listener, boolean useTimeout, ArgumentListBuilder args)
          Runs the command and captures the output.
 Launcher.ProcStarter pull()
           
 Launcher.ProcStarter run(ArgumentListBuilder args)
           
 Launcher.ProcStarter run(java.lang.String... args)
          Runs arbitrary command.
private  ArgumentListBuilder seed()
           
 java.lang.String tip(FilePath repository)
          Gets the revision ID of the tip of the workspace.
 java.util.List<java.lang.String> toArgList()
           
 Launcher.ProcStarter unbundle(java.lang.String bundleFile)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

base

private final ArgumentListBuilder base

env

private final EnvVars env
Environment variables to invoke hg with.


launcher

public final Launcher launcher

node

public final Node node

listener

public final TaskListener listener

capability

private final HgExe.Capability capability

REVISIONID_PATTERN

private static final java.util.regex.Pattern REVISIONID_PATTERN
Pattern that matches revision ID.

Constructor Detail

HgExe

public HgExe(MercurialSCM scm,
             Launcher launcher,
             AbstractBuild build,
             TaskListener listener,
             EnvVars env)
      throws java.io.IOException,
             java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException

HgExe

public HgExe(MercurialSCM scm,
             Launcher launcher,
             Node node,
             TaskListener listener,
             EnvVars env)
      throws java.io.IOException,
             java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException
Method Detail

l

private Launcher.ProcStarter l(ArgumentListBuilder args)

seed

private ArgumentListBuilder seed()

pull

public Launcher.ProcStarter pull()

clone

public Launcher.ProcStarter clone(java.lang.String... args)

bundleAll

public Launcher.ProcStarter bundleAll(java.lang.String file)

bundle

public Launcher.ProcStarter bundle(java.util.Collection<java.lang.String> bases,
                                   java.lang.String file)

init

public Launcher.ProcStarter init(FilePath path)

unbundle

public Launcher.ProcStarter unbundle(java.lang.String bundleFile)

cleanAll

public Launcher.ProcStarter cleanAll()

run

public Launcher.ProcStarter run(java.lang.String... args)
Runs arbitrary command.


run

public Launcher.ProcStarter run(ArgumentListBuilder args)

heads

public java.util.Set<java.lang.String> heads(FilePath repo,
                                             boolean useTimeout)
                                      throws java.io.IOException,
                                             java.lang.InterruptedException
Obtains the heads of the repository.

Throws:
java.io.IOException
java.lang.InterruptedException

heads

private java.util.Set<java.lang.String> heads(FilePath repo,
                                              boolean useTimeout,
                                              boolean usingHg15Syntax)
                                       throws java.io.IOException,
                                              java.lang.InterruptedException
Throws:
java.io.IOException
java.lang.InterruptedException

tip

public java.lang.String tip(FilePath repository)
                     throws java.io.IOException,
                            java.lang.InterruptedException
Gets the revision ID of the tip of the workspace.

Throws:
java.io.IOException
java.lang.InterruptedException

toArgList

public java.util.List<java.lang.String> toArgList()

popen

public java.lang.String popen(FilePath repository,
                              TaskListener listener,
                              boolean useTimeout,
                              ArgumentListBuilder args)
                       throws java.io.IOException,
                              java.lang.InterruptedException
Runs the command and captures the output.

Throws:
java.io.IOException
java.lang.InterruptedException


Copyright © 2010. All Rights Reserved.