<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <Description>Minimal version from the lightweight Http Mocking Server for .NET</Description>
        <AssemblyTitle>WireMock.Net.Minimal</AssemblyTitle>
        <Authors>Stef Heyenrath</Authors>
        <TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <AssemblyName>WireMock.Net.Minimal</AssemblyName>
        <PackageId>WireMock.Net.Minimal</PackageId>
        <PackageTags>tdd;mock;http;wiremock;test;server;unittest</PackageTags>
        <RootNamespace>WireMock</RootNamespace>
        <ProjectGuid>{5501E6AC-6854-4ABD-8EC3-9AD0B62A08A9}</ProjectGuid>
        <PublishRepositoryUrl>true</PublishRepositoryUrl>
        <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
        <EmbedUntrackedSources>true</EmbedUntrackedSources>
        <SignAssembly>true</SignAssembly>
        <AssemblyOriginatorKeyFile>../WireMock.Net/WireMock.Net.snk</AssemblyOriginatorKeyFile>
        <!--<DelaySign>true</DelaySign>-->
        <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
    </PropertyGroup>

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

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

    <PropertyGroup Condition="'$(TargetFramework)' == 'net8.0' ">
        <DefineConstants>$(DefineConstants);TRAILINGHEADERS</DefineConstants>
    </PropertyGroup>

    <ItemGroup>
        <Compile Remove="Matchers\LinqMatcher.cs" />
    </ItemGroup>

    <ItemGroup>
        <!--<PackageReference Include="JmesPath.Net.SourceOnly" Version="1.0.330-20260213.1" />-->
        <PackageReference Include="JmesPath.Net" Version="1.0.330" />
        <PackageReference Include="NJsonSchema.Extensions" Version="0.1.0" />
        <PackageReference Include="NSwag.Core" Version="13.16.1" />
        <PackageReference Include="SimMetrics.Net" Version="1.0.5" />
        <PackageReference Include="TinyMapper.Signed" Version="4.0.0" />
        <PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="6.34.0" />
        <PackageReference Include="Scriban.Signed" Version="5.5.0" />
    </ItemGroup>

    <ItemGroup Condition=" '$(TargetFramework)' == 'net8.0'">
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>

    <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0'">
        <PackageReference Include="Microsoft.AspNetCore" Version="2.3.9" />
        <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.3.9" />
    </ItemGroup>

    <PropertyGroup>
        <!-- Suppress warnings from JmesPath source-only package -->
        <!--<NoWarn>$(NoWarn);CS8600;CS8602;CS8603;CS8604;CS8619;CS8625;CS0649</NoWarn>-->
    </PropertyGroup>

    <!--<ItemGroup>
        --><!-- Disable all warnings for JmesPath source-only package files --><!--
        <Compile Update="**\jmespath.net.sourceonly\**\*.cs">
            <NoWarn>$(NoWarn);CS0001-CS9999</NoWarn>
        </Compile>
    </ItemGroup>-->

    <ItemGroup>
        <Compile Update="Server\WireMockServer.*.cs">
            <DependentUpon>WireMockServer.cs</DependentUpon>
        </Compile>
    </ItemGroup>

    <ItemGroup>
        <Compile Update="RequestBuilders\Request.*.cs">
            <DependentUpon>Request.cs</DependentUpon>
        </Compile>
    </ItemGroup>

    <ItemGroup>
        <Compile Update="ResponseBuilders\Response.*.cs">
            <DependentUpon>Response.cs</DependentUpon>
        </Compile>
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\WireMock.Net.Shared\WireMock.Net.Shared.csproj" />
        <ProjectReference Include="..\WireMock.Org.Abstractions\WireMock.Org.Abstractions.csproj" />
        <ProjectReference Include="..\WireMock.Net.OpenApiParser\WireMock.Net.OpenApiParser.csproj" />
    </ItemGroup>

</Project>