public WorkloadListCommand( ParseResult result, IReporter reporter = null, IWorkloadInstallationRecordRepository workloadRecordRepo = null, string currentSdkVersion = null, string dotnetDir = null, string userProfileDir = null, string tempDirPath = null, INuGetPackageDownloader nugetPackageDownloader = null, IWorkloadManifestUpdater workloadManifestUpdater = null, IWorkloadResolver workloadResolver = null ) : base(result, CommonOptions.HiddenVerbosityOption, reporter, tempDirPath, nugetPackageDownloader) { _workloadListHelper = new WorkloadListHelper( Verbosity, result?.GetValueForOption(WorkloadListCommandParser.VersionOption) ?? null, VerifySignatures, Reporter, workloadRecordRepo, currentSdkVersion, dotnetDir, userProfileDir, workloadResolver ); _machineReadableOption = result.GetValueForOption(WorkloadListCommandParser.MachineReadableOption); _includePreviews = result.GetValueForOption(WorkloadListCommandParser.IncludePreviewsOption); string userProfileDir1 = userProfileDir ?? CliFolderPathCalculator.DotnetUserProfileFolderPath; _workloadManifestUpdater = workloadManifestUpdater ?? new WorkloadManifestUpdater(Reporter, _workloadListHelper.WorkloadResolver, PackageDownloader, userProfileDir1, TempDirectoryPath, _workloadListHelper.WorkloadRecordRepo); }
public WorkloadListCommand( ParseResult result, IReporter reporter = null, IWorkloadInstallationRecordRepository workloadRecordRepo = null, string currentSdkVersion = null, string dotnetDir = null, string userProfileDir = null, string tempDirPath = null, INuGetPackageDownloader nugetPackageDownloader = null, IWorkloadManifestUpdater workloadManifestUpdater = null, IWorkloadResolver workloadResolver = null ) : base(result) { _reporter = reporter ?? Reporter.Output; _machineReadableOption = result.GetValueForOption(WorkloadListCommandParser.MachineReadableOption); _verbosity = result.GetValueForOption(WorkloadListCommandParser.VerbosityOption); _dotnetPath = dotnetDir ?? Path.GetDirectoryName(Environment.ProcessPath); ReleaseVersion currentSdkReleaseVersion = new(currentSdkVersion ?? Product.Version); _currentSdkFeatureBand = new SdkFeatureBand(currentSdkReleaseVersion); _includePreviews = result.GetValueForOption(WorkloadListCommandParser.IncludePreviewsOption); _tempDirPath = tempDirPath ?? (string.IsNullOrWhiteSpace( result.GetValueForOption(WorkloadListCommandParser.TempDirOption)) ? Path.GetTempPath() : result.GetValueForOption(WorkloadListCommandParser.TempDirOption)); _targetSdkVersion = result.GetValueForOption(WorkloadListCommandParser.VersionOption); _userProfileDir = userProfileDir ?? CliFolderPathCalculator.DotnetUserProfileFolderPath; var workloadManifestProvider = new SdkDirectoryWorkloadManifestProvider(_dotnetPath, string.IsNullOrWhiteSpace(_targetSdkVersion) ? currentSdkReleaseVersion.ToString() : _targetSdkVersion, _userProfileDir); DirectoryPath tempPackagesDir = new(Path.Combine(_userProfileDir, "sdk-advertising-temp")); NullLogger nullLogger = new NullLogger(); _nugetPackageDownloader = nugetPackageDownloader ?? new NuGetPackageDownloader(tempPackagesDir, null, new FirstPartyNuGetPackageSigningVerifier(tempPackagesDir, nullLogger), verboseLogger: nullLogger, restoreActionConfig: _parseResult.ToRestoreActionConfig()); workloadResolver ??= WorkloadResolver.Create(workloadManifestProvider, _dotnetPath, currentSdkReleaseVersion.ToString(), _userProfileDir); _workloadRecordRepo = workloadRecordRepo ?? WorkloadInstallerFactory.GetWorkloadInstaller(reporter, _currentSdkFeatureBand, workloadResolver, _verbosity, _userProfileDir, elevationRequired: false).GetWorkloadInstallationRecordRepository(); _workloadManifestUpdater = workloadManifestUpdater ?? new WorkloadManifestUpdater(_reporter, workloadResolver, _nugetPackageDownloader, _userProfileDir, _tempDirPath, _workloadRecordRepo); }
public WorkloadListCommand( ParseResult result, IReporter reporter = null, IWorkloadInstallationRecordRepository workloadRecordRepo = null, string currentSdkVersion = null, string dotnetDir = null, string userHome = null, string tempDirPath = null, INuGetPackageDownloader nugetPackageDownloader = null, IWorkloadManifestUpdater workloadManifestUpdater = null ) : base(result) { _reporter = reporter ?? Reporter.Output; _machineReadableOption = result.ValueForOption <bool>(WorkloadListCommandParser.MachineReadableOption); _verbosity = result.ValueForOption <VerbosityOptions>(WorkloadListCommandParser.VerbosityOption); _dotnetPath = dotnetDir ?? Path.GetDirectoryName(Environment.ProcessPath); ReleaseVersion currentSdkReleaseVersion = new(currentSdkVersion ?? Product.Version); _currentSdkFeatureBand = new SdkFeatureBand(currentSdkReleaseVersion); _workloadRecordRepo = workloadRecordRepo ?? new NetSdkManagedInstallationRecordRepository(_dotnetPath); _includePreviews = result.ValueForOption <bool>(WorkloadListCommandParser.IncludePreviewsOption); _tempDirPath = tempDirPath ?? (string.IsNullOrWhiteSpace( result.ValueForOption <string>(WorkloadListCommandParser.TempDirOption)) ? Path.GetTempPath() : result.ValueForOption <string>(WorkloadListCommandParser.TempDirOption)); _targetSdkVersion = result.ValueForOption <string>(WorkloadListCommandParser.VersionOption); _workloadManifestProvider = new SdkDirectoryWorkloadManifestProvider(_dotnetPath, string.IsNullOrWhiteSpace(_targetSdkVersion) ? currentSdkReleaseVersion.ToString() : _targetSdkVersion); _userHome = userHome ?? CliFolderPathCalculator.DotnetHomePath; DirectoryPath tempPackagesDir = new(Path.Combine(_userHome, ".dotnet", "sdk-advertising-temp")); _nugetPackageDownloader = nugetPackageDownloader ?? new NuGetPackageDownloader(tempPackagesDir, null, new NullLogger()); _workloadManifestUpdater = workloadManifestUpdater ?? new WorkloadManifestUpdater(_reporter, _workloadManifestProvider, _nugetPackageDownloader, _userHome, _tempDirPath); }
public WorkloadManifestUpdater(IReporter reporter, IWorkloadResolver workloadResolver, INuGetPackageDownloader nugetPackageDownloader, string userProfileDir, string tempDirPath, IWorkloadInstallationRecordRepository workloadRecordRepo, PackageSourceLocation packageSourceLocation = null, Func <string, string> getEnvironmentVariable = null) { _reporter = reporter; _workloadResolver = workloadResolver; _userProfileDir = userProfileDir; _tempDirPath = tempDirPath; _nugetPackageDownloader = nugetPackageDownloader; _sdkFeatureBand = new SdkFeatureBand(_workloadResolver.GetSdkFeatureBand()); _packageSourceLocation = packageSourceLocation; _getEnvironmentVariable = getEnvironmentVariable ?? Environment.GetEnvironmentVariable; _workloadRecordRepo = workloadRecordRepo; }
public WorkloadListCommand( ParseResult result, IReporter reporter = null, IWorkloadInstallationRecordRepository workloadRecordRepo = null, string version = null) : base(result) { _reporter = reporter ?? Reporter.Output; _machineReadableOption = result.ValueForOption <bool>(WorkloadListCommandParser.MachineReadableOption); _verbosity = result.ValueForOption <VerbosityOptions>(WorkloadListCommandParser.VerbosityOption); var sdkVersion = new ReleaseVersion(version ?? Product.Version); var dotnetPath = Path.GetDirectoryName(Environment.ProcessPath); var workloadManifestProvider = new SdkDirectoryWorkloadManifestProvider(dotnetPath, sdkVersion.ToString()); var workloadResolver = WorkloadResolver.Create(workloadManifestProvider, dotnetPath, sdkVersion.ToString()); _sdkFeatureBand = new SdkFeatureBand(sdkVersion); _workloadRecordRepo = workloadRecordRepo ?? WorkloadInstallerFactory .GetWorkloadInstaller(_reporter, _sdkFeatureBand, workloadResolver, _verbosity) .GetWorkloadInstallationRecordRepository(); _sdkVersion = result.ValueForOption <string>(WorkloadUpdateCommandParser.SdkVersionOption); }
public WorkloadListHelper( VerbosityOptions verbosity = VerbosityOptions.normal, string targetSdkVersion = null, bool?verifySignatures = null, IReporter reporter = null, IWorkloadInstallationRecordRepository workloadRecordRepo = null, string currentSdkVersion = null, string dotnetDir = null, string userProfileDir = null, IWorkloadResolver workloadResolver = null ) { string dotnetPath = dotnetDir ?? Path.GetDirectoryName(Environment.ProcessPath); ReleaseVersion currentSdkReleaseVersion = new(currentSdkVersion ?? Product.Version); _currentSdkFeatureBand = new SdkFeatureBand(currentSdkReleaseVersion); _targetSdkVersion = targetSdkVersion; userProfileDir ??= CliFolderPathCalculator.DotnetUserProfileFolderPath; var workloadManifestProvider = new SdkDirectoryWorkloadManifestProvider(dotnetPath, string.IsNullOrWhiteSpace(_targetSdkVersion) ? currentSdkReleaseVersion.ToString() : _targetSdkVersion, userProfileDir); WorkloadResolver = workloadResolver ?? NET.Sdk.WorkloadManifestReader.WorkloadResolver.Create( workloadManifestProvider, dotnetPath, currentSdkReleaseVersion.ToString(), userProfileDir); WorkloadRecordRepo = workloadRecordRepo ?? WorkloadInstallerFactory.GetWorkloadInstaller(reporter, _currentSdkFeatureBand, WorkloadResolver, verbosity, userProfileDir, verifySignatures ?? !SignCheck.IsDotNetSigned(), elevationRequired: false).GetWorkloadInstallationRecordRepository(); }