Closed bernardnormier closed 6 days ago
Yes, the IceRpc.BuildTelemetry.Reporter.csproj
seems to be pulling the IceRpc.Slice.Tools
NuGet package:
<PackageReference Include="IceRpc.Slice.Tools" Version="0.3.*" PrivateAssets="All" />
instead of using the locally built one:
<Import Project="../../tools/IceRpc.Slice.Tools/IceRpc.Slice.Tools.targets" />
Unfortunately, it's not as simple as updating these lines...
IceRpc.Slice.Tools
requires the IceRpc.BuildTelemetry.Reporter
package (so it can report telemetry for compiled Slice)...
So IceRpc.BuildTelemetry.Reporter
can't depend on IceRpc.Slice.Tools
(since that would be circular then).
The next easiest solution I see is to copy the core pieces of IceRpc.Slice.Tools
into the Reporter
, so it can run slicec-cs
on it's own, with no dependency on IceRpc.Slice.Tools
at all.
Do we even want to collect build telemetry for people building the telemetry task itself? I'm not sure we care about that.
There is a circular dependency at the package level.
IceRpc.BuildTelemetry.Reporter
needs to include the IceRpc
assemblies and we need IceRpc.Slice.Tools
to build them. But we also want to distribute IceRpc.BuildTelemetry.Reporter
as part of the IceRpc.Slice.Tools
package.
I think we have to restructure things to:
IceRpc.Slice.Tools
-> IceRpc
-> IceRpc.BuildTelemetry.Reporter
IceRpc.Slice.Tools should have no dependencies on the build telemetry
IceRpc.Slice.Tools
to include the telemetry reporter.
It appears the build system is currently using some other slicec-cs, not the one you've just built from sources.