コード例 #1
0
ファイル: WorkloadPackGroupTests.cs プロジェクト: nohwnd/sdk
        WorkloadPackGroupJson ConvertGroupToJson(WorkloadPackGroup group)
        {
            var groupJson = new WorkloadPackGroupJson();

            groupJson.GroupPackageId      = group.Workload.Id + ".Packs";
            groupJson.GroupPackageVersion = group.WorkloadManifestVersion;

            foreach (var pack in group.Packs)
            {
                groupJson.Packs.Add(new WorkloadPackJson()
                {
                    PackId      = pack.Id,
                    PackVersion = pack.Version,
                });
            }

            return(groupJson);
        }
コード例 #2
0
ファイル: WorkloadPackGroupTests.cs プロジェクト: nohwnd/sdk
        List <WorkloadPackGroup> GetPackGroups()
        {
            List <WorkloadPackGroup> groups = new();

            var manifestProvider = CreateManifestProvider();
            var manifests        = GetManifests(manifestProvider);
            var workloadResolver = WorkloadResolver.CreateForTests(manifestProvider, TestContext.Current.ToolsetUnderTest.DotNetRoot);

            foreach (var manifest in manifests)
            {
                foreach (var workload in manifest.Workloads.Values.OfType <WorkloadDefinition>())
                {
                    if (workload.Packs == null || !workload.Packs.Any())
                    {
                        continue;
                    }
                    List <WorkloadResolver.PackInfo> packInfos        = new List <WorkloadResolver.PackInfo>();
                    List <WorkloadPackId>            unavailablePacks = new List <WorkloadPackId>();
                    foreach (var packId in workload.Packs)
                    {
                        var packInfo = workloadResolver.TryGetPackInfo(packId);
                        if (packInfo == null)
                        {
                            unavailablePacks.Add(packId);
                        }
                        else
                        {
                            packInfos.Add(packInfo);
                        }
                    }
                    WorkloadPackGroup group = new WorkloadPackGroup(workload, manifest.Version, packInfos, unavailablePacks);
                    groups.Add(group);
                }
            }


            return(groups);
        }