<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <Description>Commonly used interfaces, models, enumerations and types.</Description>
        <AssemblyTitle>WireMock.Net.Abstractions</AssemblyTitle>
        <Authors>Stef Heyenrath</Authors>
        <TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);1591;8603</NoWarn>
        <AssemblyName>WireMock.Net.Abstractions</AssemblyName>
        <PackageId>WireMock.Net.Abstractions</PackageId>
        <PackageTags>wiremock;wiremock.org;interfaces;models;classes;enumerations;types</PackageTags>
        <RootNamespace>WireMock</RootNamespace>
        <ProjectGuid>{B6269AAC-170A-4346-8B9A-579DED3D9A94}</ProjectGuid>
        <PublishRepositoryUrl>true</PublishRepositoryUrl>
        <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
        <EmbedUntrackedSources>true</EmbedUntrackedSources>
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
        <SignAssembly>true</SignAssembly>
        <AssemblyOriginatorKeyFile>../WireMock.Net/WireMock.Net.snk</AssemblyOriginatorKeyFile>
        <!--<DelaySign>true</DelaySign>-->
        <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
        <PackageLicenseExpression>MIT</PackageLicenseExpression>
    </PropertyGroup>

    <PropertyGroup Condition="'$(Configuration)' == 'Debug - Sonar'">
        <CodeAnalysisRuleSet>../WireMock.Net/WireMock.Net.ruleset</CodeAnalysisRuleSet>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
        <!--<PathMap>$(MSBuildProjectDirectory)=/</PathMap>-->
        <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    </PropertyGroup>

    <!--<ItemGroup Condition=" '$(TargetFramework)' == 'net48' ">
        --><!-- CVE-2018-8292 / https://github.com/advisories/GHSA-7jgj-8wvc-jh57 --><!--
        <PackageReference Include="System.Net.Http" Version="4.3.4" />
    </ItemGroup>-->

    <ItemGroup>
        <PackageReference Include="FluentBuilder" Version="0.13.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
    </ItemGroup>

    <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'netstandard2.1' ">
        <PackageReference Include="Required" Version="1.0.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="IsExternalInit" Version="1.0.3">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Nullable" Version="1.3.1">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
    </ItemGroup>

</Project>