Repository navigation
Expand file tree
/
Copy pathhost-tools.json
More file actions
18 lines (18 loc) · 2.21 KB
/
Copy pathhost-tools.json
File metadata and controls
18 lines (18 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"note": "This repository's own host-tool declaration, layered over the fleet declaration in the hub's spec/host-tools.json by the hub's scripts/host_gate.py, which reads this file relative to its --repo argument. Layering is tighten-only: an entry here may add a tool, raise a floor, or turn an optional tool required, and may not lower a floor or turn a required tool optional. It carries no $schema pointer, because the schemas are hub-only and no selector carries one, so a relative pointer here would resolve to a path this repository does not have. Only the .NET SDK is declared. The media tools PlexCleaner orchestrates (FFmpeg, HandBrake, MkvToolNix, MediaInfo, 7-Zip) are runtime dependencies of the application rather than of working on the repository, the unit tests do not need them, and the regression harness that does documents its own host in RegressionTests/README.md, so declaring them here would fail a host that only builds and tests.",
"tools": [
{
"name": "dotnet",
"required": true,
"probes": [["dotnet", "--version"]],
"pattern": "(\\d+(?:\\.\\d+)*)",
"minimum": "10.0",
"why": "The build toolchain, and the clean-compile verification CODESTYLE.md requires before a commit runs through it. The floor is the target framework rather than a measured breakage one version below it, and it says so rather than implying a defect nobody found: Directory.Build.props targets net10.0, so an SDK below 10.0 cannot restore or build the solution at all, and the CI workflows install `10.x` through actions/setup-dotnet. The probe reads the SDK version the current directory resolves, so a host carrying several SDKs passes when the newest meets the floor.",
"source": {
"linux": "The Microsoft package repository per https://learn.microsoft.com/dotnet/core/install/linux, or the dotnet-install script, and not a distribution package that trails upstream.",
"macos": "The installer from https://dotnet.microsoft.com/download, or Homebrew's dotnet-sdk cask.",
"windows": "winget (Microsoft.DotNet.SDK.10), or the installer from https://dotnet.microsoft.com/download."
}
}
]
}