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