163dd7ab5c
The build-platform note added alongside the proto wiring quoted docker-dev's `FROM --platform=linux/amd64` verbatim inside an MSBuild comment. XML forbids '--' in a comment, so MSBuild refused to load the project at all (MSB4025) -- a total build stop for every consumer of .Contracts, i.e. the whole MQTT driver, the Host, and the test suite. Reworded to name the platform in prose. Caught by rebuilding after the edit; the preceding commit was made from a build that predated it. Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
37 lines
1.9 KiB
XML
37 lines
1.9 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Core\ZB.MOM.WW.OtOpcUa.Core.Abstractions\ZB.MOM.WW.OtOpcUa.Core.Abstractions.csproj"/>
|
|
</ItemGroup>
|
|
|
|
<!-- Sparkplug B (P2): the vendored Eclipse Tahu schema is compiled here, in the one assembly all
|
|
four MQTT projects reference. Message-only codegen (GrpcServices="None") — Sparkplug rides MQTT,
|
|
there is no gRPC service, so no Grpc.Core.Api runtime reference is needed (Commons, this repo's
|
|
other locally-compiled proto, takes one only because it generates service stubs).
|
|
|
|
Google.Protobuf is a SERIALIZATION dependency, not a transport one, so .Contracts stays
|
|
transport-free: it still has no MQTTnet reference (dropped in Task 1) and Google.Protobuf's own
|
|
graph is framework-only. Grpc.Tools is build-time (PrivateAssets=all) and flows to no consumer.
|
|
|
|
Build-platform note (inherited, not new): Grpc.Tools' bundled linux_arm64 protoc segfaults
|
|
(exit 139) under Apple-Silicon Docker, which is why docker-dev/Dockerfile pins its build stage
|
|
to the linux/amd64 platform. That pin already exists for the Commons proto; this project adds
|
|
a second .proto to the same already-pinned build, not a new constraint. -->
|
|
<ItemGroup>
|
|
<PackageReference Include="Google.Protobuf"/>
|
|
<PackageReference Include="Grpc.Tools">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
</PackageReference>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Protobuf Include="Protos\sparkplug_b.proto" GrpcServices="None"/>
|
|
</ItemGroup>
|
|
</Project>
|