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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <RootNamespace>KPX.FsCqHttp</RootNamespace>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <OtherFlags>--warnon:1182 --sig:temp.fsi</OtherFlags>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="DomainTypes.fs" />
    <Compile Include="ConfigBase.fs" />
    <Compile Include="Message\MessageTypes.fs" />
    <Compile Include="Message\MessageSection.fs" />
    <Compile Include="Message\Message.fs" />
    <Compile Include="Event\EventResponse.fs" />
    <Compile Include="Event\MessageTypes\PrivateSender.fs" />
    <Compile Include="Event\MessageTypes\PrivateMessageSubtype.fs" />
    <Compile Include="Event\MessageTypes\MessageTypeUnion.fs" />
    <Compile Include="Event\MessageTypes\GroupMessageSubtype.fs" />
    <Compile Include="Event\MessageTypes\GroupSenderRole.fs" />
    <Compile Include="Event\MessageTypes\GroupSender.fs" />
    <Compile Include="Event\MessageTypes\AnonymousUser.fs" />
    <Compile Include="Event\MessageEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupFile.fs" />
    <Compile Include="Event\NoticeTypes\GroupUploadEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupAdminEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupDecreaseEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupIncreaseEvent.fs" />
    <Compile Include="Event\NoticeTypes\FriendAddEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupRecallEvent.fs" />
    <Compile Include="Event\NoticeTypes\FriendRecallEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupBanEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupNotifyEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupCardEvent.fs" />
    <Compile Include="Event\NoticeTypes\GroupEssence.fs" />
    <Compile Include="Event\NoticeEvents.fs" />
    <Compile Include="Event\RequestEvents\FriendRequestEvent.fs" />
    <Compile Include="Event\RequestEvents\GroupRequestEvent.fs" />
    <Compile Include="Event\RequestEvents.fs" />
    <Compile Include="Event\MetaEvents.fs" />
    <Compile Include="Api\ApiResponse.fs" />
    <Compile Include="Api\ApiBase.fs" />
    <Compile Include="Api\System\QuickOperation.fs" />
    <Compile Include="Api\System\GetLoginInfo.fs" />
    <Compile Include="Api\System\CanSend.fs" />
    <Compile Include="Api\System\SendMsg.fs" />
    <Compile Include="Api\System\RevokeMsg.fs" />
    <Compile Include="Api\Private\GetStrangerInfo.fs" />
    <Compile Include="Api\Private\SetFriendAddRequest.fs" />
    <Compile Include="Api\Private\SendPrivateMsg.fs" />
    <Compile Include="Api\Group\SendGroupMsg.fs" />
    <Compile Include="Api\Group\GetGroupList.fs" />
    <Compile Include="Api\Group\GetGroupMemberInfo.fs" />
    <Compile Include="Api\Group\GetGroupMemberList.fs" />
    <Compile Include="Api\Group\SetGroupAddRequest.fs" />
    <Compile Include="Api\Group\SetGroupKick.fs" />
    <Compile Include="Api\Group\SetGroupBan.fs" />
    <Compile Include="Api\Group\SetGroupAnonymousBan.fs" />
    <Compile Include="Api\Group\SetGroupWholeBan.fs" />
    <Compile Include="Api\Group\SetGroupAdmin.fs" />
    <Compile Include="Api\Group\SetGroupAnonymous.fs" />
    <Compile Include="Api\Group\SetGroupCard.fs" />
    <Compile Include="Api\Group\SetGroupLeave.fs" />
    <Compile Include="Api\Group\SetGroupSpecialTitle.fs" />
    <Compile Include="Handler\HandlerErrorHandling.fs" />
    <Compile Include="Handler\CqEvent.fs" />
    <Compile Include="Handler\HandlerBase.fs" />
    <Compile Include="Handler\CommandHandler.fs" />
    <Compile Include="Utils\AuthLevel.fs" />
    <Compile Include="Utils\TextTable\Common.fs" />
    <Compile Include="Utils\TextTable\TableCell.fs" />
    <Compile Include="Utils\TextTable\TableCellHelper.fs" />
    <Compile Include="Utils\TextTable\Cell.fs" />
    <Compile Include="Utils\TextTable\DrawParameters.fs" />
    <Compile Include="Utils\TextTable\TableImageRender.fs" />
    <Compile Include="Utils\TextTable\TableTextRender.fs" />
    <Compile Include="Utils\TextTable\TextTable.fs" />
    <Compile Include="Utils\TextTable\TextResponse.fs" />
    <Compile Include="Utils\TextTable\Extensions.fs" />
    <Compile Include="Utils\AliasMapper.fs" />
    <Compile Include="Utils\UserOptionV2.fs" />
    <Compile Include="Utils\Subcommands.fs" />
    <Compile Include="Instance\ModuleInfo.fs" />
    <Compile Include="Instance\ContextModuleLoader.fs" />
    <Compile Include="Instance\EventDispatcher.fs" />
    <Compile Include="Instance\CqWsContext.fs" />
    <Compile Include="Instance\ContextApi.fs" />
    <Compile Include="Instance\ActiveWebsocket.fs" />
    <Compile Include="Instance\ReverseWebSocket.fs" />
    <Compile Include="Testing\TestContext.fs" />
    <Compile Include="Modules\HelpModule.fs" />
    <Compile Include="FsCqHttpConfigParser.fs" />
    <Compile Include="AssemblyInfo.fs" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="NLog" Version="5.2.4" />
    <PackageReference Include="SkiaSharp" Version="2.88.6" />
    <PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.88.6" />
    <PackageReference Include="System.Net.WebSockets.Client" Version="4.3.2" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Update="FSharp.Core" Version="7.0.400" />
  </ItemGroup>

</Project>
