<cruisecontrol>

    <!--
        Note to be cross-platform, "environment variables" are only appropriate for
        some variables, e.g. ones we set, since properties are case sensitive, even if
        the environment variables on your operating system are not, e.g. it will
        be ${env.Path} not ${env.PATH} on Windows -->
    <property
        environment="env"
        toupper="true" />

    <!-- Note: can not quite use "standard properties" pattern, as in ant files, 
        since for CC, it is an error if a property file does not exist. -->
    <property
        name="time.tenMinutes"
        value="600" />
    <property
        name="time.oneHour"
        value="3600" />
    <property
        name="time.twentyFourHours"
        value="86400" />
    <property
        name="time.veryLongTime"
        value="31536000" />
    <plugin
        name="log"
        dir="${env.LOG_DIR}/${project.name}"
        encoding="ISO-8859-1" />
    <plugin
        name="currentbuildstatuslistener"
        file="${env.LOG_DIR}/${project.name}/status.txt" />
    <!-- remember, our logDir must be same as logdir specified in CC's web.xml file  -->
    <plugin
        name="ant"
        antscript="${env.RELENG_CONTROL}/ant.sh"
        buildfile="${env.RELENG_CONTROL}/cc_project_build.xml"
        target="Build"
        uselogger="${env.USE_LOGGER}"
        usequiet="${env.USE_QUIET}"
        savelogdir="${env.LOG_DIR}/${project.name}"
        antworkingdir="${env.ANT_WORKING}" />
    <plugin
        name="htmlemail"
        mailhost="localhost"
        logDir="${env.BUILD_HOME}/logs/${project.name}"
        returnaddress="${env.BUILD_BUILDMASTER_EMAIL}"
        returnname="${env.BUILD_BUILDMASTER_RETURN_NAME}"
        skipusers="${env.SKIPUSERS}"
        subjectprefix="[${env.BUILD_SUBJECT_PREFIX} ${project.name}]"
        spamwhilebroken="true"
        failasimportant="false"
        buildresultsurl="${env.BUILD_RESULT_URL}/${project.name}">
        <always
            address="${env.BUILD_ALWAYS_TO_ADDRESS}" />
    </plugin>
    <plugin
        name="project"
        buildafterfailed="false">
        <dateformat
            format="yyyy-MM-dd HH:mm '('z')'" />
        <log
            dir="${env.LOG_DIR}/${project.name}"
            encoding="ISO-8859-1">
            <merge
                dir="${env.PROJECT_TESTS}/${project.name}/results/xml" />
            <delete
                every="10"
                unit="DAY"
                ignoreSuffix="true" />
            <gzip
                every="5"
                unit="DAY" />
        </log>
        <listeners>
            <currentbuildstatuslistener />
        </listeners>
        <publishers>
            <antpublisher
                antscript="${env.RELENG_CONTROL}/ant.sh"
                buildfile="${env.RELENG_CONTROL}/cc_copyArtifacts.xml"
                target="copyArtifacts"
                usequiet="true"
                uselogger="false"
                antWorkingDir="${env.BUILD_HOME}/tmp"
                saveLogDir="${env.BUILD_HOME}/tmp">
                <property
                    name="localArtifactsDirectory"
                    value="${env.PROJECT_ARTIFACTS}/${project.name}" />
            </antpublisher>
            <htmlemail 
                logdir="${env.BUILD_HOME}/tmp">
                <failure
                    address="${env.FAILED_ADDRESS}"
                    reportWhenFixed="true" />
                <propertiesmapper
                    file="${env.EMAIL_PROPERTIES}" />
            </htmlemail>
        </publishers>
    </plugin>
    <plugin
        name="cvs"
        cvsroot=":${env.BUILD_CVS_READ_PROTOCOL}:${env.BUILD_CVS_READ_USER}@${env.BUILD_CVS_SERVER}:${env.BUILD_CVS_ROOT}" />

    <!--

        Note: projects must be named in the form
        ${build.distribution}-${buildBranch}-${buildType}
        
        Also, please note, the order is somewhat important, too. 
        We order these so the quickest running come first in the list, 
        so they have an opportunity to "get done" before a longer one starts. 
        The next criteria is importance
        
    -->
    <project requireModification="false"
        name="cleanup-artifacts-B">
        <schedule
            interval="${time.twentyFourHours}">
            <exec
                workingdir="${env.BUILD_HOME}/releng.control"
                command="${env.BUILD_HOME}/releng.control/cleanupArtifacts.sh">
            </exec>
        </schedule>
        <!-- need to prevent, or override, default publishers,
            especially since the ant default antpublisher will
            result in error, if an ant build hasn't ran! -->
        <publishers>
        </publishers>
    </project>
    <project
        name="wtpbuildTools-R3.0-T"
        forceOnly="true">
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="T" />
                <property
                    name="buildBranch"
                    value="R3.0" />
                <property
                    name="mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="HEAD" />
                <property
                    name="build.distribution"
                    value="wtpbuildTools" />
            </ant>
        </schedule>
    </project>
    <project
        name="incubator-R0.5-S">
        <modificationset
            quietperiod="120">
            <cvs
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGINCUBATOR}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="S" />
                <property
                    name="buildId"
                    value="0.5M5" />
                <property
                    name="buildBranch"
                    value="R0.5" />
                <property
                    name="mapVersionTag"
                    value="HEAD" />
                <property
                    name="build.distribution"
                    value="incubator" />
            </ant>
        </schedule>
    </project>
    <project
        name="incubator-R0.5-I">
        <modificationset
            quietperiod="120">
            <cvs
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGINCUBATOR}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.oneHour}">
            <ant>
                <property
                    name="buildType"
                    value="I" />
                <property
                    name="buildBranch"
                    value="R0.5" />
                <property
                    name="mapVersionTag"
                    value="HEAD" />
                <property
                    name="build.distribution"
                    value="incubator" />
            </ant>
        </schedule>
    </project>
    <project
        name="patches-R1.5-P"
        forceOnly="true">
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="P" />
                <property
                    name="buildBranch"
                    value="R1.5.5" />
                <property
                    name="mapVersionTag"
                    value="R1_5_5_patches" />
                <property
                    name="build.distribution"
                    value="patches" />
            </ant>
        </schedule>
        <!-- no user notification for patch builds. -->
        <publishers>
            <antpublisher
                antscript="${env.RELENG_CONTROL}/ant.sh"
                buildfile="${env.RELENG_CONTROL}/cc_copyArtifacts.xml"
                target="copyArtifacts"
                usequiet="true"
                uselogger="false"
                antWorkingDir="${env.BUILD_HOME}/tmp"
                saveLogDir="${env.BUILD_HOME}/tmp">
                <property
                    name="localArtifactsDirectory"
                    value="${env.PROJECT_ARTIFACTS}/${project.name}" />
            </antpublisher>
            <htmlemail 
              skipusers="true"
                logdir="${env.BUILD_HOME}/tmp">
                <failure
                    address="${env.FAILED_ADDRESS}"
                    reportWhenFixed="true" />
                <propertiesmapper
                    file="" />
            </htmlemail>
        </publishers>
    </project>
    
    <project
        name="wtp-R2.0-M">
        <modificationset
            quietperiod="120">
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGCOMMON}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGEJBTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGJEETOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGSERVERTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGSOURCEEDITING}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGWEBSERVICES}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R1_0_maintenance"
                module="${env.RELENGDALI}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R1_0_maintenance"
                module="${env.RELENGJSF}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="M" />
                <property
                    name="buildId"
                    value="2.0.2-posttest" />
                <property
                    name="buildBranch"
                    value="R2.0" />
                <property
                    name="build.distribution"
                    value="wtp" />
                <property
                    name="mapVersionTag"
                    value="R2_0_maintenance" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="R1_0_maintenance" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="R1_0_maintenance" />
                <property
                    name="SKIP_JAR_SIGNING"
                    value="true" />
            </ant>
        </schedule>
    </project>
    
        <project
        name="wtp-R2.0-R">
        <modificationset
            quietperiod="120">
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGCOMMON}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGEJBTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGJEETOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGSERVERTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGSOURCEEDITING}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENGWEBSERVICES}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_maintenance"
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R1_0_maintenance"
                module="${env.RELENGDALI}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R1_0_maintenance"
                module="${env.RELENGJSF}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="R" />
                <property
                    name="buildId"
                    value="2.0.2B" />
                <property
                    name="buildBranch"
                    value="R2.0" />
                <property
                    name="build.distribution"
                    value="wtp" />
                <property
                    name="mapVersionTag"
                    value="R2_0_maintenance" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="R1_0_maintenance" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="R1_0_maintenance" />
                <property
                    name="SKIP_JAR_SIGNING"
                    value="true" />
            </ant>
        </schedule>
    </project>
    
    <project
        name="patches-R2.0.2-P">
        <modificationset
            quietperiod="120">
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGCOMMON}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGEJBTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGJEETOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGSERVERTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGSOURCEEDITING}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R2_0_2_patches"
                module="${env.RELENGWEBSERVICES}"
                reallyquiet="${env.CVS_QUIET}" />

            <cvs
                tag="R1_0_2_patches"
                module="${env.RELENGDALI}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                tag="R1_0_2_patches"
                module="${env.RELENGJSF}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="P" />
                <property
                    name="buildBranch"
                    value="R2.0.2" />
                <property
                    name="build.distribution"
                    value="patches2" />
                <property
                    name="mapVersionTag"
                    value="R2_0_2_patches" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="R1_0_2_patches" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="R1_0_2_patches" />
                <property
                    name="SKIP_JAR_SIGNING"
                    value="true" />
            </ant>
        </schedule>
        <!-- no user notification for patch builds. -->
        <publishers>
            <antpublisher
                antscript="${env.RELENG_CONTROL}/ant.sh"
                buildfile="${env.RELENG_CONTROL}/cc_copyArtifacts.xml"
                target="copyArtifacts"
                usequiet="true"
                uselogger="false"
                antWorkingDir="${env.BUILD_HOME}/tmp"
                saveLogDir="${env.BUILD_HOME}/tmp">
               <property
                    name="localArtifactsDirectory"
                    value="${env.PROJECT_ARTIFACTS}/${project.name}" />
            </antpublisher>
            <htmlemail 
              skipusers="true"
              logdir="${env.BUILD_HOME}/tmp">
                <failure
                    address="${env.FAILED_ADDRESS}"
                    reportWhenFixed="true" />
                <propertiesmapper
                    file="" />
            </htmlemail>
        </publishers>
         
    </project>
    
    
    <project name="wtp-R3.0-S">
        <modificationset quietperiod="120">
            <cvs
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGCOMMON}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGEJBTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGJEETOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGSERVERTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGSOURCEEDITING}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGWEBSERVICES}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs module="${env.RELENGJSF}" reallyquiet="${env.CVS_QUIET}" />
            <cvs module="${env.RELENGDALI}" reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule interval="${time.oneHour}">
            <ant>
                <property name="buildType" value="S" />
                <property name="buildId" value="3.0M5" />
                <property name="buildBranch" value="R3.0" />
                <property name="mapVersionTag" value="HEAD" />
                <property name="releng.dali-mapVersionTag" value="HEAD" />
                <property name="releng.jsf-mapVersionTag" value="HEAD" />
                <property name="build.distribution" value="wtp" />
            </ant>
        </schedule>
    </project>
    
    <project
        name="wtp-R3.0-I">
        <modificationset
            quietperiod="120">
            <cvs
                module="${env.RELENG}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGCOMMON}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGEJBTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGJEETOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGSERVERTOOLS}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGSOURCEEDITING}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGWEBSERVICES}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGJSF}"
                reallyquiet="${env.CVS_QUIET}" />
            <cvs
                module="${env.RELENGDALI}"
                reallyquiet="${env.CVS_QUIET}" />
        </modificationset>
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="I" />
                <property
                    name="buildBranch"
                    value="R3.0" />
                <property
                    name="mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="HEAD" />
                <property
                    name="build.distribution"
                    value="wtp" />
            </ant>
        </schedule>
    </project>
    <project
        name="wtp-R3.0-N"
        forceOnly="true">
        <schedule
            interval="${time.veryLongTime}">
            <ant>
                <property
                    name="buildType"
                    value="N" />
                <!-- in this context, buildBranch is simply a label -->
                <property
                    name="buildBranch"
                    value="R3.0" />
                <property
                    name="mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.dali-mapVersionTag"
                    value="HEAD" />
                <property
                    name="releng.jsf-mapVersionTag"
                    value="HEAD" />
                <property
                    name="build.distribution"
                    value="wtp" />
                <property
                    name="build.donottagmaps"
                    value="true" />
                <property
                    name="SKIP_JAR_SIGNING"
                    value="true"/>                    
            </ant>
        </schedule>
    </project>
    
    

</cruisecontrol>