Ejemplo n.º 1
0
        private void ValidateWorkloadIdsInput()
        {
            var availableWorkloads = _workloadResolver.GetAvailableWorkloads();

            foreach (var workloadId in _workloadIds)
            {
                if (!availableWorkloads.Select(workload => workload.Id.ToString()).Contains(workloadId))
                {
                    if (_workloadResolver.IsPlatformIncompatibleWorkload(new WorkloadId(workloadId)))
                    {
                        throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotSupportedOnPlatform, workloadId), isUserError: false);
                    }
                    else
                    {
                        throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotRecognized, workloadId), isUserError: false);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override int Execute()
        {
            IEnumerable <WorkloadResolver.WorkloadInfo> availableWorkloads = _workloadResolver.GetAvailableWorkloads()
                                                                             .OrderBy(workload => workload.Id);

            if (!string.IsNullOrEmpty(_workloadIdStub))
            {
                availableWorkloads = availableWorkloads.Where(workload => workload.Id.ToString().Contains(_workloadIdStub, StringComparison.OrdinalIgnoreCase));
            }

            var table = new PrintableTable <WorkloadResolver.WorkloadInfo>();

            table.AddColumn(LocalizableStrings.WorkloadIdColumnName, workload => workload.Id.ToString());
            table.AddColumn(LocalizableStrings.DescriptionColumnName, workload => workload.Description);

            _reporter.WriteLine();
            table.PrintRows(availableWorkloads, l => _reporter.WriteLine(l));
            _reporter.WriteLine();

            return(0);
        }
Ejemplo n.º 3
0
 internal static IEnumerable <string> GetAvailableVisualStudioWorkloads(IWorkloadResolver workloadResolver) =>
 workloadResolver.GetAvailableWorkloads().Select(w => w.Id.ToString().Replace('-', '.'));