Merge pull request #9566 from peterhuene/warn-on-cli-home-set

Log a verbose message when DOTNET_CLI_HOME is being used.
This commit is contained in:
Peter Huene 2018-07-06 14:46:41 -07:00 committed by GitHub
commit 5aa6fe1ca7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 103 additions and 0 deletions

View file

@ -276,4 +276,7 @@
dotnet tool install --global {1}</value>
</data>
<data name="DotnetCliHomeUsed" xml:space="preserve">
<value>Using home directory '{0}' set by the '{1}' environment variable.</value>
</data>
</root>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet 도구를 설치하세요. install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet 工具安装 -- 全局 {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -268,6 +268,11 @@ dotnet tool install --global {1}</source>
dotnet tool install --global {1}</target>
<note />
</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>
</file>
</xliff>

View file

@ -149,6 +149,8 @@ namespace Microsoft.DotNet.Cli
bool skipFirstRunExperience =
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false);
ReportDotnetHomeUsage(environmentProvider);
topLevelCommandParserResult = new TopLevelCommandParserResult(command);
var hasSuperUserAccess = false;
if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult))
@ -229,6 +231,21 @@ namespace Microsoft.DotNet.Cli
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)
{
return parseResult.Command == "internal-reportinstallsuccess";

View file

@ -49,5 +49,23 @@ namespace Microsoft.DotNet.Tests
.And
.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));
}
}
}