| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--org.apache.tools.ant.ProjectComponent
        |
        +--org.apache.tools.ant.Task
              |
              +--org.apache.tools.ant.taskdefs.optional.scm.AntStarTeamCheckOut
Checks out files from a specific StarTeam server, project, view, and
 folder.
 
 This program logs in to a StarTeam server and opens up the specified
 project and view.  Then, it searches through that view for the given
 folder (or, if you prefer, it uses the root folder).  Beginning with
 that folder and optionally continuing recursivesly, AntStarTeamCheckOut
 compares each file with your include and exclude filters and checks it
 out only if appropriate.
 
 Checked out files go to a directory you specify under the subfolder
 named for the default StarTeam path to the view.  That is, if you
 entered /home/cpovirk/work as the target folder, your project was named
 "OurProject," the given view was named "TestView," and that view is
 stored by default at "C:\projects\Test," your files would be checked
 out to /home/cpovirk/work/Test."  I avoided using the project name in
 the path because you may want to keep several versions of the same
 project on your computer, and I didn't want to use the view name, as
 there may be many "Test" or "Version 1.0" views, for example.  This
 system's success, of course, depends on what you set the default path
 to in StarTeam.
 
 You can set AntStarTeamCheckOut to verbose or quiet mode.  Also, it has
 a safeguard against overwriting the files on your computer:  If the
 target directory you specify already exists, the program will throw a
 BuildException.  To override the exception, set force to
 true.
 
 This program makes use of functions from the StarTeam API.  As a result
 AntStarTeamCheckOut is available only to licensed users of StarTeam and
 requires the StarTeam SDK to function.  You must have
 starteam-sdk.jar in your classpath to run this program.
 For more information about the StarTeam API and how to license it, see
 the link below.
| Field Summary | |
| static java.lang.String | DEFAULT_EXCLUDESETTINGThis disables the exclude filter by default. | 
| static java.lang.String | DEFAULT_FOLDERSETTINGThe default folder to search; the root folder. | 
| static java.lang.String | DEFAULT_INCLUDESETTINGThis constant sets the filter to include all files. | 
| Fields inherited from class org.apache.tools.ant.Task | 
| description, location, target, taskName, taskType, wrapper | 
| Fields inherited from class org.apache.tools.ant.ProjectComponent | 
| project | 
| Constructor Summary | |
| AntStarTeamCheckOut() | |
| Method Summary | |
| protected  void | checkParameters() | 
|  void | execute()Do the execution. | 
| protected  java.lang.String | formatForDisplay(com.starbase.starteam.Property p,
                 java.lang.Object value)Formats a property value for display to the user. | 
|  java.lang.String | getExcludes()Gets the patterns from the exclude filter. | 
|  java.lang.String | getFolderName()Gets the folderNameattribute. | 
|  boolean | getForce()Gets the forceattribute. | 
|  java.lang.String | getIncludes()Gets the patterns from the include filter. | 
|  java.lang.String | getPassword()Gets the passwordattribute. | 
| protected  com.starbase.starteam.Property | getPrimaryDescriptor(com.starbase.starteam.Type t)Get the primary descriptor of the given item type. | 
|  java.lang.String | getProjectName()Gets the projectNameattribute. | 
|  boolean | getRecursion()Gets the recursionattribute, which tells
 AntStarTeamCheckOut whether to search subfolders when checking out
 files. | 
| protected  com.starbase.starteam.Property | getSecondaryDescriptor(com.starbase.starteam.Type t)Get the secondary descriptor of the given item type. | 
| protected  com.starbase.starteam.Server | getServer()Creates and logs in to a StarTeam server. | 
|  java.lang.String | getServerName()Gets the serverNameattribute. | 
|  int | getServerPort()Gets the serverPortattribute. | 
|  java.lang.String | getTargetFolder()Gets the targetFolderattribute. | 
|  boolean | getTargetFolderAbsolute()returns whether the StarTeam default path is factored into calculated target path locations (false) or whether targetFolder is an absolute mapping to the root folder named by folderName | 
|  java.lang.String | getUsername()Gets the usernameattribute. | 
|  boolean | getVerbose()Gets the verboseattribute. | 
|  java.lang.String | getViewName()Gets the viewNameattribute. | 
| protected  boolean | matchPatterns(java.lang.String patterns,
              java.lang.String pName)Convenient method to see if a string match a one pattern in given set of space-separated patterns. | 
| protected  void | runFolder(com.starbase.starteam.Server s,
          com.starbase.starteam.Project p,
          com.starbase.starteam.View v,
          com.starbase.starteam.Type t,
          com.starbase.starteam.Folder f,
          java.io.File tgt)Searches for files in the given folder. | 
