<Project Sdk="Microsoft.NET.Sdk">

   <PropertyGroup>
      <TargetFramework>net472</TargetFramework>
      <LangVersion>8.0</LangVersion>
      <UseWPF>true</UseWPF>
      <SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>
      <AssemblyName>UnitTests</AssemblyName>
      <RootNamespace>UnitTestsLib</RootNamespace>
      <Company>Raytheon Technologies</Company>
      <Authors>TEEC</Authors>
      <OutputType>Library</OutputType>
      <IsCodedUITest>False</IsCodedUITest>
      <IsPackable>false</IsPackable>
      <Nullable>enable</Nullable>
      <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
      <Configurations>Debug;Release</Configurations>
   </PropertyGroup>

   <PropertyGroup>
      <NoWarn>NU1603</NoWarn>
   </PropertyGroup>

   <ItemGroup>
      <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
      <PackageReference Include="MSTest.TestAdapter">
         <Version>3.0.2</Version>
      </PackageReference>
      <PackageReference Include="MSTest.TestFramework">
         <Version>3.0.2</Version>
      </PackageReference>

      <COMReference Include="Microsoft.Office.Core">
         <Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
         <VersionMajor>2</VersionMajor>
         <VersionMinor>8</VersionMinor>
         <Lcid>0</Lcid>
         <WrapperTool>primary</WrapperTool>
         <Isolated>False</Isolated>
         <EmbedInteropTypes>True</EmbedInteropTypes>
      </COMReference>
      <COMReference Include="Microsoft.Office.Interop.Excel">
         <Guid>{00020813-0000-0000-C000-000000000046}</Guid>
         <VersionMajor>1</VersionMajor>
         <VersionMinor>9</VersionMinor>
         <Lcid>0</Lcid>
         <WrapperTool>primary</WrapperTool>
         <Isolated>False</Isolated>
         <EmbedInteropTypes>True</EmbedInteropTypes>
      </COMReference>
   </ItemGroup>

   <!-- Copy pdb files for DLLs in nuget packages to output directory-->
   <Target Name="IncludeSymbolFiles" AfterTargets="ResolveAssemblyReferences" Condition="@(ReferenceCopyLocalPaths) != ''">
      <ItemGroup>
         <ReferenceCopyLocalPaths Include="%(ReferenceCopyLocalPaths.RelativeDir)%(ReferenceCopyLocalPaths.Filename).pdb" />
         <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="!Exists('%(FullPath)')" />
      </ItemGroup>
   </Target>
   <ItemGroup>
     <ProjectReference Include="..\Program\Program.csproj" />
   </ItemGroup>

   <ItemGroup>
      <Reference Include="Microsoft.CSharp" />
      <Reference Include="System.Windows" />
   </ItemGroup>

   <!--
   <ItemGroup>
      <PackageReference Include="Program" Version="1.0.0" />
   </ItemGroup>
   -->

   <Target Name="CopyFiles" AfterTargets="AfterBuild">
      <ItemGroup>
         <FILES_1 Include="..\Program\Dependencies\*.*" />
         <FILES_2 Include="..\Program\InstrumentConfigFiles\*.*" />
         <FILES_3 Include="..\Program\TestMethodConfigFiles\*.*" />
         <FILES_4 Include="..\Program\Dependencies\RINSS\*.*" />
      </ItemGroup>
      <Copy SourceFiles="@(FILES_1)" DestinationFolder="$(OutDir)" />
      <Copy SourceFiles="@(FILES_2)" DestinationFolder="$(OutDir)InstrumentConfig" />
      <Copy SourceFiles="@(FILES_3)" DestinationFolder="$(OutDir)TestMethodConfig" />
      <Copy SourceFiles="@(FILES_4)" DestinationFolder="$(OutDir)RINSS" />
      <Copy SourceFiles="..\Program\ProgramConfigFiles\config.ini" DestinationFolder="$(OutDir)" />
      <Copy SourceFiles="..\Program\MiscConfigFiles\NLog.config" DestinationFolder="$(OutDir)" />
   </Target>

   <Target Name="ProjClean" AfterTargets="AfterClean">
      <RemoveDir Directories="$(OutDir)InstrumentConfig" />
      <RemoveDir Directories="$(OutDir)TestMethodConfig" />
      <RemoveDir Directories="$(OutDir)RINSS" />
      <Delete Files="$(OutDir)config.ini" />
      <Delete Files="$(OutDir)NLog.config" />
      <Delete Files="$(OutDir)NLogWrapper.Part.dll" />
   </Target>
</Project>
