<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask TaskName="Microsoft.SpecSharp.SpecSharpCompile" AssemblyFile="External\Tools\SpecSharp\Microsoft.SpecSharp.dll" />

  <Target
      Name="Verify"
      Inputs="$(MSBuildAllProjects);
              @(Compile);
              @(ManifestResourceWithNoCulture);
              $(ApplicationIcon);
              $(AssemblyOriginatorKeyFile);
              @(ManifestNonResxWithNoCultureOnDisk);
              @(ReferencePath);
              @(CompiledLicenseFile)"
      Outputs="NonExistentFile"
      DependsOnTargets="$(CoreCompileDependsOn)"
   >
    <SpecSharpCompile
      AdditionalLibPaths="$(AdditionalLibPaths)"
      AddModules="@(AddModules)"
      AllowUnsafeBlocks="$(AllowUnsafeBlocks)"
      BaseAddress="$(BaseAddress)"
      CheckContractAdmissibility="$(CheckContractAdmissibility)"
      CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)"
      CheckPurity="$(CheckPurity)"
      CodePage="$(CodePage)"
      ContractsHideCSharpErrors="$(ContractsHideCSharpErrors)"
      DebugType="$(DebugType)"
      DefineConstants="$(DefineConstants)"
      DelaySign="$(DelaySign)"
      DisabledContractFeatures="$(DisabledContractFeatures)"
      DisabledWarnings="2614,2638,2674,2669,2665,2725,2730,$(NoWarn)"
      DocumentationFile="@(DocFileItem)"
      EmitDebugInformation="$(DebugSymbols)"
      ErrorReport="$(ErrorReport)"
      FileAlignment="$(FileAlignment)"
      GenerateFullPaths="$(GenerateFullPaths)"
      KeyContainer="$(KeyContainerName)"
      KeyFile="$(KeyOriginatorFile)"
      LangVersion="$(LangVersion)"
      MainEntryPoint="$(StartupObject)"
      NoConfig="true"
      NoLogo="$(NoLogo)"
      NoStandardLib="$(NoStdLib)"
      Optimize="$(Optimize)"
      OriginalAssembly="$(OriginalAssembly)"
      OutputAssembly="@(IntermediateAssembly)"
      ProduceContractAssembly="$(ProduceContractAssembly)"
      Platform="$(PlatformTarget)"
      ProgramVerifierCommandLineOptions="$(ProgramVerifierCommandLineOptions)"
      ProjectName="$(ProjectName)"
      References="@(ReferencePath)"
      ReferenceTypesAreNonNullByDefault="$(ReferenceTypesAreNonNullByDefault)"
      ResponseFiles="$(CompilerResponseFile)"
      Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
      Sources="@(Compile)"
      TargetType="$(OutputType)"
      ToolPath="$(CscToolPath)"
      TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
      UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
      Utf8Output="$(Utf8Output)"
      Verify="$(Verify)"
      WarningLevel="$(WarningLevel)"
      WarningsAsErrors="$(WarningsAsErrors)"
      WarningsNotAsErrors="$(WarningsNotAsErrors)"
      Win32Icon="$(ApplicationIcon)"
      Win32Resource="$(Win32Resource)"
      UseLogMessage="false"
      >
    </SpecSharpCompile>
  </Target>
</Project>
