net.sourceforge.cruisecontrol
Interface SourceControlElement

All Known Implementing Classes:
VssElement, P4Element, CVSElement, ClearCaseElement, StarTeamElement

public interface SourceControlElement

This interface defines behavior required by ModificationSet.java when gathering information about the changes made to whatever source control tool that you choose.

Author:
alden almagro, ThoughtWorks, Inc. 2001

Method Summary
 java.util.Set getEmails()
          get a Set of email addresses.
 java.util.ArrayList getHistory(java.util.Date lastBuild, java.util.Date now, long quietPeriod)
          get an ArrayList of Modifications detailing all the changes between now and the last build.
 long getLastModified()
          get the last modified time for this set of files
 void setTask(org.apache.tools.ant.Task t)
          get the task from the parent element for logging purposes
 

Method Detail

setTask

public void setTask(org.apache.tools.ant.Task t)
get the task from the parent element for logging purposes

getLastModified

public long getLastModified()
get the last modified time for this set of files

getHistory

public java.util.ArrayList getHistory(java.util.Date lastBuild,
                                      java.util.Date now,
                                      long quietPeriod)
get an ArrayList of Modifications detailing all the changes between now and the last build.

getEmails

public java.util.Set getEmails()
get a Set of email addresses. depends on the source control tool. StarTeam has a field for email addresses, so we would return a set of full email addresses here. SourceSafe doesn't have the same functionality, so we'll just return the usernames here. (which should correspond to email ids) we'll tack on the suffix, i.e. @apache.org, in MasterBuild.java before mailing results of the build.