<?xml version="1.0" encoding="UTF-8"?>
<!-- 
============================================================================ 
Name        : signaling_config_default.xml 
Part of     : Helium 

Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
This component and the accompanying materials are made available
under the terms of the License "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".

Initial Contributors:
Nokia Corporation - initial contribution.

Contributors:

Description:

============================================================================
-->
<project name="signaling-config" xmlns:hlm="http://www.nokia.com/helium">
    <description>
    Definitions of helium signals. 
    </description>
    
    <!-- Only for backward compatibility -->
    <hlm:notifierList id="defaultSignalFailNotifier">
        <hlm:emailNotifier defaultTemplate="${helium.dir}/tools/common/templates/log/email_new.html.ftl" title="[signal] ${signal.name} - [message] ${signal.message}"
            smtp="${email.smtp.server}" ldap="${email.ldap.server}" notifyWhen="fail">
        </hlm:emailNotifier>
    </hlm:notifierList>

    <hlm:notifierList id="defaultFailNotifier">
        <hlm:emailNotifier defaultTemplate="${helium.dir}/tools/common/templates/log/email_default.html.ftl" title="[signal] ${signal.name} - [message] ${signal.message}"
            smtp="${email.smtp.server}" ldap="${email.ldap.server}" notifyWhen="fail">
        </hlm:emailNotifier>
    </hlm:notifierList>


    <!-- check for its usage 
    <hlm:notifierList id="defaultSignalWarnNotifier">
        <hlm:emailNotifier defaultTemplate="${helium.dir}/tools/common/templates/log/email_warning.html.ftl" title="[signal] ${signal.name}"
            smtp="${email.smtp.server}" ldap="${email.ldap.server}">
        </hlm:emailNotifier>
    </hlm:notifierList>
    -->

    <!-- This configuration just dump some message while a signal is raised. -->
    <hlm:notifierList id="echoSignalNotifier">
        <hlm:executeTaskNotifier>
            <echo>defaultSignalAlwaysNotifier: Signal: ${signal.name}</echo>
            <echo>defaultSignalAlwaysNotifier: Status: ${signal.status}</echo>
        </hlm:executeTaskNotifier>
    </hlm:notifierList>

    <!-- Only for backward compatibility -->
    <hlm:notifierList id="defaultSignalAlwaysNotifier">
        <hlm:emailNotifier defaultTemplate="${helium.dir}/tools/common/templates/log/email_new.html.ftl" title="[signal] ${signal.name}"
            smtp="${email.smtp.server}" ldap="${email.ldap.server}" notifyWhen="always">
        </hlm:emailNotifier>
    </hlm:notifierList>

    <hlm:notifierList id="defaultAlwaysNotifier">
        <hlm:emailNotifier defaultTemplate="${helium.dir}/tools/common/templates/log/email_default.html.ftl" title="[signal] ${signal.name}"
            smtp="${email.smtp.server}" ldap="${email.ldap.server}" notifyWhen="always">
        </hlm:emailNotifier>
    </hlm:notifierList>

    <hlm:signalInput id="buildManagementSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultSignalFailNotifier"/>
    </hlm:signalInput>

    <!-- default signal input, incase if no signal input is defined this
        will be used -->
    <hlm:signalInput id="defaultSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="prepWorkAreaSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <!-- Check for its usage (as email template is not supported as 
    converted directly from ant xml file). 
    <hlm:signalInput id="prepWorkAreaSignalInputWarn" failbuild="never">
        <hlm:notifierListRef refid="defaultSignalWarnNotifier" />
    </hlm:signalInput>
    -->
    <hlm:signalInput id="preparationSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="compileCleanSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>


    <hlm:signalInput id="compileSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="raptorErrorSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>
    
    <hlm:signalInput id="coveritySignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="eeRomsSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultAlwaysNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="subconRomsSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultAlwaysNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="localizedRomsSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultAlwaysNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="rombuildSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="traceRomsSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="graceUploadSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="dataPackagingSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="buildFinishedSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="publishSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>
    
    <hlm:signalInput id="ConEValidateSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="testOneSignalInput" failbuild="now" />

    <hlm:signalInput id="testTwoSignalInput" failbuild="never" />

    <hlm:signalInput id="testThreeSignalInput" failbuild="defer" />

    <hlm:signalInput id="testAlwaysSignalInput" />

    <hlm:signalInput id="testAlertsSignalInput" failbuild="now" />

    <hlm:signalInput id="fotaSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="archivePolicyErrorSignalInput" failbuild="never">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="signalValidatePolicyInvalidOrMissingInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="prepWorkAreaSignal" target="prep-work-area" message="Errors during Preparing Work Area">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.cache.log.dir}/signals/${build.id}_ccm_get_input.log.status.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="prepWorkAreaSignalInput" />
            <notifierInput>
                <fileset dir="${build.cache.log.dir}" >
                    <include name="signals/${build.id}_ccm_get_input*" />
                    <include name="${build.id}_ccm_get_input*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>
    
    <hlm:signalListenerConfig id="prepWorkAreaSignal2" target="cleanup-work-area" message="Errors during Preparing Work Area">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.cache.log.dir}/signals/${build.id}_cleanup_work_area.log.status.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="prepWorkAreaSignalInput" />
            <notifierInput>
                <fileset dir="${build.cache.log.dir}" >
                    <include name="signals/${build.id}_cleanup_work_area*" />
                    <include name="${build.id}_cleanup_work_area*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="preparationSignal" target="prep-fail" message="Errors during preparation">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_main.ant*.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="preparationSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_main.ant*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>


    <hlm:signalListenerConfig id="subconRomsSignal" target="subcon-roms" message="Errors during subcon rom image">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_subcon_roms.log.status.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="subconRomsSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_subcon*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>


    <hlm:signalListenerConfig id="traceRomsSignal" target="trace-roms" message="Errors happened during trace rom">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_trace_roms.log.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="traceRomsSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_trace_roms*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="fotaSignal" target="fota-a-build" message="FOTA execution had errors">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_fota.log.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="fotaSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_fota*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="dataPackagingSignal" target="build-icreatordp" message="DP creation had errors">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_dp.log.status.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="dataPackagingSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_dp*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalInput id="atsSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="atsSignal" target="ats-test" message="ATS had errors">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_ats.log.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="atsSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_ats*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="asteSignal" target="ats-aste" message="ASTE had errors">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_aste.log.status.xml" />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="atsSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_aste*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="tDriverSignal" target="tdriver-test" message="ATS TDRIVER creation had errors">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_tdriver.log.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="atsSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_tdriver*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="publishSignal" target="publish" message="content published">
        <signalNotifierInput>
            <signalInput refid="publishSignalInput" />
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalListenerConfig id="testAlertsSignal" target="check-signal" message="Test alert signal">
        <signalNotifierInput>
            <signalInput refid="testAlertsSignalInput" />
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalInput id="archiveErrorSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="signalValidatePolicyInvalidOrMissing" target="render-validate-policy" message="Policy file validation had errors">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_validate-policy.summary.xml.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="signalValidatePolicyInvalidOrMissingInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_validate-policy*" />
                </fileset>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_validate-policy*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalInput id="canonicalSysDefFailSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    
    <hlm:signalInput id="getenvSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="getEnvSignal" target="preparation-getenv" message="Getenv had errors">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_getenv.log.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="getenvSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_getenv*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalInput id="signalConfigureQtInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="exceptionSignalInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="signalConfigureQt" target="configure-qt" message="Configuring Qt framework had errors">
        <targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${qt.configure.log.name}.status.xml" />
        </targetCondition>
        <signalNotifierInput>
            <signalInput refid="signalConfigureQtInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${qt.configure.log.name}*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>

    <hlm:signalInput id="signalRunQMakeInput" failbuild="defer">
        <hlm:notifierListRef refid="defaultFailNotifier" />
    </hlm:signalInput>

    <hlm:signalInput id="sisfilesSignalInput" failbuild="now">
        <hlm:notifierListRef refid="defaultSignalFailNotifier" />
    </hlm:signalInput>

    <hlm:signalListenerConfig id="sisFilesSignal" target="sisfiles" message="sisfiles had errors">
        <hlm:targetCondition>
            <hlm:hasSeverity severity="error" file="${build.signal.status.dir}/${build.id}_sisfiles.log.status.xml" 
 />
        </hlm:targetCondition>
        <signalNotifierInput>
            <signalInput refid="sisfilesSignalInput" />
            <notifierInput>
                <fileset dir="${build.log.dir}" >
                    <include name="**/${build.id}_sisfiles*" />
                </fileset>
            </notifierInput>
        </signalNotifierInput>
    </hlm:signalListenerConfig>
    
    <hlm:signalExceptionConfig id="signal.exception.post.build">
        <hlm:notifierList>
            <hlm:executeTaskNotifier>
                <if>                
                    <isset property="exceptions.target" />
                    <then>
                        <runtarget target="${exceptions.target}" />
                    </then>
                </if>
            </hlm:executeTaskNotifier>
        </hlm:notifierList>
    </hlm:signalExceptionConfig>
</project>

            