﻿<?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._E-I</AssemblyTitle>
    <RootNamespace>Lucene.Net</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="..\Lucene.Net.Tests\Index\BinaryTokenStream.cs" />
    <Compile Include="..\Lucene.Net.Tests\Index\Test2*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\Test4*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestA*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestB*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestC*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestD*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestE*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestF*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestG*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestH*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestI*.cs" LinkBase="Index" />
    <Compile Include="..\Lucene.Net.Tests\Index\TestJ*.cs" LinkBase="Index" />
    <EmbeddedResource Include="..\Lucene.Net.Tests\Index\*.zip" LinkBase="Index" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Lucene.Net.Codecs\Lucene.Net.Codecs.csproj" />
    <ProjectReference Include="..\Lucene.Net.Facet\Lucene.Net.Facet.csproj" />
    <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
    <ProjectReference Include="..\Lucene.Net.QueryParser\Lucene.Net.QueryParser.csproj" />
    <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
  </ItemGroup>

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

  <PropertyGroup>
    <DefineConstants>$(DefineConstants);FEATURE_INDEXWRITER_TESTS</DefineConstants>
  </PropertyGroup>
  
  <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)"/>
  </ItemGroup>
  
  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>
</Project>