Skip to content

Commit 2cf5317

Browse files
committed
[FIX] tool-install: Use config options
1 parent 0872692 commit 2cf5317

File tree

6 files changed

+34
-11
lines changed

6 files changed

+34
-11
lines changed

src/Cli/dotnet/ToolPackage/IToolPackageDownloader.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System.Threading.Tasks;
5+
using Microsoft.DotNet.Cli.NuGetPackageDownloader;
56
using Microsoft.DotNet.ToolPackage;
67
using NuGet.Versioning;
78

@@ -13,7 +14,8 @@ IToolPackage InstallPackage(PackageLocation packageLocation, PackageId packageId
1314
VerbosityOptions verbosity,
1415
VersionRange versionRange = null,
1516
string targetFramework = null,
16-
bool isGlobalTool = false
17+
bool isGlobalTool = false,
18+
RestoreActionConfig restoreActionConfig = null
1719
);
1820
}
1921
}

src/Cli/dotnet/ToolPackage/ToolPackageDownloader.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ public IToolPackage InstallPackage(PackageLocation packageLocation, PackageId pa
7272
VerbosityOptions verbosity = VerbosityOptions.normal,
7373
VersionRange versionRange = null,
7474
string targetFramework = null,
75-
bool isGlobalTool = false
75+
bool isGlobalTool = false,
76+
RestoreActionConfig restoreActionConfig = null
7677
)
7778
{
7879
var packageRootDirectory = _toolPackageStore.GetRootPackageDirectory(packageId);
@@ -95,7 +96,11 @@ public IToolPackage InstallPackage(PackageLocation packageLocation, PackageId pa
9596

9697
var toolDownloadDir = isGlobalTool ? _globalToolStageDir : _localToolDownloadDir;
9798
var assetFileDirectory = isGlobalTool ? _globalToolStageDir : _localToolAssetDir;
98-
var nugetPackageDownloader = new NuGetPackageDownloader.NuGetPackageDownloader(toolDownloadDir, verboseLogger: nugetLogger, isNuGetTool: true);
99+
var nugetPackageDownloader = new NuGetPackageDownloader.NuGetPackageDownloader(
100+
toolDownloadDir,
101+
verboseLogger: nugetLogger,
102+
isNuGetTool: true,
103+
restoreActionConfig: restoreActionConfig);
99104

100105
var packageSourceLocation = new PackageSourceLocation(packageLocation.NugetConfig, packageLocation.RootConfigDirectory, null, packageLocation.AdditionalFeeds);
101106

src/Cli/dotnet/commands/dotnet-tool/install/ToolInstallGlobalOrToolPathCommand.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ internal class ToolInstallGlobalOrToolPathCommand : CommandBase
4444
private readonly string _architectureOption;
4545
private IEnumerable<string> _forwardRestoreArguments;
4646

47+
internal readonly RestoreActionConfig _restoreActionConfig;
48+
4749
public ToolInstallGlobalOrToolPathCommand(
4850
ParseResult parseResult,
4951
CreateToolPackageStoresAndDownloader createToolPackageStoreAndDownloader = null,
@@ -74,11 +76,11 @@ public ToolInstallGlobalOrToolPathCommand(
7476
var configOption = parseResult.GetValue(ToolInstallCommandParser.ConfigOption);
7577
var sourceOption = parseResult.GetValue(ToolInstallCommandParser.AddSourceOption);
7678
var packageSourceLocation = new PackageSourceLocation(string.IsNullOrEmpty(configOption) ? null : new FilePath(configOption), additionalSourceFeeds: sourceOption);
77-
var restoreAction = new RestoreActionConfig(DisableParallel: parseResult.GetValue(ToolCommandRestorePassThroughOptions.DisableParallelOption),
79+
_restoreActionConfig = new RestoreActionConfig(DisableParallel: parseResult.GetValue(ToolCommandRestorePassThroughOptions.DisableParallelOption),
7880
NoCache: parseResult.GetValue(ToolCommandRestorePassThroughOptions.NoCacheOption),
7981
IgnoreFailedSources: parseResult.GetValue(ToolCommandRestorePassThroughOptions.IgnoreFailedSourcesOption),
8082
Interactive: parseResult.GetValue(ToolCommandRestorePassThroughOptions.InteractiveRestoreOption));
81-
nugetPackageDownloader ??= new NuGetPackageDownloader(tempDir, verboseLogger: new NullLogger(), restoreActionConfig: restoreAction);
83+
nugetPackageDownloader ??= new NuGetPackageDownloader(tempDir, verboseLogger: new NullLogger(), restoreActionConfig: _restoreActionConfig);
8284
_shellShimTemplateFinder = new ShellShimTemplateFinder(nugetPackageDownloader, tempDir, packageSourceLocation);
8385

8486
_reporter = (reporter ?? Reporter.Output);
@@ -132,7 +134,8 @@ public override int Execute()
132134
versionRange: versionRange,
133135
targetFramework: _framework,
134136
verbosity: _verbosity,
135-
isGlobalTool: true
137+
isGlobalTool: true,
138+
restoreActionConfig: _restoreActionConfig
136139
);
137140

138141
NuGetFramework framework;

src/Cli/dotnet/commands/dotnet-tool/install/ToolInstallLocalCommand.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using System.CommandLine;
55
using Microsoft.DotNet.Cli;
6+
using Microsoft.DotNet.Cli.NuGetPackageDownloader;
67
using Microsoft.DotNet.Cli.ToolPackage;
78
using Microsoft.DotNet.Cli.Utils;
89
using Microsoft.DotNet.ToolManifest;
@@ -23,6 +24,8 @@ internal class ToolInstallLocalCommand : CommandBase
2324
private readonly string _explicitManifestFile;
2425
private readonly bool _createManifestIfNeeded;
2526

27+
internal readonly RestoreActionConfig _restoreActionConfig;
28+
2629
public ToolInstallLocalCommand(
2730
ParseResult parseResult,
2831
IToolPackageDownloader toolPackageDownloader = null,
@@ -43,7 +46,11 @@ public ToolInstallLocalCommand(
4346
new ToolManifestFinder(new DirectoryPath(Directory.GetCurrentDirectory()));
4447
_toolManifestEditor = toolManifestEditor ?? new ToolManifestEditor();
4548
_localToolsResolverCache = localToolsResolverCache ?? new LocalToolsResolverCache();
46-
_toolLocalPackageInstaller = new ToolInstallLocalInstaller(parseResult, toolPackageDownloader);
49+
_restoreActionConfig = new RestoreActionConfig(DisableParallel: parseResult.GetValue(ToolCommandRestorePassThroughOptions.DisableParallelOption),
50+
NoCache: parseResult.GetValue(ToolCommandRestorePassThroughOptions.NoCacheOption),
51+
IgnoreFailedSources: parseResult.GetValue(ToolCommandRestorePassThroughOptions.IgnoreFailedSourcesOption),
52+
Interactive: parseResult.GetValue(ToolCommandRestorePassThroughOptions.InteractiveRestoreOption));
53+
_toolLocalPackageInstaller = new ToolInstallLocalInstaller(parseResult, toolPackageDownloader, _restoreActionConfig);
4754
}
4855

4956
public override int Execute()

src/Cli/dotnet/commands/dotnet-tool/install/ToolInstallLocalInstaller.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.CommandLine;
55
using System.IO;
66
using Microsoft.DotNet.Cli;
7+
using Microsoft.DotNet.Cli.NuGetPackageDownloader;
78
using Microsoft.DotNet.Cli.ToolPackage;
89
using Microsoft.DotNet.Cli.Utils;
910
using Microsoft.DotNet.ToolPackage;
@@ -24,10 +25,12 @@ internal class ToolInstallLocalInstaller
2425
private readonly string _configFilePath;
2526
private readonly string[] _sources;
2627
private readonly VerbosityOptions _verbosity;
28+
private readonly RestoreActionConfig _restoreActionConfig;
2729

2830
public ToolInstallLocalInstaller(
2931
ParseResult parseResult,
30-
IToolPackageDownloader toolPackageDownloader = null)
32+
IToolPackageDownloader toolPackageDownloader = null,
33+
RestoreActionConfig restoreActionConfig = null)
3134
{
3235
_parseResult = parseResult;
3336
_packageId = new PackageId(parseResult.GetValue(ToolInstallCommandParser.PackageIdArgument));
@@ -43,7 +46,7 @@ public ToolInstallLocalInstaller(
4346
additionalRestoreArguments: parseResult.OptionValuesToBeForwarded(ToolInstallCommandParser.GetCommand()));
4447
_toolPackageStore = toolPackageStoresAndDownloader.store;
4548
_toolPackageDownloader = toolPackageDownloader?? toolPackageStoresAndDownloader.downloader;
46-
49+
_restoreActionConfig = restoreActionConfig;
4750

4851
TargetFrameworkToInstall = BundledTargetFramework.GetTargetFrameworkMoniker();
4952
}
@@ -76,7 +79,8 @@ public IToolPackage Install(FilePath manifestFile)
7679
_packageId,
7780
verbosity: _verbosity,
7881
versionRange,
79-
TargetFrameworkToInstall
82+
TargetFrameworkToInstall,
83+
restoreActionConfig: _restoreActionConfig
8084
);
8185

8286
return toolDownloadedPackage;

src/Tests/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageDownloaderMock.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Linq;
88
using System.Text.Json;
99
using Microsoft.DotNet.Cli;
10+
using Microsoft.DotNet.Cli.NuGetPackageDownloader;
1011
using Microsoft.DotNet.Cli.ToolPackage;
1112
using Microsoft.DotNet.Cli.Utils;
1213
using Microsoft.DotNet.ToolPackage;
@@ -96,7 +97,8 @@ public IToolPackage InstallPackage(PackageLocation packageLocation, PackageId pa
9697
VerbosityOptions verbosity,
9798
VersionRange versionRange = null,
9899
string targetFramework = null,
99-
bool isGlobalTool = false
100+
bool isGlobalTool = false,
101+
RestoreActionConfig restoreActionConfig = null
100102
)
101103
{
102104
string rollbackDirectory = null;

0 commit comments

Comments
 (0)