<Project Sdk="MSBuild.Sdk.Extras/3.0.44">

  <PropertyGroup>
    <!--Work around so the conditions work below-->
    <!--<TargetFrameworks>netstandard1.0;netstandard2.0;Xamarin.iOS10;MonoAndroid10.0;net8.0;net8.0-android;net8.0-ios</TargetFrameworks>-->
    <TargetFrameworks>net8.0;net8.0-android;net8.0-ios</TargetFrameworks>

    <AssemblyName>Plugin.NFC</AssemblyName>
    <RootNamespace>Plugin.NFC</RootNamespace>
    <PackageId>Plugin.NFC</PackageId>

    <Product>$(AssemblyName) ($(TargetFramework))</Product>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <AssemblyFileVersion>1.0.0.0</AssemblyFileVersion>
    <Version>1.0.0.0</Version>
    <PackageVersion>1.0.0.0</PackageVersion>
    <PackOnBuild>true</PackOnBuild>
    <NeutralLanguage>en</NeutralLanguage>
    <DefineConstants>$(DefineConstants);</DefineConstants>
    <NoWarn>CS0067</NoWarn>

    <UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
    <LangVersion>latest</LangVersion>
    <DebugType>portable</DebugType>

    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/franckbour/Plugin.NFC</PackageProjectUrl>
    <RepositoryUrl>https://github.com/franckbour/Plugin.NFC</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <PackageReleaseNotes>https://github.com/franckbour/Plugin.NFC/blob/master/CHANGELOG.md</PackageReleaseNotes>
    <PackageIconUrl>https://github.com/franckbour/Plugin.NFC/raw/master/art/nfc128.png</PackageIconUrl>
    <PackageIcon>icon.png</PackageIcon>
    <PackageTags>maui, xamarin, ios, android, xamarin.forms, plugin, NFC</PackageTags>

    <Title>NFC Plugin for Xamarin</Title>
    <Summary>A Cross-Platform plugin to easily read and write NFC tags.</Summary>
    <Description>Cross-Platform NFC (Near Field Communication) plugin to easily read and write NFC tags in your application.</Description>

    <Owners>Franck Bour</Owners>
    <Authors>Franck Bour</Authors>
    <Copyright>Copyright 2022</Copyright>

    <!-- When built in 2019 will remove extra references on pack for iOS in System.Drawing.Common -->
    <DisableExtraReferences>false</DisableExtraReferences>

  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <GenerateDocumentationFile>false</GenerateDocumentationFile>
  </PropertyGroup>

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

    <!-- sourcelink: Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <!-- sourcelink: Embed source files that are not tracked by the source control manager in the PDB -->
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <!-- sourcelink: Include PDB in the built .nupkg -->
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

  </PropertyGroup>

  <PropertyGroup>
    <_NET8 Condition=" $(TargetFramework.Contains('net8')) ">true</_NET8>
    <_DROID Condition=" $(TargetFramework.ToLowerInvariant().Contains('droid')) ">true</_DROID>
    <_IOS Condition=" $(TargetFramework.ToLowerInvariant().Contains('ios')) ">true</_IOS>
    <_MOBILE Condition=" '$(_DROID)' == 'true' OR '$(_IOS)' == 'true' ">true</_MOBILE>

    <DefineConstants Condition=" '$(_DROID)' == 'true' ">$(DefineConstants);__ANDROID__;__MOBILE__;</DefineConstants>
    <DefineConstants Condition=" '$(_IOS)' == 'true' ">$(DefineConstants);__IOS__;__MOBILE__;</DefineConstants>
    <DefineConstants Condition=" '$(_NET8)' == 'true' ">$(DefineConstants);__NET8__;</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(_NET8)' == 'true' AND '$(_MOBILE)' == 'true' ">
    <SupportedOSPlatformVersion Condition="'$(_IOS)' == 'true'">11.0</SupportedOSPlatformVersion>
    <SupportedOSPlatformVersion Condition="'$(_DROID)' == 'true'">21.0</SupportedOSPlatformVersion> 
  </PropertyGroup>
  
  <!-- Deterministic Builds (Azure Pipelines) -->
  <PropertyGroup Condition="'$(TF_BUILD)' == 'true'">
    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
  </PropertyGroup>

  <ItemGroup Condition=" '$(Configuration)' == 'Release' ">
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <None Include="..\..\art\nfc128.png" PackagePath="icon.png" Pack="true" />
    <Compile Include="**\*.shared.cs" />
  </ItemGroup>

  <ItemGroup Condition=" $(TargetFramework.StartsWith('netstandard')) OR '$(TargetFramework)' == 'net8.0' ">
  </ItemGroup>

  <ItemGroup Condition=" '$(_DROID)' == 'true' ">
    <Compile Include="**\*.android.cs" />
  </ItemGroup>

  <ItemGroup Condition=" '$(_IOS)' == 'true' ">
    <Compile Include="**\*.iOS.cs" />
  </ItemGroup>

</Project>
