﻿<?xml version="1.0" encoding="utf-8"?>
<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.

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

  <Import Project="$(SolutionDir)TestTargetFramework.props" />

  <PropertyGroup>
    <AssemblyTitle>Lucene.Net.Tests.TestFramework</AssemblyTitle>
    <RootNamespace>Lucene.Net</RootNamespace>

    <DefineConstants>$(DefineConstants);TESTFRAMEWORK_NUNIT</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="Configuration\TestDefaultSystemProperties.cs" />
  </ItemGroup>

  <ItemGroup>
    <None Remove="Configuration\lucene.testsettings.mock.json" />
    <None Remove="Configuration\parent.lucene.testsettings.mock.json" />
    <EmbeddedResource Include="Configuration\lucene.testsettings.mock.json" />
    <EmbeddedResource Include="Configuration\parent.lucene.testsettings.mock.json" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
  </ItemGroup>

  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />

  <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
  </ItemGroup>
  
  <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net48' ">
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion_NET4_5_1)" />
  </ItemGroup>

</Project>
