<?xml version="1.0" encoding="UTF-8"?>
<!--
/********************************************************************************
 * CruiseControl, a Continuous Integration Toolkit
 * Copyright (c) 2007, ThoughtWorks, Inc.
 * 200 E. Randolph, 25th Floor
 * Chicago, IL 60601 USA
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *     + Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *
 *     + Redistributions in binary form must reproduce the above
 *       copyright notice, this list of conditions and the following
 *       disclaimer in the documentation and/or other materials provided
 *       with the distribution.
 *
 *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
 *       names of its contributors may be used to endorse or promote
 *       products derived from this software without specific prior
 *       written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ********************************************************************************/
 -->

 <!--
 <dashboard>
 	<buildloop
	    logsdir=""
      	    artifactsdir="" />
	<features allowforcebuild=""/>
	<trackingtool projectname="" baseurl="" keywords=""/>
 	<subtabs>
	    <subtab class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" />
	</subtabs>
</dashboard>
-->

<dashboard>
    <buildloop
        home="/shared/webtools/"
        configfile="/shared/webtools/releng.control/cc_config.xml"
        logsdir="/shared/webtools/logs"
        artifactsdir="/shared/webtools/committers"
        projectsdir="/shared/webtools/projects"
        jmxport="7000"
        rmiport="1099"/>
    <features
        allowforcebuild="true"
        alloweditconfig="false" />
    <trackingtool
        projectname="wtp-R3.0-I"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="wtp-R3.0-M"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="wtp-R3.0-R"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="wtp-R3.0-S"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="wtp-R2.0-M"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="wtp-R2.0-R"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="incubator-R0.5-S"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="incubator-R0.5-I"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="patches-R1.5-P"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <trackingtool
        projectname="patches-R2.0-P"
        baseurl="https://bugs.eclipse.org/"
        keywords=",\[" />
    <subtabs>
        <subtab
            class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" />
    </subtabs>
</dashboard>
