<Project Sdk="Microsoft.NET.Sdk" InitialTargets="Log">
   <PropertyGroup>
      <Copyright>Copyright (c) 2015-2022 by Ivan Gavryliuk</Copyright>
      <AssemblyTitle>Config.Net</AssemblyTitle>
      <Authors>Ivan Gavryliuk (@aloneguid)</Authors>
      <AssemblyName>Config.Net</AssemblyName>
      <PackageId>Config.Net</PackageId>
      <AssemblyVersion>4.0.0.0</AssemblyVersion>
      <FileVersion>4.7.3.0</FileVersion>
      <Version>4.7.3</Version>
      <Description>Super simple configuration framework for .NET focused on developer ergonomics and strong typing. Supports multiple configuration sources such as .ini, .json, .xml files, as well as external providers pluggable by other NuGet packages.</Description>
      <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
      <WarningsAsErrors />      
      <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
      <PackageIconUrl />
      <Nullable>enable</Nullable>
      <LangVersion>latest</LangVersion>
      <PackageProjectUrl>https://github.com/aloneguid/config</PackageProjectUrl>
      <RepositoryUrl>https://github.com/aloneguid/config</RepositoryUrl>
      
   </PropertyGroup>

   <Choose>
      <When Condition="'$(OS)' == 'Windows_NT'">
         <PropertyGroup>
            <TargetFrameworks>netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
         </PropertyGroup>
      </When>
      <Otherwise>
         <PropertyGroup>
            <TargetFrameworks>netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0;net6.0;net7.0</TargetFrameworks>
         </PropertyGroup>
      </Otherwise>
   </Choose>

   <PropertyGroup Condition="'$(Configuration)' == 'Release'">
      <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
   </PropertyGroup>

   <Target Name="Log">
      <Message Text="HELLO $(OS)" Importance="high" />
   </Target>

   <ItemGroup>
      <PackageReference Include="Castle.Core" Version="5.0.0" />
      <PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" />
   </ItemGroup>

   <!-- we need latest system.text.json in order to support writeable json in earlier targets -->
   <ItemGroup Condition="'$(TargetFramework)' != 'net6.0'">
      <PackageReference Include="System.Text.Json" Version="6.0.5" />
   </ItemGroup>

   <ItemGroup>
      <Folder Include="Properties\" />
   </ItemGroup>

   <ItemGroup>
     <PackageReference Update="DotNet.ReproducibleBuilds" Version="1.1.1">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
     </PackageReference>
   </ItemGroup>
</Project>