5 instantiations of WorkloadPackId
Microsoft.DotNet.MSBuildSdkResolver (5)
CachingWorkloadResolver.cs (1)
153var packInfo = workloadResolver?.TryGetPackInfo(new WorkloadPackId(sdkReferenceName));
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);
72 references to WorkloadPackId
Microsoft.DotNet.MSBuildSdkResolver (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; }