| protected  void | runItem(com.starbase.starteam.Server s,
        com.starbase.starteam.Project p,
        com.starbase.starteam.View v,
        com.starbase.starteam.Type t,
        com.starbase.starteam.Folder f,
        com.starbase.starteam.Item item,
        java.io.File tgt)Check out one file if it matches the include filter but not the exclude filter. | 
| protected  void | runProject(com.starbase.starteam.Server s,
           com.starbase.starteam.Project p)Searches for the given view in the project. | 
| protected  void | runServer(com.starbase.starteam.Server s)Searches for the specified project on the server. | 
| protected  void | runType(com.starbase.starteam.Server s,
        com.starbase.starteam.Project p,
        com.starbase.starteam.View v,
        com.starbase.starteam.Type t)Searches for folders in the given view. | 
|  void | setExcludes(java.lang.String excludes)Sets the exclude filter. | 
|  void | setFolderName(java.lang.String folderName)Sets the folderNameattribute to the given value. | 
|  void | setForce(boolean force)Sets the forceattribute to the given value. | 
|  void | setIncludes(java.lang.String includes)Sets the include filter. | 
|  void | setPassword(java.lang.String password)Sets the passwordattribute to the given value. | 
|  void | setProjectName(java.lang.String projectName)Sets the projectNameattribute to the given value. | 
|  void | setRecursion(boolean recursion)Turns recursion on or off. | 
|  void | setServerName(java.lang.String serverName)Sets the serverNameattribute to the given value. | 
|  void | setServerPort(int serverPort)Sets the serverPortattribute to the given value. | 
|  void | setTargetFolder(java.lang.String targetFolder)Sets the targetFolderattribute to the given value. | 
|  void | setTargetFolderAbsolute(boolean targetFolderAbsolute)sets the property that indicates whether or not the Star Team "default folder" is to be used when calculation paths for items on the target (false) or if targetFolder is an absolute mapping to the root folder named by foldername. | 
|  void | setUsername(java.lang.String username)Sets the usernameattribute to the given value. | 
|  void | setVerbose(boolean verbose)Sets the verboseattribute to the given value. | 
|  void | setViewName(java.lang.String viewName)Sets the viewNameattribute to the given value. | 
| protected  boolean | shouldCheckout(java.lang.String pName)Look if the file should be checked out. | 
| Methods inherited from class org.apache.tools.ant.Task | 
| getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType | 
| Methods inherited from class org.apache.tools.ant.ProjectComponent | 
| getProject, setProject | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
public static final java.lang.String DEFAULT_INCLUDESETTING
setIncludes("*").
getIncludes(), 
setIncludes(String includes), 
Constant Field Valuespublic static final java.lang.String DEFAULT_EXCLUDESETTING
setExcludes(null)
 .
getExcludes(), 
setExcludes(String excludes)public static final java.lang.String DEFAULT_FOLDERSETTING
getFolderName(), 
setFolderName(String folderName)| Constructor Detail | 
public AntStarTeamCheckOut()
| Method Detail | 
protected void checkParameters()
                        throws BuildException
BuildException
public void execute()
             throws BuildException
execute in class TaskBuildExceptionprotected com.starbase.starteam.Server getServer()
protected void runServer(com.starbase.starteam.Server s)
s - A StarTeam server.
protected void runProject(com.starbase.starteam.Server s,
                          com.starbase.starteam.Project p)
s - A StarTeam server.p - A valid project on the given server.
protected void runType(com.starbase.starteam.Server s,
                       com.starbase.starteam.Project p,
                       com.starbase.starteam.View v,
                       com.starbase.starteam.Type t)
s - A StarTeam server.p - A valid project on the server.v - A view name from the specified project.t - An item type which is currently always "file".
protected void runFolder(com.starbase.starteam.Server s,
                         com.starbase.starteam.Project p,
                         com.starbase.starteam.View v,
                         com.starbase.starteam.Type t,
                         com.starbase.starteam.Folder f,
                         java.io.File tgt)
s - A StarTeam server.p - A valid project on the server.v - A view name from the specified project.t - An item type which is currently always "file".f - The folder to search.tgt - Target folder on local machine
protected void runItem(com.starbase.starteam.Server s,
                       com.starbase.starteam.Project p,
                       com.starbase.starteam.View v,
                       com.starbase.starteam.Type t,
                       com.starbase.starteam.Folder f,
                       com.starbase.starteam.Item item,
                       java.io.File tgt)
s - A StarTeam server.p - A valid project on the server.v - A view name from the specified project.t - An item type which is currently always "file".f - The folder the file is localed in.item - The file to check out.tgt - target folder on local machineprotected boolean shouldCheckout(java.lang.String pName)
pName - the item name to look for being included.
protected boolean matchPatterns(java.lang.String patterns,
                                java.lang.String pName)
