<Project Sdk="Microsoft.NET.Sdk">
  <!-- =================================================================== -->
  <!-- Version numbers -->
  <!-- Automatically updated by gitversion (run `dotnet-gitversion /updateprojectfiles`)  -->
  <!-- GitVersion.xml controls settings  -->
  <!-- =================================================================== -->
  <PropertyGroup>
    <Version>2.0.0</Version>
  </PropertyGroup>
  <!-- =================================================================== -->
  <!-- .NET Build Settings -->
  <!-- =================================================================== -->
  <PropertyGroup>
    <TargetFrameworks>net8.0</TargetFrameworks>
    <LangVersion>12</LangVersion>
    <RootNamespace>Terminal.Gui</RootNamespace>
    <AssemblyName>Terminal.Gui</AssemblyName>
    <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
    <DefineConstants>$(DefineConstants);JETBRAINS_ANNOTATIONS;CONTRACTS_FULL</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>portable</DebugType>
    <VersionSuffix></VersionSuffix>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DefineConstants>TRACE;DEBUG_IDISPOSABLE</DefineConstants>
    <DebugType>portable</DebugType>
  </PropertyGroup>
  <!-- =================================================================== -->
  <!-- Configuration Manager -->
  <!-- =================================================================== -->
  <ItemGroup>
    <None Remove="Resources\config.json" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources\config.json" />
  </ItemGroup>
  <!-- =================================================================== -->
  <!-- Dependencies -->
  <!-- =================================================================== -->
  <ItemGroup>
    <PackageReference Include="JetBrains.Annotations" Version="2023.3.0" />
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
    <!-- Enable Nuget Source Link for github -->
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
    <PackageReference Include="System.IO.Abstractions" Version="20.0.15" />
    <PackageReference Include="System.Text.Json" Version="8.0.2" />
    <PackageReference Include="Wcwidth" Version="2.0.0" />
  </ItemGroup>
  <!-- =================================================================== -->
  <!-- Namespaces for which internal items are visible -->
  <!-- =================================================================== -->
  <ItemGroup>
    <InternalsVisibleTo Include="UnitTests" />
  </ItemGroup>
  <PropertyGroup>
    <!-- Uncomment the RestoreSources element to have dotnet restore pull NStack from a local dir for testing -->
    <!-- See https://stackoverflow.com/a/44463578/297526 -->
    <!--<RestoreSources>$(RestoreSources);..\..\NStack\NStack\bin\Debug;https://api.nuget.org/v3/index.json</RestoreSources>-->
  </PropertyGroup>
  <!-- =================================================================== -->
  <!-- API Documentation -->
  <!-- =================================================================== -->
  <ItemGroup>
    <None Include="..\docfx\images\logo.png">
      <Pack>True</Pack>
      <PackagePath>\</PackagePath>
    </None>
    <None Include="..\README.md">
      <Pack>True</Pack>
      <PackagePath>\</PackagePath>
    </None>
  </ItemGroup>
  <!-- =================================================================== -->
  <!-- i18 -->
  <!-- =================================================================== -->
  <ItemGroup>
    <Compile Update="Resources\Strings.Designer.cs">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
      <DependentUpon>Strings.resx</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Update="Resources\Strings.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Strings.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <Using Include="JetBrains.Annotations" />
    <Using Include="System.Diagnostics.Contracts.PureAttribute" Alias="PureAttribute" />
    <Using Include="System.Drawing.Rectangle" Alias="Rectangle" />
    <Using Include="System.Text" />
    <Using Include="JetBrains.Annotations" />
  </ItemGroup>
  <!-- =================================================================== -->
  <!-- Nuget  -->
  <!-- =================================================================== -->
  <PropertyGroup>
    <PackageId>Terminal.Gui</PackageId>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/gui-cs/Terminal.Gui/</PackageProjectUrl>
    <PackageIcon>logo.png</PackageIcon>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageTags>csharp, terminal, c#, f#, gui, toolkit, console, tui</PackageTags>
    <Description>Cross platform Terminal UI toolkit for .NET</Description>
    <Owners>Miguel de Icaza, Tig Kindel</Owners>
    <Summary>A toolkit for building rich console apps for .NET that works on Windows, Mac, and Linux/Unix.</Summary>
    <Title>Terminal.Gui - Cross platform Terminal User Interface (TUI) toolkit for .NET</Title>
    <PackageReleaseNotes>
      See: https://github.com/gui-cs/Terminal.Gui/releases
    </PackageReleaseNotes>
    <DocumentationFile>bin\Release\Terminal.Gui.xml</DocumentationFile>
    <GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Debug' ">true</GeneratePackageOnBuild>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <RepositoryUrl>https://github.com/gui-cs/Terminal.Gui.git</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
    <!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <!-- Embed source files that are not tracked by the source control manager in the PDB -->
    <GitRepositoryRemoteName>upstream</GitRepositoryRemoteName>
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <EnableSourceLink>true</EnableSourceLink>
    <!--<DebugType>Embedded</DebugType>-->
    <Authors>Miguel de Icaza, Tig Kindel (@tig), @BDisp</Authors>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
</Project>
