18 instantiations of WorkloadPackId
dotnet (6)
Commands\Workload\Install\FileBasedInstaller.cs (3)
848var packId = new WorkloadPackId(Path.GetFileName(packIdDir)); 872var path = GetPackInstallRecordPath(new WorkloadPackId(packInfo.ResolvedPackageId), packInfo.Version, featureBand); 882var packInstallRecord = GetPackInstallRecordPath(new WorkloadPackId(packInfo.ResolvedPackageId), packInfo.Version, featureBand);
Commands\Workload\Install\NetSdkMsiInstallerClient.InstallRecords.cs (2)
334record.InstalledPacks.Add((new WorkloadPackId(packId), new NuGetVersion(packVersion))); 370record.InstalledPacks.Add((new WorkloadPackId(packId), new NuGetVersion(packVersion)));
Commands\Workload\Install\WorkloadGarbageCollector.cs (1)
175PacksToKeep.Add((new WorkloadPackId(pack.ResolvedPackageId), pack.Version));
dotnet.Tests (8)
CommandTests\Workload\Clean\GivenDotnetWorkloadClean.cs (1)
149var packRecordContents = JsonSerializer.Serialize<WorkloadResolver.PackInfo>(new(new WorkloadPackId("Test.Pack.A"), "1.0.0", WorkloadPackKind.Sdk, packPath, "Test.Pack.A"));
CommandTests\Workload\Install\GivenFileBasedWorkloadInstall.cs (1)
141=> new(new WorkloadPackId(id), version, kind, path, resolvedPackageId);
CommandTests\Workload\Install\WorkloadGarbageCollectionTests.cs (1)
310return new PackInfo(new WorkloadPackId(id), version, kind, path, resolvedPackageId);
CommandTests\Workload\Repair\GivenDotnetWorkloadRepair.cs (1)
91var packRecordContents = JsonSerializer.Serialize<WorkloadResolver.PackInfo>(new(new WorkloadPackId("Test.Pack.A"), "1.0.0", WorkloadPackKind.Sdk, extraPackPath, "Test.Pack.A"));
CommandTests\Workload\Update\GivenDotnetWorkloadUpdate.cs (4)
64var mauiAndroidPack = new PackInfo(new WorkloadPackId("maui-android-pack"), "34.0", WorkloadPackKind.Sdk, "androidDir", "maui-android-pack"); 65var mauiIosPack = new PackInfo(new WorkloadPackId("maui-ios-pack"), "16.4", WorkloadPackKind.Framework, "iosDir", "maui-ios-pack"); 74id => new List<WorkloadPackId>() { new WorkloadPackId(id.ToString() + "-pack") }, 272static PackInfo CreatePackInfo(string id, string version, WorkloadPackKind kind, string path, string resolvedPackageId) => new(new WorkloadPackId(id), version, kind, path, resolvedPackageId);
Microsoft.DotNet.TemplateLocator (4)
WorkloadManifestReader.cs (3)
285var packId = new WorkloadPackId(reader.GetString() ?? string.Empty); 450packs = ReadStringArray<WorkloadPackId>(ref reader, s => new WorkloadPackId(s)); 541aliasTo = ReadStringDictionary(ref reader, s => new WorkloadPackId(s));
WorkloadPackId.cs (1)
51new(reader.GetString() ?? string.Empty);
89 references to WorkloadPackId
dotnet (8)
Commands\Workload\Install\FileBasedInstaller.cs (5)
500Dictionary<(WorkloadPackId packId, string packVersion), List<SdkFeatureBand>> packInstallRecords = GetAllPackInstallRecords(); 832private string GetPackInstallRecordPath(WorkloadPackId packId, string packVersion, SdkFeatureBand featureBand) => 835private Dictionary<(WorkloadPackId packId, string packVersion), List<SdkFeatureBand>> GetAllPackInstallRecords() 837Dictionary<(WorkloadPackId packId, string packVersion), List<SdkFeatureBand>> records = []; 848var packId = new WorkloadPackId(Path.GetFileName(packIdDir));
Commands\Workload\Install\NetSdkMsiInstallerClient.cs (1)
82private IEnumerable<(WorkloadPackId Id, string Version)> GetInstalledPacks(SdkFeatureBand sdkFeatureBand)
Commands\Workload\Install\WorkloadGarbageCollector.cs (1)
39public HashSet<(WorkloadPackId id, string version)> PacksToKeep = [];
Installer\Windows\WorkloadPackRecord.cs (1)
51public List<(WorkloadPackId id, NuGetVersion version)> InstalledPacks { get; set; } = [];
dotnet.Tests (9)
CommandTests\Workload\Search\MockWorkloadResolver.cs (8)
14private readonly Func<WorkloadId, IEnumerable<WorkloadPackId>> _getPacksInWorkload; 15private readonly Func<WorkloadPackId, WorkloadResolver.PackInfo> _getPackInfo; 21Func<WorkloadId, IEnumerable<WorkloadPackId>> getPacks = null, 22Func<WorkloadPackId, WorkloadResolver.PackInfo> getPackInfo = null, 35public IEnumerable<WorkloadPackId> GetPacksInWorkload(WorkloadId workloadId) => _getPacksInWorkload?.Invoke(workloadId) ?? throw new NotImplementedException(); 38public ISet<WorkloadResolver.WorkloadInfo> GetWorkloadSuggestionForMissingPacks(IList<WorkloadPackId> packId, out ISet<WorkloadPackId> unsatisfiablePacks) => throw new NotImplementedException(); 40public WorkloadResolver.PackInfo TryGetPackInfo(WorkloadPackId packId) => _getPackInfo?.Invoke(packId) ?? throw new NotImplementedException();
CommandTests\Workload\Update\GivenDotnetWorkloadUpdate.cs (1)
74id => new List<WorkloadPackId>() { new WorkloadPackId(id.ToString() + "-pack") },
Microsoft.DotNet.TemplateLocator (72)
IWorkloadResolver.cs (4)
9IEnumerable<WorkloadPackId> GetPacksInWorkload(WorkloadId workloadId); 16ISet<WorkloadResolver.WorkloadInfo>? GetWorkloadSuggestionForMissingPacks(IList<WorkloadPackId> packId, out ISet<WorkloadPackId> unsatisfiablePacks); 36WorkloadResolver.PackInfo? TryGetPackInfo(WorkloadPackId packId);
WorkloadDefinition.cs (2)
20List<WorkloadPackId>? packs, List<string>? platforms 35public List<WorkloadPackId>? Packs { get; }
WorkloadManifest.cs (2)
13internal WorkloadManifest(string id, FXVersion version, string? description, string manifestPath, Dictionary<WorkloadId, BaseWorkloadDefinition> workloads, Dictionary<WorkloadPackId, WorkloadPack> packs, Dictionary<string, FXVersion>? dependsOnManifests) 49public Dictionary<WorkloadPackId, WorkloadPack> Packs { get; }
WorkloadManifestReader.cs (9)
89Dictionary<WorkloadPackId, WorkloadPack>? packs = null; 177packs ?? new Dictionary<WorkloadPackId, WorkloadPack>(), 274private static Dictionary<WorkloadPackId, WorkloadPack> ReadWorkloadPacks(ref Utf8JsonStreamReader reader) 278var packs = new Dictionary<WorkloadPackId, WorkloadPack>(); 285var packId = new WorkloadPackId(reader.GetString() ?? string.Empty); 405List<WorkloadPackId>? packs = null; 450packs = ReadStringArray<WorkloadPackId>(ref reader, s => new WorkloadPackId(s)); 500private static WorkloadPack ReadWorkloadPack(WorkloadPackId id, ref Utf8JsonStreamReader reader) 506Dictionary<string, WorkloadPackId>? aliasTo = null;
WorkloadPack.cs (6)
8public WorkloadPack(WorkloadPackId id, string version, WorkloadPackKind kind, Dictionary<string, WorkloadPackId>? aliasTo) 16public WorkloadPackId Id { get; } 20public Dictionary<string, WorkloadPackId>? AliasTo { get; } 22public WorkloadPackId? TryGetAliasForRuntimeIdentifiers(IEnumerable<string> runtimeIdentifiers) 31if (AliasTo.TryGetValue(runtimeIdentifier, out WorkloadPackId alias))
WorkloadPackId.cs (13)
15public struct WorkloadPackId : IComparable<WorkloadPackId>, IEquatable<WorkloadPackId> 29public int CompareTo(WorkloadPackId other) => string.Compare(_id, other._id, StringComparison.OrdinalIgnoreCase); 31public bool Equals(WorkloadPackId other) => string.Equals(_id, other._id, StringComparison.OrdinalIgnoreCase); 35public override bool Equals(object? obj) => obj is WorkloadPackId id && Equals(id); 41public static implicit operator string(WorkloadPackId id) => id._id; 43public static bool operator ==(WorkloadPackId a, WorkloadPackId b) => a.Equals(b); 45public static bool operator !=(WorkloadPackId a, WorkloadPackId b) => !a.Equals(b); 48internal class PackIdJsonConverter : JsonConverter<WorkloadPackId> 50public override WorkloadPackId Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => 53public override void Write(Utf8JsonWriter writer, WorkloadPackId value, JsonSerializerOptions options) => writer.WriteStringValue(value.ToString());
WorkloadResolver.cs (24)
19private readonly Dictionary<WorkloadPackId, (WorkloadPack pack, WorkloadManifest manifest)> _packs = new(); 246if (ResolvePackPath(pack, out WorkloadPackId resolvedPackageId, out bool isInstalled) is string aliasedPath && isInstalled) 259private PackInfo CreatePackInfo(WorkloadPack pack, string aliasedPath, WorkloadPackId resolvedPackageId) => new( 272private WorkloadPackId? ResolveId(WorkloadPack pack) 279if (pack.TryGetAliasForRuntimeIdentifiers(_currentRuntimeIdentifiers) is WorkloadPackId aliasedId) 298out WorkloadPackId resolvedId, 301if (ResolveId(pack) is WorkloadPackId resolved) 311string GetPackPath(WorkloadPackId resolvedPackageId, string packageVersion, WorkloadPackKind kind, out bool isInstalled) 371private HashSet<WorkloadPackId> GetInstalledPacks() 374var installedPacks = new HashSet<WorkloadPackId>(); 375foreach ((WorkloadPackId id, (WorkloadPack pack, WorkloadManifest _)) in _packs) 386public IEnumerable<WorkloadPackId> GetPacksInWorkload(WorkloadId workloadId) 405return workload.Packs ?? Enumerable.Empty<WorkloadPackId>(); 468internal IEnumerable<(WorkloadPackId packId, WorkloadDefinition referencingWorkload, WorkloadManifest workloadDefinedIn)> GetPacksInWorkload(WorkloadDefinition workload, WorkloadManifest manifest) 474foreach (var p in w.Packs) 488public PackInfo? TryGetPackInfo(WorkloadPackId packId) 498if (ResolvePackPath(pack, out WorkloadPackId resolvedPackageId, out bool isInstalled) is string aliasedPath) 513public ISet<WorkloadInfo>? GetWorkloadSuggestionForMissingPacks(IList<WorkloadPackId> packIds, out ISet<WorkloadPackId> unsatisfiablePacks) 516var requestedPacks = new HashSet<WorkloadPackId>(packIds); 519List<(WorkloadId Id, HashSet<WorkloadPackId> Packs)>? expandedWorkloads = availableWorkloads 520.Select(w => (w.workload.Id, new HashSet<WorkloadPackId>(GetPacksInWorkload(w.workload, w.manifest).Select(p => p.packId)))) 665public PackInfo(WorkloadPackId id, string version, WorkloadPackKind kind, string path, string resolvedPackageId) 678public WorkloadPackId Id { get; }
WorkloadSuggestionFinder.cs (12)
8public WorkloadSuggestionFinder(HashSet<WorkloadPackId> installedPacks, HashSet<WorkloadPackId> requestedPacks, IEnumerable<(WorkloadId id, HashSet<WorkloadPackId> expandedPacks)> expandedWorkloads) 43HashSet<WorkloadPackId> requestedPacks, 44IEnumerable<(WorkloadId id, HashSet<WorkloadPackId> expandedPacks)> expandedWorkloads, 54var unsatisfied = new HashSet<WorkloadPackId>(requestedPacks.Where(p => !workload.expandedPacks.Contains(p))); 116var combinedPacks = new HashSet<WorkloadPackId>(root.Packs); 118var stillMissing = new HashSet<WorkloadPackId>(root.UnsatisfiedPacks); 206public WorkloadSuggestionCandidate(HashSet<WorkloadId> id, HashSet<WorkloadPackId> packs, HashSet<WorkloadPackId> unsatisfiedPacks) 214public HashSet<WorkloadPackId> Packs { get; } 215public HashSet<WorkloadPackId> UnsatisfiedPacks { get; }