<?xml version="1.0" encoding="utf-8" ?>
<SMVConfig
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="Config.xsd"
    >
    <!-- Please don't add any comments with double hyphens in them.                                                                              -->
    <!-- XML does not support a double hyphen within a comment, since it is a delimiter.                                                         -->
    <!-- Available variables which can be used inside actions :                                                                                  -->
    <!-- $assemblyDir         : Directory where SMV binaries are located            [Available in all actions]                                   -->
    <!-- $workingDir          : Directory where SMV is run                          [Available in all actions]                                   -->
    <!-- $actionName          : Name of the current action                          [Available in all actions]                                   -->
    <!-- $actionPath          : Path where the current action is run                [Available in all actions]                                   -->
    <!-- $configFilePath      : Path of the config file provided to SMV             [Available in all actions]                                   -->
    <!-- $logFilePath         : Path to the log file                                [Available in all actions, if SMV is run with /log:<path>]   -->
    <!-- $ModuleName          : Name of the module                                  [Available if SMV is run with /module:<name>]                -->
    <!-- $ModuleDateCreated   : Date created timestamp of the module                [Available if SMV is run with /module:<name>]                -->
    <!-- $ModuleId            : Id of the module                                    [Available if SMV is run with /module:<name>]                -->
    <!-- $ModuleLastModified  : Last modified timestamp of the module               [Available if SMV is run with /module:<name>]                -->
    <!-- $driverType          : Driver type                                         [Available in all actions following normal build]            -->
    <!-- $outputDir           : Directory where the build files are generated       [Available in all actions following InterceptedBuild]        -->
    <!-- $analysisDir         : $outputDir\SMV                                      [Available in all actions following InterceptedBuild]        -->
    <!-- $ruleDir             : Directory of the rule currently being checked       [Available in all Analysis actions if rules are checked]     -->
    <!-- Run the normal build, intercepted build and the scan step -->
    
    <xi:include href="MSBuild-Variables.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
    
    
    <Build>
        <!-- Do a normal build first to ensure everything builds correctly. -->
        <xi:include href="MSBuild-NormalBuild.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
        <xi:include href="MSBuild-InterceptedBuild.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> 
    </Build>
    
    <!-- Runs a series of steps on the build artifacts or artifacts from the db -->
    <Analysis>
        
        <!-- Verify the rule -->
        <Action name="CheckRule" breakOnError="false">
            <Path value="[$analysisDir]\[$analysisProperty]" />
            <Env key="PATH" value="%sdv%\bin;%sdv%\bin\engine;%sdv%\bin\engine\engineq;%sdv%\bin\engine\engineq\corral;%PATH%" />
            <!-- Copy the SDV product os model to a location that was
      established with the legacy SDV product.  This is needed since
      frontend and engine has filename hardcoded and to minimize
      regression baseline changes during transition from legacy SDV to
      SMV-SDV -->
            <Command value="copy" arguments="&quot;%sdv%\osmodel\[$driverType]\osmodel.c&quot; &quot;[$outputDir]\sdv-harness.c&quot;" />
            
            <Command value="copy" arguments="[$outputDir]\slam.li [$analysisDir]\[$analysisProperty]\slam.li" />
            <Command value="slam" arguments="-no_slamcl -rerun [$sdvPreConditionArg] -platform [$driverType] -target [$platform] -halt_labels -gate RunDispatchFunction [$SlamFlags] -sourcedir &quot;[$workingDir]&quot; -sdvpath &quot;[$workingDir]\sdv&quot;  -display_environment  [$analysisProperty].fsm -tune_entry_points SDV-map.h>wlimit.txt 2>wlimit.err" />
        </Action>
        
    </Analysis>
</SMVConfig>

