Browse Source

Display NuGet version in package management console.

pull/15/head
Matt Ward 15 years ago
parent
commit
6dd81bc8ab
  1. 23
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs
  2. 7
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleHost.cs
  3. 14
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs

23
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs

@ -3,6 +3,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection;
using System.Threading; using System.Threading;
using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit;
@ -20,6 +21,7 @@ namespace ICSharpCode.PackageManagement.Scripting
IPackageManagementAddInPath addinPath; IPackageManagementAddInPath addinPath;
int autoIndentSize = 0; int autoIndentSize = 0;
string prompt = "PM> "; string prompt = "PM> ";
Version nuGetVersion;
public PackageManagementConsoleHost( public PackageManagementConsoleHost(
IPowerShellHostFactory powerShellHostFactory, IPowerShellHostFactory powerShellHostFactory,
@ -68,6 +70,7 @@ namespace ICSharpCode.PackageManagement.Scripting
void RunSynchronous() void RunSynchronous()
{ {
InitPowerShell(); InitPowerShell();
WriteInfoBeforeFirstPrompt();
WritePrompt(); WritePrompt();
ProcessUserCommands(); ProcessUserCommands();
} }
@ -97,6 +100,26 @@ namespace ICSharpCode.PackageManagement.Scripting
powerShellHost.ModulesToImport.Add(module); powerShellHost.ModulesToImport.Add(module);
} }
void WriteInfoBeforeFirstPrompt()
{
WriteNuGetVersionInfo();
}
void WriteNuGetVersionInfo()
{
string versionInfo = String.Format("NuGet {0}", GetNuGetVersion());
ScriptingConsole.WriteLine(versionInfo, ScriptingStyle.Out);
}
protected virtual Version GetNuGetVersion()
{
if (nuGetVersion == null) {
AssemblyName name = typeof(PackageSource).Assembly.GetName();
nuGetVersion = name.Version;
}
return nuGetVersion;
}
void WritePrompt() void WritePrompt()
{ {
ScriptingConsole.Write(prompt, ScriptingStyle.Prompt); ScriptingConsole.Write(prompt, ScriptingStyle.Prompt);

7
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleHost.cs

@ -41,5 +41,12 @@ namespace PackageManagement.Tests.Helpers
ThreadStartPassedToCreateThread = threadStart; ThreadStartPassedToCreateThread = threadStart;
return FakeThread; return FakeThread;
} }
public Version VersionToReturnFromGetNuGetVersion = new Version("1.2");
protected override Version GetNuGetVersion()
{
return VersionToReturnFromGetNuGetVersion;
}
} }
} }

14
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs

@ -201,5 +201,19 @@ namespace PackageManagement.Tests.Scripting
CollectionAssert.AreEqual(files, actualFiles); CollectionAssert.AreEqual(files, actualFiles);
} }
[Test]
public void Run_TextDisplayedBeforeFirstPromptDisplayed_NuGetVersionDisplayed()
{
CreateHost();
host.VersionToReturnFromGetNuGetVersion = new Version("1.2.0.4");
RunHost();
string expected = "NuGet 1.2.0.4";
bool contains = scriptingConsole.AllTextPassedToWriteLine.Contains(expected);
Assert.IsTrue(contains);
}
} }
} }

Loading…
Cancel
Save