ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sbaill...@apache.org
Subject cvs commit: jakarta-ant/docs/manual/OptionalTasks starteam.html
Date Tue, 11 Dec 2001 21:08:23 GMT
sbailliez    01/12/11 13:08:23

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional/scm
                        AntStarTeamCheckOut.java
               docs/manual/OptionalTasks starteam.html
  Log:
  More refactoring, javadoc fixes and spellchecking.
  The task is now failing for a failed checkout.
  
  Submitted by: Steve Cohen <SteveC@ignitesports.com>
  
  Revision  Changes    Path
  1.8       +155 -164  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/scm/AntStarTeamCheckOut.java
  
  Index: AntStarTeamCheckOut.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/scm/AntStarTeamCheckOut.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AntStarTeamCheckOut.java	2001/12/07 21:51:01	1.7
  +++ AntStarTeamCheckOut.java	2001/12/11 21:08:23	1.8
  @@ -1,7 +1,7 @@
  -/* 
  +/*
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -9,7 +9,7 @@
    * are met:
    *
    * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer. 
  + *    notice, this list of conditions and the following disclaimer.
    *
    * 2. Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in
  @@ -17,15 +17,15 @@
    *    distribution.
    *
    * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:  
  - *       "This product includes software developed by the 
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowlegement may appear in the software itself,
    *    if and wherever such third-party acknowlegements normally appear.
    *
    * 4. The names "The Jakarta Project", "Ant", and "Apache Software
    *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written 
  + *    from this software without prior written permission. For written
    *    permission, please contact apache@apache.org.
    *
    * 5. Products derived from this software may not be called "Apache"
  @@ -52,9 +52,9 @@
    * <http://www.apache.org/>.
    *
    */
  -package org.apache.tools.ant.taskdefs.optional.scm; 
  - 
  +package org.apache.tools.ant.taskdefs.optional.scm;
   
  +
   import java.util.StringTokenizer;
   
   import com.starbase.starteam.Folder;
  @@ -109,16 +109,17 @@
    * @author <A HREF="mailto:chris.povirk@paytec.com">Chris Povirk</A>
    * @author <A HREF="mailto:jc.mann@paytec.com">JC Mann</A>
    * @author <A HREF="mailto:jeff.gettle@paytec.com">Jeff Gettle</A>
  + * @author <A HREF="mailto:stevec@ignitesports.com">Steve Cohen</A>
    * @version 1.0
    * @see <A HREF="http://www.starbase.com/">StarBase Web Site</A>
    */
  -public class AntStarTeamCheckOut extends org.apache.tools.ant.Task 
  +public class AntStarTeamCheckOut extends org.apache.tools.ant.Task
   {
   
       /**
        * This constant sets the filter to include all files. This default has
        * the same result as <CODE>setIncludes("*")</CODE>.
  -     * 
  +     *
        * @see #getIncludes()
        * @see #setIncludes(String includes)
        */
  @@ -128,7 +129,7 @@
        * This disables the exclude filter by default. In other words, no files
        * are excluded. This setting is equivalent to
        * <CODE>setExcludes(null)</CODE>.
  -     * 
  +     *
        * @see #getExcludes()
        * @see #setExcludes(String excludes)
        */
  @@ -138,7 +139,7 @@
        * The default folder to search; the root folder.  Since
        * AntStarTeamCheckOut searches subfolders, by default it processes an
        * entire view.
  -     * 
  +     *
        * @see #getFolderName()
        * @see #setFolderName(String folderName)
        */
  @@ -156,7 +157,7 @@
       private int checkedOut = 0;
   
       // Change these through their GET and SET methods.
  -    
  +
       /**
        * The name of the server you wish to connect to.
        */
  @@ -228,17 +229,18 @@
        * All files fitting this pattern are ignored.
        */
       private String excludes = DEFAULT_EXCLUDESETTING;
  -    
  +
       /**
        * The file delimitor on the user's system.
        */
       private String delim = Platform.getFilePathDelim();
   
       /**
  -     * whether or not to use the Starteam "default folder" when calculating
  -     * the target paths to which files are checked out.
  +     * whether to use the Starteam "default folder" when calculating
  +     * the target paths to which files are checked out (false) or
  +     * if targetFolder represents an absolute mapping to folderName.
        */
  -    private boolean usesDefaultFolder = false;
  +    private boolean targetFolderAbsolute = false;
   
   
       /** convenient method to check for conditions */
  @@ -278,7 +280,7 @@
   
       /**
        * Do the execution.
  -     * 
  +     *
        * @exception BuildException
        */
       public void execute() throws BuildException
  @@ -303,7 +305,7 @@
   
       /**
        * Creates and logs in to a StarTeam server.
  -     * 
  +     *
        * @return A StarTeam server.
        */
       protected Server getServer()
  @@ -322,7 +324,7 @@
   
       /**
        * Searches for the specified project on the server.
  -     * 
  +     *
        * @param s      A StarTeam server.
        */
       protected void runServer(Server s)
  @@ -331,7 +333,7 @@
           for (int i = 0; i < projects.length; i++)
           {
               com.starbase.starteam.Project p = projects[i];
  -            
  +
               if (p.getName().equals(getProjectName()))
               {
                   if (getVerbose())
  @@ -346,7 +348,7 @@
   
       /**
        * Searches for the given view in the project.
  -     * 
  +     *
        * @param s      A StarTeam server.
        * @param p      A valid project on the given server.
        */
  @@ -370,7 +372,7 @@
   
       /**
        * Searches for folders in the given view.
  -     * 
  +     *
        * @param s      A StarTeam server.
        * @param p      A valid project on the server.
        * @param v      A view name from the specified project.
  @@ -389,13 +391,10 @@
               else
               {
                   f = StarTeamFinder.findFolder(v.getRootFolder(), getFolderName());
  -            }
  -        }
  -
  -        if (null==f) {
  -            throw new BuildException("ERROR: " + getProjectName() + delim + getViewName()
+ delim + 
  -                                                 v.getRootFolder() + delim + getFolderName()
+ delim + 
  +		assertTrue(null != f,"ERROR: " + getProjectName() + delim + getViewName() + delim +
  +                                                 v.getRootFolder() + delim + getFolderName()
+ delim +
                                                   " does not exist.");
  +            }
           }
   
   
  @@ -436,29 +435,84 @@
           f.populateNow(t.getName(), strNames, -1);
   
           // Now, search for items in the selected folder.
  -        runFolder(s, p, v, t, f, getTargetFolder());
  +        runFolder(s, p, v, t, f, calcTargetFolder(v,f));
   
           // Free up the memory used by the cached items.
           f.discardItems(t.getName(), -1);
       }
   
       /**
  +     * returns a file object that defines the root of the local checkout tree
  +     * Depending on the value of targetFolderAbsolute, this will be either
  +     * the targetFolder exactly as set by the user or the path formed by appending
  +     * the default folder onto the specified target folder.
  +     *
  +     * @param v      view from which the file is checked out, supplies the "default folder"
  +     * @param rootSourceFolder   root folder of the checkout operation in Star Team
  +     * @return an object referencing the local file
  +     * @see getTargetFolderAbsolute()
  +     */
  +    private java.io.File calcTargetFolder(View v, Folder rootSourceFolder)
  +    {
  +	java.io.File root = new java.io.File(getTargetFolder());
  +        if (!getTargetFolderAbsolute())
  +	{
  +	    // Create a variable dir that contains the name of
  +	    // the StarTeam folder that is the root folder in this view.
  +	    // Get the default path to the current view.
  +            String defaultPath = v.getDefaultPath();
  +
  +	    // convert whatever separator char is in starteam to that of the target system.
  +	    defaultPath=defaultPath.replace('/', java.io.File.separatorChar);
  +	    defaultPath=defaultPath.replace('\\', java.io.File.separatorChar);
  +
  +	    java.io.File dir = new java.io.File(defaultPath);
  +	    String dirName = dir.getName();
  +
  +            // If it ends with separator then strip it off
  +	    if (dirName.endsWith(delim))
  +	    {
  +		dirName = dirName.substring(0, dirName.length()-1);
  +	    }
  +
  +	    // Replace the projectName in the file's absolute path to the viewName.
  +	    // This makes the root target of a checkout operation equal to:
  +	    // targetFolder + dirName
  +	    StringTokenizer pathTokenizer = new StringTokenizer(rootSourceFolder.getFolderHierarchy(),
delim);
  +	    String currentToken = null;
  +	    boolean foundRoot = false;
  +	    while (pathTokenizer.hasMoreTokens())
  +	    {
  +		currentToken = pathTokenizer.nextToken();
  +		if (currentToken.equals(getProjectName()) && !foundRoot)
  +		{
  +		    currentToken = dirName;
  +		    foundRoot = true;    // only want to do this the first time
  +		}
  +		root = new java.io.File(root, currentToken);
  +	    }
  +	}
  +
  +        return root;
  +    }
  +
  +    /**
        * Searches for files in the given folder.  This method is recursive and
        * thus searches all subfolders.
  -     * 
  +     *
        * @param s      A StarTeam server.
        * @param p      A valid project on the server.
        * @param v      A view name from the specified project.
        * @param t      An item type which is currently always "file".
        * @param f      The folder to search.
  -     * @param tgt    Name of target folder on local machine
  +     * @param tgt    Target folder on local machine
        */
  -    protected void runFolder( Server s, 
  -                              com.starbase.starteam.Project p, 
  -                              View v, 
  -                              Type t, 
  +    protected void runFolder( Server s,
  +                              com.starbase.starteam.Project p,
  +                              View v,
  +                              Type t,
                                 Folder f,
  -                              String tgt )
  +                              java.io.File tgt )
       {
           // Process all items in this folder.
           Item[] items = f.getItems(t.getName());
  @@ -473,7 +527,7 @@
               Folder[] subfolders = f.getSubFolders();
               for (int i = 0; i < subfolders.length; i++)
               {
  -                runFolder(s, p, v, t, subfolders[i], tgt + delim + subfolders[i].getName());
  +                runFolder(s, p, v, t, subfolders[i], new java.io.File(tgt, subfolders[i].getName()));
               }
           }
       }
  @@ -481,22 +535,22 @@
       /**
        * Check out one file if it matches the include filter but not the
        * exclude filter.
  -     * 
  +     *
        * @param s      A StarTeam server.
        * @param p      A valid project on the server.
        * @param v      A view name from the specified project.
        * @param t      An item type which is currently always "file".
        * @param f      The folder the file is localed in.
        * @param item   The file to check out.
  -     * @param tgt    Name of target folder on local machine
  +     * @param tgt    target folder on local machine
        */
  -    protected void runItem( Server s, 
  -                            com.starbase.starteam.Project p, 
  -                            View v, 
  -                            Type t, 
  -                            Folder f, 
  +    protected void runItem( Server s,
  +                            com.starbase.starteam.Project p,
  +                            View v,
  +                            Type t,
  +                            Folder f,
                               Item item,
  -                            String tgt )
  +                            java.io.File tgt )
       {
           // Get descriptors for this item type.
           Property p1 = getPrimaryDescriptor(t);
  @@ -515,7 +569,7 @@
               if (bShowHeader)
               {
                   // We want to display the folder the same way you would
  -                // enter it on the command line ... so we remove the 
  +                // enter it on the command line ... so we remove the
                   // View name (which is also the name of the root folder,
                   // and therefore shows up at the start of the path).
                   String strFolder = f.getFolderHierarchy();
  @@ -572,12 +626,11 @@
   
           // Change the item to be checked out to a StarTeam File.
           com.starbase.starteam.File remote = (com.starbase.starteam.File)item;
  +
  +        // The local file name is simply the local target path (tgt) which has
  +	// been passed recursively down from the top of the tree, with the item's name appended.
  +        java.io.File local = new java.io.File(tgt,(String)item.get(p1.getName()));
   
  -        // Create a reference to the local target file using either the "default path"
calculation or the calculation based
  -        // solely on targetFolder.
  -        java.io.File local = (getUsesDefaultFolder()
  -                              ? getLocalFileUsingDefault(v,item.getParentFolder().getFolderHierarchy(),(String)item.get(p1.getName()))
  -                              : getLocalFile(tgt,(String)item.get(p1.getName())));
           try
           {
               remote.checkoutTo(local, Item.LockType.UNCHANGED, false, true, true);
  @@ -585,16 +638,15 @@
           }
           catch (Exception e)
           {
  -            log("Failed to checkout '" + local + "': " + e.getMessage(), Project.MSG_WARN);
  -            // probably not a good idea to swallow the stacktrace
  +            throw new BuildException("Failed to checkout '" + local + "'", e);
           }
       }
   
       /**
  -     * Look if the file should be checkouted. Don't check it out
  +     * Look if the file should be checked out. Don't check it out
        * if It fits no include filters and It fits an exclude filter.
        * @param pName the item name to look for being included.
  -     * @return whether the file should be checkouted or not.
  +     * @return whether the file should be checked out or not.
        */
       protected boolean shouldCheckout(String pName){
           boolean includeIt = matchPatterns(getIncludes(), pName);
  @@ -624,74 +676,11 @@
           return false;
       }
   
  -
  -    /**
  -     * returns a file object that defines the local file as it will be
  -     * checked out onto the target using the new "targetFolder only" method.
  -     * Will only be called when getUsesDefaultFolder() returns false.
  -     * 
  -     * @param tgt    string representing the target folder plus any subfolder, as created
  -     *               by recursive calls to runTarget()
  -     * @param item   item to be checked out.
  -     * @return an object referencing the local file
  -     * @see getUsesDefaultFolderAsBoolean
  -     * @see runFolder
  -     */
  -    private java.io.File getLocalFile(String tgt, String itemname) {
  -        java.io.File tgtFolder = new java.io.File(tgt);
  -        return new java.io.File(tgtFolder,itemname);
  -    }
  -    
  -    /**
  -     * returns a file object that defines the local file as it will be 
  -     * checked out onto the target using the old "default folder" method.  
  -     * Will only be called when getUsesDefaultFolder() returns true.
  -     * 
  -     * @param v      view from which the file is checked out, supplies the "default folder"
  -     * @param item   item to be checked out.
  -     * @return an object referencing the local file
  -     */
  -    private java.io.File getLocalFileUsingDefault(View v, String folderHierarchy, String
itemname)
  -    {
  -        // Create a variable dirName that contains the name of 
  -        //the StarTeam folder that is the root folder in this view.
  -        // Get the default path to the current view.
  -        String dirName = v.getDefaultPath();
  -        // Settle on "/" as the default path separator for this purpose only.
  -        dirName = dirName.replace('\\', '/');
  -        // Take the StarTeam folder name furthest down in the hierarchy.
  -        int endDirIndex = dirName.length();
  -        // If it ends with separator then strip it off
  -        if (dirName.endsWith("/"))
  -        {
  -            // This should be the SunOS and Linux case
  -            endDirIndex--;
  -        }
  -        dirName = 
  -            dirName.substring(dirName.lastIndexOf("/", dirName.length() - 2) + 1, endDirIndex);
  -        // Replace the projectName in the file's absolute path to the viewName.
  -        // This eventually makes the target of a checkout operation equal to:
  -        // targetFolder + dirName + [subfolders] + itemName
  -        StringTokenizer pathTokenizer = new StringTokenizer(folderHierarchy, delim);
  -        String localName = delim;
  -        String currentToken = null;
  -        while (pathTokenizer.hasMoreTokens())
  -        {
  -            currentToken = pathTokenizer.nextToken();
  -            if (currentToken.equals(getProjectName()))
  -            {
  -                currentToken = dirName;
  -            }
  -            localName += currentToken + delim;
  -        }
  -        return new java.io.File( getTargetFolder() + localName + itemname );
  -    }
  -
       /**
        * Get the primary descriptor of the given item type.
        *  Returns null if there isn't one.
        *  In practice, all item types have a primary descriptor.
  -     * 
  +     *
        * @param t      An item type. At this point it will always be "file".
        * @return The specified item's primary descriptor.
        */
  @@ -712,7 +701,7 @@
       /**
        * Get the secondary descriptor of the given item type.
        * Returns null if there isn't one.
  -     * 
  +     *
        * @param t      An item type. At this point it will always be "file".
        * @return The specified item's secondary descriptor. There may not be
        *         one for every file.
  @@ -733,7 +722,7 @@
   
       /**
        * Formats a property value for display to the user.
  -     * 
  +     *
        * @param p      An item property to format.
        * @param value
        * @return A string containing the property, which is truncated to 35
  @@ -767,7 +756,7 @@
   
       /**
        * Sets the <CODE>serverName</CODE> attribute to the given value.
  -     * 
  +     *
        * @param serverName The name of the server you wish to connect to.
        * @see #getServerName()
        */
  @@ -778,7 +767,7 @@
   
       /**
        * Gets the <CODE>serverName</CODE> attribute.
  -     * 
  +     *
        * @return The StarTeam server to log in to.
        * @see #setServerName(String serverName)
        */
  @@ -790,7 +779,7 @@
       /**
        * Sets the <CODE>serverPort</CODE> attribute to the given value. The
        * given value must be a valid integer, but it must be a string object.
  -     * 
  +     *
        * @param serverPort A string containing the port on the StarTeam server
        *                   to use.
        * @see #getServerPort()
  @@ -802,7 +791,7 @@
   
       /**
        * Gets the <CODE>serverPort</CODE> attribute.
  -     * 
  +     *
        * @return A string containing the port on the StarTeam server to use.
        * @see #setServerPort(int)
        */
  @@ -813,7 +802,7 @@
   
       /**
        * Sets the <CODE>projectName</CODE> attribute to the given value.
  -     * 
  +     *
        * @param projectName
        *               The StarTeam project to search.
        * @see #getProjectName()
  @@ -825,7 +814,7 @@
   
       /**
        * Gets the <CODE>projectName</CODE> attribute.
  -     * 
  +     *
        * @return The StarTeam project to search.
        * @see #setProjectName(String projectName)
        */
  @@ -836,7 +825,7 @@
   
       /**
        * Sets the <CODE>viewName</CODE> attribute to the given value.
  -     * 
  +     *
        * @param viewName The view to find the specified folder in.
        * @see #getViewName()
        */
  @@ -847,7 +836,7 @@
   
       /**
        * Gets the <CODE>viewName</CODE> attribute.
  -     * 
  +     *
        * @return The view to find the specified folder in.
        * @see #setViewName(String viewName)
        */
  @@ -860,7 +849,7 @@
        * Sets the <CODE>folderName</CODE> attribute to the given value. To
        * search the root folder, use a slash or backslash, or simply don't set
        * a folder at all.
  -     * 
  +     *
        * @param folderName The subfolder from which to check out files.
        * @see #getFolderName()
        */
  @@ -883,7 +872,7 @@
   
       /**
        * Sets the <CODE>username</CODE> attribute to the given value.
  -     * 
  +     *
        * @param username Your username for the specified StarTeam server.
        * @see #getUsername()
        */
  @@ -894,7 +883,7 @@
   
       /**
        * Gets the <CODE>username</CODE> attribute.
  -     * 
  +     *
        * @return The username given by the user.
        * @see #setUsername(String username)
        */
  @@ -905,7 +894,7 @@
   
       /**
        * Sets the <CODE>password</CODE> attribute to the given value.
  -     * 
  +     *
        * @param password Your password for the specified StarTeam server.
        * @see #getPassword()
        */
  @@ -916,7 +905,7 @@
   
       /**
        * Gets the <CODE>password</CODE> attribute.
  -     * 
  +     *
        * @return The password given by the user.
        * @see #setPassword(String password)
        */
  @@ -927,7 +916,7 @@
   
       /**
        * Sets the <CODE>targetFolder</CODE> attribute to the given value.
  -     * 
  +     *
        * @param target The target path on the local machine to check out to.
        * @see #getTargetFolder()
        */
  @@ -938,7 +927,7 @@
   
       /**
        * Gets the <CODE>targetFolder</CODE> attribute.
  -     * 
  +     *
        * @return The target path on the local machine to check out to.
        *
        * @see #setTargetFolder(String targetFolder)
  @@ -950,7 +939,7 @@
   
       /**
        * Sets the <CODE>force</CODE> attribute to the given value.
  -     * 
  +     *
        * @param 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
  @@ -964,7 +953,7 @@
   
       /**
        * Gets the <CODE>force</CODE> attribute.
  -     * 
  +     *
        * @return whether to continue if the target directory exists.
        * @see #setForce(boolean)
        */
  @@ -976,7 +965,7 @@
       /**
        * Turns recursion on or off.
        *
  -     * @param verbose If it is true, the default, subfolders are searched
  +     * @param recursion if it is true, the default, subfolders are searched
        *                recursively for files to check out.  Otherwise, only
        *                files specified by <CODE>folderName</CODE> are scanned.
        * @see #getRecursion()
  @@ -1002,23 +991,23 @@
   
       /**
        * Sets the <CODE>verbose</CODE> attribute to the given value.
  -     * 
  +     *
        * @param 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.
  -     * @see #getForce()
  +     * @see #getVerbose()
        */
       public void setVerbose(boolean verbose)
       {
           this.verbose = verbose;
       }
  -    
  +
       /**
        * Gets the <CODE>verbose</CODE> attribute.
  -     * 
  +     *
        * @return whether to display all files as it checks them out.
  -     * @see #setVerbose(String verbose)
  +     * @see #setVerbose(boolean verbose)
        */
       public boolean getVerbose()
       {
  @@ -1057,7 +1046,7 @@
        * filter, as well.
        * <BR><BR>
        * Please also read the following sections before using filters:
  -     * 
  +     *
        * @param includes A string of filter patterns to include. Separate the
        *                 patterns by spaces.
        * @see #getIncludes()
  @@ -1073,7 +1062,7 @@
        * Gets the patterns from the include filter. Rather that duplicate the
        * details of AntStarTeanCheckOut's filtering here, refer to these
        * links:
  -     * 
  +     *
        * @return A string of filter patterns separated by spaces.
        * @see #setIncludes(String includes)
        * @see #setExcludes(String excludes)
  @@ -1111,7 +1100,7 @@
        * filter, as well.
        * <BR><BR>
        * Please also read the following sections before using filters:
  -     * 
  +     *
        * @param excludes A string of filter patterns to exclude. Separate the
        *                 patterns by spaces.
        * @see #setIncludes(String includes)
  @@ -1127,7 +1116,7 @@
        * Gets the patterns from the exclude filter. Rather that duplicate the
        * details of AntStarTeanCheckOut's filtering here, refer to these
        * links:
  -     * 
  +     *
        * @return A string of filter patterns separated by spaces.
        * @see #setExcludes(String excludes)
        * @see #setIncludes(String includes)
  @@ -1140,28 +1129,30 @@
   
   
       /**
  -     * returns whether or not the StarTeam default path is factored into
  -     * calculated target path locations.
  -     * 
  -     * @return returns true if the StarTeam default path is factored into the
  -     *         calculation of the location on the target of an item, false if it is
  +     * 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
  +     *
  +     * @return returns true if absolute mapping is used, false if it is
        *         not used.
  -     * @see #setUsesDefaultFolder(boolean)
  +     * @see #setTargetFolderAbsolute(boolean)
        */
  -    public boolean getUsesDefaultFolder()
  +    public boolean getTargetFolderAbsolute()
       {
  -        return this.usesDefaultFolder;
  +        return this.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.
  -     * 
  -     * @param usesDefaultFolder <tt>true</tt> if the "default folder" is to
be used.
  -     *               <tt>false</tt> (the default) if the default folder is
not to be used.
  -     * @see #getUsesDefaultFolder()
  +     * the target (false) or if targetFolder is an absolute mapping to the
  +     * root folder named by foldername.
  +     *
  +     * @param targetFolderAbsolute <tt>true</tt> if the absolute mapping is
to be used.
  +     *               <tt>false</tt> (the default) if the "default folder" is
to be factored in.
  +     * @see #getTargetFolderAbsolute()
        */
  -    public void setUsesDefaultFolder(boolean usesDefaultFolder) {
  -        this.usesDefaultFolder = usesDefaultFolder;
  +    public void setTargetFolderAbsolute(boolean targetFolderAbsolute) {
  +        this.targetFolderAbsolute = targetFolderAbsolute;
       }
   }
  
  
  
  1.5       +28 -14    jakarta-ant/docs/manual/OptionalTasks/starteam.html
  
  Index: starteam.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/docs/manual/OptionalTasks/starteam.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- starteam.html	2001/12/07 21:51:01	1.4
  +++ starteam.html	2001/12/11 21:08:23	1.5
  @@ -13,7 +13,7 @@
   
   <p>
   The <i>includes</i> and <i>excludes</i> attributes function differently
from
  -other tasks in Ant.  Multiple patters must be seperated by spaces, not
  +other tasks in Ant.  Multiple patterns must be separated by spaces, not
   commas.  See the examples for more information.</p>
   
   <p>
  @@ -62,14 +62,13 @@
     </tr>
     <tr>
       <td valign="top">targetfolder</td>
  -    <td valign="top">The folder to which files are checked out.  What this precisely
means is determined by the <i>usesDefaultFolder</i> param.</td>
  +    <td valign="top">The folder to which files are checked out.  What this precisely
means is determined by the <i>targetFolderAbsolute</i> param.</td>
       <td align="center" valign="top">yes</td>
     </tr>  
     <tr>
  -    <td valign="top">usesDefaultFolder</td>
  -    <td valign="top">Determines how <i>targetfolder</i> is interpreted,
that is, whether the StarTeam "default folder" for the project is factored in.
  -      If "true", the target tree will be rooted at <i>targetfolder+"default folder"</i>.
 If false, the target tree will be rooted at <i>targetfolder</i>.  Defaults to
"false".  
  -      The behavior of older versions was as if this were "true".</td>
  +    <td valign="top">targetFolderAbsolute</td>
  +    <td valign="top">Determines how <i>targetfolder</i> is interpreted,
that is, whether the StarTeam "default folder" for the project is factored in (false) or whether
<i>targetFolder</i> is a complete mapping to <i>foldername</i> (true).
  +      If "true", the target tree will be rooted at <i>targetfolder+"default folder"</i>.
 If false, the target tree will be rooted at <i>targetfolder</i>.  Defaults to
"false".  </td>
       <td align="center" valign="top">no</td>
     </tr>  
     <tr>
  @@ -94,12 +93,12 @@
     </tr>
     <tr>
       <td valign="top">includes</td>
  -    <td valign="top">Only check out files that match at least one of the patterns
in this list.  Patterns must be seperated by spaces.  Patterns in <i>excludes</i>
take precedence over patterns in <i>includes</i>.</td>
  +    <td valign="top">Only check out files that match at least one of the patterns
in this list.  Patterns must be separated by spaces.  Patterns in <i>excludes</i>
take precedence over patterns in <i>includes</i>.</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">excludes</td>
  -    <td valign="top">Do not check out files that match at least one of the patterns
in this list.  Patterns must be seperated by spaces.  Patterns in <i>excludes</i>
take precedence over patterns in <i>includes</i>.</td>
  +    <td valign="top">Do not check out files that match at least one of the patterns
in this list.  Patterns must be separated by spaces.  Patterns in <i>excludes</i>
take precedence over patterns in <i>includes</i>.</td>
       <td align="center" valign="top">no</td>
     </tr>
   </table>
  @@ -163,29 +162,44 @@
    &lt;starteam servername="STARTEAM" 
               serverport="49201"
               projectname="AProject" 
  +            foldername="src/java"
               viewname="AView"
               username="auser"
               password="secret"
               targetfolder="C:\dev\buildtest\co"
  -            usesDefaultFolder="false"
  +            targetfolderabsolute="true"
     /&gt;
   </pre>
  -<br>
  +<br></br>
   <pre>
    &lt;starteam servername="STARTEAM" 
               serverport="49201"
               projectname="AProject" 
  +            foldername="src/java"
               viewname="AView"
               username="auser"
               password="secret"
               targetfolder="C:\dev\buildtest\co"
  -            usesDefaultFolder="true"
  +            targetfolderabsolute ="false"
     /&gt;
   </pre>
  +<br></br>
  +<pre>
  + &lt;starteam servername="STARTEAM" 
  +            serverport="49201"
  +            projectname="AProject" 
  +            foldername="src/java"
  +            viewname="AView"
  +            username="auser"
  +            password="secret"
  +            targetfolder="C:\dev\buildtest\co\src\java"
  +            targetfolderabsolute="true"
  +  /&gt;
  +</pre>
   
  -In the preceding two examples, assuming that the AProject project has a default folder
of
  -"AProject", the first example will check the files out to a tree rooted at C:\dev\buildtest\co

  -and the second will check them out to a tree rooted at C:\dev\buildtest\co\AProject.
  +In the preceding three examples, assuming that the AProject project has a default folder
of
  +"AProject", the first example will check the files located in starteam under src/java out
to a tree rooted at C:\dev\buildtest\co, 
  +the second to a tree rooted at C:\dev\buildtest\co\AProject\src\java and the third to a
tree rooted at C:\dev\buildtest\co\src\java.
   
   <hr>
   <p align="center">
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message