| 1 | <Project Sdk="Microsoft.NET.Sdk"> |
| 2 | <PropertyGroup> |
| 3 | <TargetFramework>net10.0</TargetFramework> |
| 4 | <ImplicitUsings>enable</ImplicitUsings> |
| 5 | <Nullable>enable</Nullable> |
| 6 | <LangVersion>14</LangVersion> |
| 7 | <IsPackable>false</IsPackable> |
| 8 | <RootNamespace>CascadeIDE.Tests</RootNamespace> |
| 9 | <AssemblyName>CascadeIDE.Tests</AssemblyName> |
| 10 | <!-- Паритет с CascadeIDE (SelfContained win-x64): иначе NETSDK1151 при ссылке на self-contained exe. --> |
| 11 | <RuntimeIdentifier>win-x64</RuntimeIdentifier> |
| 12 | <SelfContained>true</SelfContained> |
| 13 | </PropertyGroup> |
| 14 | <ItemGroup> |
| 15 | <ProjectReference Include="..\externals\acp-csharp\src\AgentClientProtocol\AgentClientProtocol.csproj" /> |
| 16 | <PackageReference Include="Avalonia.Headless.XUnit" Version="12.0.1" /> |
| 17 | <PackageReference Include="JsonSchema.Net" Version="9.2.0" /> |
| 18 | <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" /> |
| 19 | <PackageReference Include="Tomlyn" Version="2.3.2" /> |
| 20 | <PackageReference Include="xunit.v3" Version="3.2.2" /> |
| 21 | <PackageReference Include="xunit.runner.visualstudio" Version="3.1.5"> |
| 22 | <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |
| 23 | <PrivateAssets>all</PrivateAssets> |
| 24 | </PackageReference> |
| 25 | </ItemGroup> |
| 26 | <ItemGroup> |
| 27 | <ProjectReference Include="..\CascadeIDE.csproj" /> |
| 28 | <ProjectReference Include="..\CascadeIDE.Contracts\CascadeIDE.Contracts.csproj" /> |
| 29 | </ItemGroup> |
| 30 | <Target Name="CopyBuildVerifyWorker" AfterTargets="Build"> |
| 31 | <PropertyGroup> |
| 32 | <_BuildVerifyWorkerBin Condition="'$(RuntimeIdentifier)' != ''">..\tools\CascadeIDE.BuildVerifyWorker\bin\$(Configuration)\net10.0\$(RuntimeIdentifier)</_BuildVerifyWorkerBin> |
| 33 | <_BuildVerifyWorkerBin Condition="'$(RuntimeIdentifier)' == ''">..\tools\CascadeIDE.BuildVerifyWorker\bin\$(Configuration)\net10.0</_BuildVerifyWorkerBin> |
| 34 | </PropertyGroup> |
| 35 | <MSBuild |
| 36 | Projects="..\tools\CascadeIDE.BuildVerifyWorker\CascadeIDE.BuildVerifyWorker.csproj" |
| 37 | Properties="Configuration=$(Configuration);RuntimeIdentifier=$(RuntimeIdentifier)" |
| 38 | Targets="Build" /> |
| 39 | <ItemGroup> |
| 40 | <_BuildVerifyWorkerFiles Include="$(_BuildVerifyWorkerBin)\*.*" /> |
| 41 | </ItemGroup> |
| 42 | <Copy SourceFiles="@(_BuildVerifyWorkerFiles)" DestinationFolder="$(OutputPath)" SkipUnchangedFiles="true" /> |
| 43 | </Target> |
| 44 | <!-- Примеры для MarkdownExamplesVerificationTests — рядом с выводом тестов (см. тест). --> |
| 45 | <ItemGroup> |
| 46 | <None Include="..\samples\MarkdownExamples\**\*"> |
| 47 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 48 | <Link>samples\MarkdownExamples\%(RecursiveDir)%(Filename)%(Extension)</Link> |
| 49 | </None> |
| 50 | <None Include="..\CodeNavigation\presets.toml"> |
| 51 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 52 | <Link>CodeNavigation\presets.toml</Link> |
| 53 | </None> |
| 54 | <None Include="..\CodeNavigation\condition-branch-label-presets.toml"> |
| 55 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 56 | <Link>CodeNavigation\condition-branch-label-presets.toml</Link> |
| 57 | </None> |
| 58 | <!-- AiPrompts: промпт ADR 0108 веб-портала — см. WebAiPortalAdr0108PromptVerificationTests --> |
| 59 | <None Include="..\AiPrompts\web-ai-portal-bridge-adr0108.prompts.md"> |
| 60 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 61 | <Link>AiPrompts\web-ai-portal-bridge-adr0108.prompts.md</Link> |
| 62 | </None> |
| 63 | <None Include="..\AiPrompts\web-ai-portal-bridge-adr0108.chat-paste.txt"> |
| 64 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 65 | <Link>AiPrompts\web-ai-portal-bridge-adr0108.chat-paste.txt</Link> |
| 66 | </None> |
| 67 | <!-- Как у exe: Hotkeys/hotkeys.toml для тестов MainWindowHotkeyService (toggle_command_palette и т.д.). --> |
| 68 | <None Include="..\Hotkeys\hotkeys.toml"> |
| 69 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 70 | <Link>Hotkeys\hotkeys.toml</Link> |
| 71 | </None> |
| 72 | <!-- Паритет с Content CascadeIDE: fallback UiModeCatalog при отсутствии ресурсов в устаревшей CascadeIDE.dll (см. TryReadUiModesFile). --> |
| 73 | <None Include="..\UiModes\**\*"> |
| 74 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 75 | <Link>UiModes\%(RecursiveDir)%(Filename)%(Extension)</Link> |
| 76 | </None> |
| 77 | <None Include="TestData\AgentContract\cockpit_surface_contract_slice.approved.json"> |
| 78 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 79 | <Link>TestData\AgentContract\cockpit_surface_contract_slice.approved.json</Link> |
| 80 | </None> |
| 81 | <None Include="TestData\Visual\*.approved.png"> |
| 82 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 83 | <Link>TestData\Visual\%(Filename)%(Extension)</Link> |
| 84 | </None> |
| 85 | </ItemGroup> |
| 86 | </Project> |
| 87 | |