﻿<?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)build/NuGet.props" />

  <PropertyGroup>
    <TargetFrameworks>netstandard2.1;netstandard2.0</TargetFrameworks>
    <TargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(TargetFrameworks);net451</TargetFrameworks>

    <AssemblyTitle>Lucene.Net.Benchmark</AssemblyTitle>
    <Description>System for benchmarking the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
    <PackageTags>$(PackageTags);benchmark</PackageTags>
    <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
    <NoWarn>$(NoWarn);1591;1573</NoWarn>
  </PropertyGroup>

  <ItemGroup>
	<ProjectReference Include="..\dotnet\Lucene.Net.ICU\Lucene.Net.ICU.csproj" />
    <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
    <ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj" />
    <ProjectReference Include="..\Lucene.Net.Facet\Lucene.Net.Facet.csproj" />
    <ProjectReference Include="..\Lucene.Net.Highlighter\Lucene.Net.Highlighter.csproj" />
    <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
    <ProjectReference Include="..\Lucene.Net.QueryParser\Lucene.Net.QueryParser.csproj" />
    <ProjectReference Include="..\Lucene.Net.Spatial\Lucene.Net.Spatial.csproj" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="J2N" Version="$(J2NPackageVersion)" />
    <PackageReference Include="ICU4N.Collation" Version="$(ICU4NCollationPackageVersion)" />
    <PackageReference Include="Spatial4n.Core" Version="$(Spatial4nCorePackageVersion)" />
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' ">
    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
  </ItemGroup>
  
  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net451' ">
    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
  </ItemGroup>

  <ItemGroup>
    <InternalsVisibleTo Include="Lucene.Net.Tests.Benchmark" />
  </ItemGroup>

  <ItemGroup>
    <None Update="Support\TagSoup\HTMLSchema.tt">
      <Generator>TextTemplatingFileGenerator</Generator>
      <LastGenOutput>HTMLSchema.Generated.cs</LastGenOutput>
    </None>
  </ItemGroup>

  <ItemGroup>
    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
  </ItemGroup>

  <ItemGroup>
    <Compile Update="Support\TagSoup\HTMLSchema.Generated.cs">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
      <DependentUpon>HTMLSchema.tt</DependentUpon>
    </Compile>
  </ItemGroup>

</Project>
