Support installing workload pack groups#24630
Conversation
… multiple manifests
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
| var manifests = _workloadResolver.GetInstalledManifests(); | ||
| foreach (var manifest in manifests) | ||
| { | ||
| var packGroupFile = Path.Combine(manifest.ManifestDirectory, "WorkloadPackGroups.json"); |
There was a problem hiding this comment.
This is the new mapping file we're going to add to the manifest installers?
| public int CompareTo(ManifestVersionUpdate? other) | ||
| { | ||
| if (other == null) return 1; | ||
| int ret = ManifestId.CompareTo(other.ManifestId); |
There was a problem hiding this comment.
For a version update of a manifest, shouldn't the IDs always be the same and the underlying versions be different. Should we instead throw something like InvalidOperationException if the IDs are different?
There was a problem hiding this comment.
This is just implemented so that equality works correctly, so that in tests you can assert that the manifest updates were what was expected.
joeloff
left a comment
There was a problem hiding this comment.
I think I'm good with this. The tricky bit is going to be computing the group IDs/names, but that needs to happen in Arcade
This can be a workaround if there are bugs in the pack groups or the installation code
ManifestVersionUpdateclass to replace passing around tuples of 5 elements in a lot of placesITransactionContextparameter)(This is rebased on top of #24545, so it also currently includes commits from that PR.)