<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <Description>Lightweight StandAlone Http Mocking Server for .Net.</Description>
        <AssemblyTitle>WireMock.Net.StandAlone</AssemblyTitle>
        <Authors>Stef Heyenrath</Authors>
        <TargetFrameworks>netstandard2.1;net8.0</TargetFrameworks>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <AssemblyName>WireMock.Net.StandAlone</AssemblyName>
        <PackageId>WireMock.Net.StandAlone</PackageId>
        <PackageTags>tdd;mock;http;wiremock;test;server;unittest</PackageTags>
        <RootNamespace>WireMock.Net.StandAlone</RootNamespace>
        <ProjectGuid>{B6269AAC-170A-43D5-8B9A-579DED3D9A95}</ProjectGuid>
        <PublishRepositoryUrl>true</PublishRepositoryUrl>
        <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
        <EmbedUntrackedSources>true</EmbedUntrackedSources>
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
        <CodeAnalysisRuleSet>WireMock.Net.StandAlone.ruleset</CodeAnalysisRuleSet>
        <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>


    <!-- Enable OpenTelemetry exporter support for .NET 8+ -->
    <PropertyGroup Condition="' $(TargetFramework)' == 'net8.0' ">
        <DefineConstants>$(DefineConstants);OPENTELEMETRY_SUPPORTED</DefineConstants>
    </PropertyGroup>

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

    <ItemGroup>
        <ProjectReference Include="..\WireMock.Net\WireMock.Net.csproj" />
    </ItemGroup>

    <!-- OpenTelemetry exporter for .NET 8+ -->
    <ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
        <ProjectReference Include="..\WireMock.Net.OpenTelemetry\WireMock.Net.OpenTelemetry.csproj" />
    </ItemGroup>
</Project>