﻿<?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);net45</TargetFrameworks>

    <AssemblyTitle>Lucene.Net</AssemblyTitle>
    <Description>Lucene.Net is a full-text search engine library capable of advanced text analysis, indexing, and searching. It can be used to easily add search capabilities to applications. Lucene.Net is a C# port of the popular Java Lucene search engine framework from The Apache Software Foundation, targeted at .NET Framework and .NET Core users.</Description>
    <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
    <NoWarn>$(NoWarn);1591;1573</NoWarn>
  </PropertyGroup>

  <PropertyGroup Label="NuGet Package File Paths">
    <LuceneNetDotNetDir>$(SolutionDir)src\dotnet\</LuceneNetDotNetDir>
    <LuceneNetCodeAnalysisToolsDir>$(LuceneNetDotNetDir)Lucene.Net.CodeAnalysis\tools\</LuceneNetCodeAnalysisToolsDir>
    <LuceneNetCodeAnalysisCSAssemblyFile>$(LuceneNetDotNetDir)\Lucene.Net.CodeAnalysis.CSharp\bin\$(Configuration)\netstandard2.0\*.dll</LuceneNetCodeAnalysisCSAssemblyFile>
    <LuceneNetCodeAnalysisVBAssemblyFile>$(LuceneNetDotNetDir)\Lucene.Net.CodeAnalysis.VisualBasic\bin\$(Configuration)\netstandard2.0\*.dll</LuceneNetCodeAnalysisVBAssemblyFile>
  </PropertyGroup>

  <ItemGroup Label="NuGet Package Files">
    <None Include="$(LuceneNetCodeAnalysisToolsDir)*.ps1" Pack="true" PackagePath="tools" />
    <None Include="$(LuceneNetCodeAnalysisCSAssemblyFile)" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
    <None Include="$(LuceneNetCodeAnalysisVBAssemblyFile)" Pack="true" PackagePath="analyzers/dotnet/vb" Visible="false" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="J2N" Version="$(J2NPackageVersion)" />
  </ItemGroup>
    
  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' ">
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
  </ItemGroup>

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

  <ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion_NET4_5_1)" />
  </ItemGroup>
  
  <ItemGroup>
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Common" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Kuromoji" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Morfologik" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Nori" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.OpenNLP" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Phonetic" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.SmartCn" />
    <InternalsVisibleTo Include="Lucene.Net.Analysis.Stempel" />
    <InternalsVisibleTo Include="Lucene.Net.Benchmark" />
    <InternalsVisibleTo Include="Lucene.Net.Classification" />
    <InternalsVisibleTo Include="Lucene.Net.Codecs" />
    <InternalsVisibleTo Include="Lucene.Net.Demo" />
    <InternalsVisibleTo Include="Lucene.Net.Expressions" />
    <InternalsVisibleTo Include="Lucene.Net.Facet" />
    <InternalsVisibleTo Include="Lucene.Net.Grouping" />
    <InternalsVisibleTo Include="Lucene.Net.Highlighter" />
    <InternalsVisibleTo Include="Lucene.Net.ICU" />
    <InternalsVisibleTo Include="Lucene.Net.Join" />
    <InternalsVisibleTo Include="Lucene.Net.Memory" />
    <InternalsVisibleTo Include="Lucene.Net.Misc" />
    <InternalsVisibleTo Include="Lucene.Net.Queries" />
    <InternalsVisibleTo Include="Lucene.Net.QueryParser" />
    <InternalsVisibleTo Include="Lucene.Net.Replicator" />
    <InternalsVisibleTo Include="Lucene.Net.Sandbox" />
    <InternalsVisibleTo Include="Lucene.Net.Spatial" />
    <InternalsVisibleTo Include="Lucene.Net.Suggest" />

    <InternalsVisibleTo Include="Lucene.Net.TestFramework" />
    <InternalsVisibleTo Include="Lucene.Net.TestFramework.MSTest" />
    <InternalsVisibleTo Include="Lucene.Net.TestFramework.NUnit" />
    <InternalsVisibleTo Include="Lucene.Net.TestFramework.xUnit" />
    
    <InternalsVisibleTo Include="Lucene.Net.Tests._A-D" />
    <InternalsVisibleTo Include="Lucene.Net.Tests._E-I" />
    <InternalsVisibleTo Include="Lucene.Net.Tests._I-J" />
    <InternalsVisibleTo Include="Lucene.Net.Tests._J-S" />
    <InternalsVisibleTo Include="Lucene.Net.Tests._T-Z" />

    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Common" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Kuromoji" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Phonetic" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Benchmark" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Expressions" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Facet" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Grouping" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Highlighter" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.ICU" /> <!-- For Analysis.Util.TestSegmentingTokenizerBase -->
    <InternalsVisibleTo Include="Lucene.Net.Tests.Join" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Misc" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Queries" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.QueryParser" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Cli" /> <!-- For lucene-cli -->
    <InternalsVisibleTo Include="Lucene.Net.Tests.Replicator" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Spatial" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.Suggest" />
    <InternalsVisibleTo Include="Lucene.Net.Tests.TestFramework" />
  </ItemGroup>

</Project>
