<Project>
  <!-- Set the repository root into a variable -->
  <PropertyGroup>
    <SourceRoot>$(MSBuildThisFileDirectory)</SourceRoot>
  </PropertyGroup>

  <PropertyGroup>
    <Version>0.104.0-rc1</Version>
  </PropertyGroup>

  <!-- Set common properties regarding assembly information and nuget packages -->
  <PropertyGroup>
    <Product>ClosedXML</Product>

    <Authors>Jan Havlíček, Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash</Authors>
    <Owners>Jan Havlíček, Francois Botha, Aleksei Pankratev</Owners>

    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/ClosedXML/ClosedXML</PackageProjectUrl>
    <PackageIcon>nuget-logo.png</PackageIcon>
    <PackageTags>Excel OpenXml xlsx</PackageTags>
    <Description>See release notes https://github.com/ClosedXML/ClosedXML/releases/tag/$(productVersion) ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.</Description>
    <PackageReleaseNotes>See https://github.com/ClosedXML/ClosedXML/releases/tag/$(productVersion)</PackageReleaseNotes>
    <RepositoryUrl>https://github.com/ClosedXML/ClosedXML</RepositoryUrl>
    <RepositoryType>git</RepositoryType>

    <!-- Sourcelink: https://github.com/dotnet/sourcelink/ -->
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
    <!-- Nuget won't accept dll in nuget and pdb in snupkg because they have different checksum.
         That is likely causes by Fody https://github.com/jbevain/cecil/issues/610. In the meantime,
         just include pdb directly to nuget. Pdb also has to embed untracked sources (likely sources
         for Polyfill package, because they are not a stored in repository). -->
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

    <LangVersion>9.0</LangVersion>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>$(NoWarn);NU1605;CS1591</NoWarn>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

    <!-- RBush is not strongly named and won't be. Disable signing, until I make a strongly named fork of RBush -->
    <SignAssembly>false</SignAssembly>
    <AssemblyOriginatorKeyFile>$(SourceRoot)/ClosedXML.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <!-- Make deterministic build (same binary is produced regardless of the machine building it) for CI -->
  <PropertyGroup Condition="'$(APPVEYOR)' != ''">
    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
  </PropertyGroup>

  <!-- Additional properties that might not be applicable to a local dev environment -->
  <PropertyGroup>
    <DefineConstants>$(AppVeyor)</DefineConstants>
  </PropertyGroup>

</Project>
