<Project Sdk="Dalamud.NET.Sdk/15.0.0">
    <PropertyGroup>
        <!-- Independent versioning; see yaml changelog for upstream Chat 2 base -->
        <Version>1.5.5</Version>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <!-- Use lock file to pin exact versions -->
        <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
        <!-- v1.0.0+: standalone fork, no upstream cherry-pick compatibility -->
        <AssemblyName>HellionChat</AssemblyName>
        <RootNamespace>HellionChat</RootNamespace>
    </PropertyGroup>

    <ItemGroup>
        <!-- Closed ranges prevent surprise major bumps during lock file regeneration -->
        <PackageReference Include="MessagePack" Version="[3.1.4, 4.0.0)" />
        <PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.7" />
        <!-- v1.5.0 DI-container foundation; matches Lightless pin (Hosting 10.0.7) -->
        <PackageReference
            Include="Microsoft.Extensions.DependencyInjection"
            Version="[10.0.7, 11.0.0)"
        />
        <PackageReference Include="Microsoft.Extensions.Hosting" Version="[10.0.7, 11.0.0)" />
        <PackageReference Include="Microsoft.Extensions.Logging" Version="[10.0.7, 11.0.0)" />
        <PackageReference Include="Microsoft.Extensions.Options" Version="[10.0.7, 11.0.0)" />
        <!-- SQLitePCLRaw override for CVE-2025-6965, CVE-2025-7709 (SQLite >= 3.50.3) -->
        <PackageReference Include="SQLitePCLRaw.lib.e_sqlite3" Version="3.50.3" />
        <PackageReference Include="morelinq" Version="4.4.0" />
        <!-- NAudio.WinMM 2.2.1 MIT - WaveOutEvent/WinMM path is Wine-safe (WaveOut works under Wine,
             Media-Foundation-based codecs do not). Using the sub-package avoids pulling in
             NAudio.WinForms (which requires WindowsDesktop and does not build on Linux hosts).
             WaveOutEvent and WaveFileReader both live in NAudio.WinMM + NAudio.Core. -->
        <PackageReference Include="NAudio.WinMM" Version="2.2.1" />
        <PackageReference Include="Pidgin" Version="[3.5.1, 4.0.0)" />
        <PackageReference Include="SixLabors.ImageSharp" Version="[3.1.12, 4.0.0)" />
    </ItemGroup>

    <ItemGroup>
        <!-- Test assembly needs access to internal helpers (not redistributed) -->
        <InternalsVisibleTo Include="HellionChat.Tests" />
    </ItemGroup>

    <ItemGroup>
        <Compile Update="Resources\Language.Designer.cs">
            <DesignTime>True</DesignTime>
            <AutoGen>True</AutoGen>
            <DependentUpon>Language.resx</DependentUpon>
        </Compile>
    </ItemGroup>

    <ItemGroup>
        <EmbeddedResource Update="Resources\Language.resx">
            <Generator>ResXFileCodeGenerator</Generator>
            <LastGenOutput>Language.Designer.cs</LastGenOutput>
        </EmbeddedResource>
    </ItemGroup>

    <!-- Embedded resources: bundled UI font (Inter Light, OFL-1.1) + manifest resource -->
    <ItemGroup>
        <EmbeddedResource Include="Resources\Inter-Light.ttf">
            <LogicalName>Inter-Light.ttf</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Resources\Inter-OFL.txt">
            <LogicalName>Inter-OFL.txt</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Resources\Branding\fox-banner.png">
            <LogicalName>HellionChat.Branding.fox-banner.png</LogicalName>
        </EmbeddedResource>
        <!-- Bundled custom notification sounds, Mono 44.1 kHz 16-bit PCM WAV (Wine-safe) -->
        <EmbeddedResource Include="Resources\Sounds\notification-1.wav">
            <LogicalName>HellionChat.Sounds.notification-1.wav</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Resources\Sounds\notification-2.wav">
            <LogicalName>HellionChat.Sounds.notification-2.wav</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Resources\Sounds\notification-3.wav">
            <LogicalName>HellionChat.Sounds.notification-3.wav</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Resources\Branding\fox-mini.txt">
            <LogicalName>HellionChat.Branding.fox-mini.txt</LogicalName>
        </EmbeddedResource>
        <EmbeddedResource Include="Themes\Builtin\example-theme.json">
            <LogicalName>HellionChat.Themes.Builtin.example-theme.json</LogicalName>
        </EmbeddedResource>
    </ItemGroup>

    <!-- Plugin icon: copy images/* to output for Dalamud discovery. ASCII
         study folder is source-only material, no need to ship it. -->
    <ItemGroup>
        <None Include="images\**" Exclude="images\ascii\**">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </None>
    </ItemGroup>
</Project>