patterns - the space-separated list of patterns.pName - the name to look for matching.
protected com.starbase.starteam.Property getPrimaryDescriptor(com.starbase.starteam.Type t)
t - An item type. At this point it will always be "file".
protected com.starbase.starteam.Property getSecondaryDescriptor(com.starbase.starteam.Type t)
t - An item type. At this point it will always be "file".
protected java.lang.String formatForDisplay(com.starbase.starteam.Property p,
                                            java.lang.Object value)
p - An item property to format.value - 
public void setServerName(java.lang.String serverName)
serverName attribute to the given value.
serverName - The name of the server you wish to connect to.getServerName()public java.lang.String getServerName()
serverName attribute.
setServerName(String serverName)public void setServerPort(int serverPort)
serverPort attribute to the given value. The
 given value must be a valid integer, but it must be a string object.
serverPort - A string containing the port on the StarTeam server
      to use.getServerPort()public int getServerPort()
serverPort attribute.
setServerPort(int)public void setProjectName(java.lang.String projectName)
projectName attribute to the given value.
projectName - The StarTeam project to search.getProjectName()public java.lang.String getProjectName()
projectName attribute.
setProjectName(String projectName)public void setViewName(java.lang.String viewName)
viewName attribute to the given value.
viewName - The view to find the specified folder in.getViewName()public java.lang.String getViewName()
viewName attribute.
setViewName(String viewName)public void setFolderName(java.lang.String folderName)
folderName attribute to the given value. To
 search the root folder, use a slash or backslash, or simply don't set a
 folder at all.
folderName - The subfolder from which to check out files.getFolderName()public java.lang.String getFolderName()
folderName attribute.
setFolderName(String folderName)public void setUsername(java.lang.String username)
username attribute to the given value.
username - Your username for the specified StarTeam server.getUsername()public java.lang.String getUsername()
username attribute.
setUsername(String username)public void setPassword(java.lang.String password)
password attribute to the given value.
password - Your password for the specified StarTeam server.getPassword()public java.lang.String getPassword()
password attribute.
setPassword(String password)public void setTargetFolder(java.lang.String targetFolder)
targetFolder attribute to the given value.
targetFolder - The target path on the local machine to check out to.getTargetFolder()public java.lang.String getTargetFolder()
targetFolder attribute.
setTargetFolder(String targetFolder)public void setForce(boolean force)
force attribute to the given value.
force - if true, it overwrites files in the target directory. By
      default it set to false as a safeguard. Note that if the target
      directory does not exist, this setting has no effect.getForce()public boolean getForce()
force attribute.
setForce(boolean)public void setRecursion(boolean recursion)
recursion - if it is true, the default, subfolders are searched
      recursively for files to check out. Otherwise, only files
      specified by folderName are scanned.getRecursion()public boolean getRecursion()
recursion attribute, which tells
 AntStarTeamCheckOut whether to search subfolders when checking out
 files.
setRecursion(boolean)public void setVerbose(boolean verbose)
verbose attribute to the given value.
verbose - whether to display all files as it checks them out. By
      default it is false, so the program only displays the total number
      of files unless you override this default.getVerbose()public boolean getVerbose()
verbose attribute.
setVerbose(boolean verbose)public void setIncludes(java.lang.String includes)
DirectoryScanner's match
 method, so here are the patterns straight from the Ant source code:
 setIncludes("*.java *.class");
 Finally, note that filters have no effect on the directories
 that are scanned; you could not check out files from directories with
 names beginning only with "build," for instance. Of course, you could
 limit AntStarTeamCheckOut to a particular folder and its subfolders
 with the setFolderName(String folderName) command. 
includes - A string of filter patterns to include. Separate the
      patterns by spaces.getIncludes(), 
setExcludes(String excludes), 
getExcludes()public java.lang.String getIncludes()
setIncludes(String includes), 
setExcludes(String excludes), 
getExcludes()public void setExcludes(java.lang.String excludes)
DirectoryScanner's match
 method, so here are the patterns straight from the Ant source code:
 setExcludes("*.XML *.HTML");
 Finally, note that filters have no effect on the directories
 that are scanned; you could not skip over all files in directories
 whose names begin with "project," for instance. 
excludes - A string of filter patterns to exclude. Separate the
      patterns by spaces.setIncludes(String includes), 
getIncludes(), 
getExcludes()public java.lang.String getExcludes()
setExcludes(String excludes), 
setIncludes(String includes), 
getIncludes()public boolean getTargetFolderAbsolute()
setTargetFolderAbsolute(boolean)public void setTargetFolderAbsolute(boolean targetFolderAbsolute)
targetFolderAbsolute - true if the absolute mapping is to
      be used. false (the default) if the "default folder" is
      to be factored in.getTargetFolderAbsolute()| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||