34 lines
1.5 KiB
XML
34 lines
1.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|||
|
|
|
||
|
|
<!-- nucleic-brokerd (docs/WINDOWS_PORT.md §2.3, §3.3): the C# child process of
|
||
|
|
nucleic-hostd that owns every Microsoft.WSL.Containers (wslc) call, exposed to Swift
|
||
|
|
as NDJSON JSON-RPC 2.0 over stdio.
|
||
|
|
|
||
|
|
The wslc WinRT surface is isolated behind IWslc, and the REAL facade is compiled only
|
||
|
|
when -p:UseWslc=true (a Windows machine with the preview NuGet reachable): the API is
|
||
|
|
public preview with breaking changes expected, and the M1 spike validates it. Every
|
||
|
|
other build — Linux CI, the fake-backed unit tests — compiles the portable core plus
|
||
|
|
an "unavailable" facade, so broker logic and RPC surface are testable everywhere. -->
|
||
|
|
<PropertyGroup>
|
||
|
|
<OutputType>Exe</OutputType>
|
||
|
|
<AssemblyName>nucleic-brokerd</AssemblyName>
|
||
|
|
<RootNamespace>NucleicBroker</RootNamespace>
|
||
|
|
</PropertyGroup>
|
||
|
|
|
||
|
|
<PropertyGroup Condition="'$(UseWslc)' == 'true'">
|
||
|
|
<TargetFramework>net9.0-windows10.0.26100.0</TargetFramework>
|
||
|
|
<DefineConstants>$(DefineConstants);USE_WSLC</DefineConstants>
|
||
|
|
</PropertyGroup>
|
||
|
|
|
||
|
|
<ItemGroup Condition="'$(UseWslc)' != 'true'">
|
||
|
|
<Compile Remove="Wslc/**/*.cs" />
|
||
|
|
</ItemGroup>
|
||
|
|
|
||
|
|
<ItemGroup Condition="'$(UseWslc)' == 'true'">
|
||
|
|
<!-- Version-pinned (docs/WINDOWS_PORT.md §15): bump deliberately per release, never
|
||
|
|
float — the API is preview and breaking changes must be absorbed behind IWslc. -->
|
||
|
|
<PackageReference Include="Microsoft.WSL.Containers" Version="[0.1.0-preview.1]" />
|
||
|
|
</ItemGroup>
|
||
|
|
|
||
|
|
</Project>
|