Log a verbose message when DOTNET_CLI_HOME is being used.
This commit logs a diagnostic message when the `DOTNET_CLI_HOME` variable is used. This enables users to determine where first-run-experience and global tool files are being written to. Fixes #9510.
This commit is contained in:
parent
8cffe4a578
commit
92507184bd
16 changed files with 103 additions and 0 deletions
|
@ -276,4 +276,7 @@
|
||||||
|
|
||||||
dotnet tool install --global {1}</value>
|
dotnet tool install --global {1}</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DotnetCliHomeUsed" xml:space="preserve">
|
||||||
|
<value>Using home directory '{0}' set by the '{1}' environment variable.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet 도구를 설치하세요. install --global {1}</target>
|
dotnet 도구를 설치하세요. install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet 工具安装 -- 全局 {1}</target>
|
dotnet 工具安装 -- 全局 {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
|
||||||
dotnet tool install --global {1}</target>
|
dotnet tool install --global {1}</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="DotnetCliHomeUsed">
|
||||||
|
<source>Using home directory '{0}' set by the '{1}' environment variable.</source>
|
||||||
|
<target state="new">Using home directory '{0}' set by the '{1}' environment variable.</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -149,6 +149,8 @@ namespace Microsoft.DotNet.Cli
|
||||||
bool skipFirstRunExperience =
|
bool skipFirstRunExperience =
|
||||||
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false);
|
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false);
|
||||||
|
|
||||||
|
ReportDotnetHomeUsage(environmentProvider);
|
||||||
|
|
||||||
topLevelCommandParserResult = new TopLevelCommandParserResult(command);
|
topLevelCommandParserResult = new TopLevelCommandParserResult(command);
|
||||||
var hasSuperUserAccess = false;
|
var hasSuperUserAccess = false;
|
||||||
if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult))
|
if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult))
|
||||||
|
@ -229,6 +231,21 @@ namespace Microsoft.DotNet.Cli
|
||||||
return exitCode;
|
return exitCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void ReportDotnetHomeUsage(IEnvironmentProvider provider)
|
||||||
|
{
|
||||||
|
var home = provider.GetEnvironmentVariable(CliFolderPathCalculator.DotnetHomeVariableName);
|
||||||
|
if (string.IsNullOrEmpty(home))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Reporter.Verbose.WriteLine(
|
||||||
|
string.Format(
|
||||||
|
LocalizableStrings.DotnetCliHomeUsed,
|
||||||
|
home,
|
||||||
|
CliFolderPathCalculator.DotnetHomeVariableName));
|
||||||
|
}
|
||||||
|
|
||||||
private static bool IsDotnetBeingInvokedFromNativeInstaller(TopLevelCommandParserResult parseResult)
|
private static bool IsDotnetBeingInvokedFromNativeInstaller(TopLevelCommandParserResult parseResult)
|
||||||
{
|
{
|
||||||
return parseResult.Command == "internal-reportinstallsuccess";
|
return parseResult.Command == "internal-reportinstallsuccess";
|
||||||
|
|
|
@ -49,5 +49,23 @@ namespace Microsoft.DotNet.Tests
|
||||||
.And
|
.And
|
||||||
.HaveStdErrContaining(CliFolderPathCalculator.DotnetHomeVariableName);
|
.HaveStdErrContaining(CliFolderPathCalculator.DotnetHomeVariableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GivenASpecifiedDotnetCliHomeVariableItPrintsUsageMessage()
|
||||||
|
{
|
||||||
|
var home = Path.Combine(TempRoot.Root, Path.GetRandomFileName());
|
||||||
|
|
||||||
|
new TestCommand("dotnet")
|
||||||
|
.WithEnvironmentVariable(CliFolderPathCalculator.DotnetHomeVariableName, home)
|
||||||
|
.ExecuteWithCapturedOutput("-d help")
|
||||||
|
.Should()
|
||||||
|
.Pass()
|
||||||
|
.And
|
||||||
|
.HaveStdOutContaining(
|
||||||
|
string.Format(
|
||||||
|
LocalizableStrings.DotnetCliHomeUsed,
|
||||||
|
home,
|
||||||
|
CliFolderPathCalculator.DotnetHomeVariableName));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue