From 13e2559392d5908caeaabc87f9fe6d3e6b360f2a Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Fri, 30 Nov 2018 09:49:32 -0800 Subject: [PATCH] Fix `Get-Help` for advanced functions with MAML help content (#8353) --- .../help/CommandHelpProvider.cs | 9 +++++++- .../engine/Help/HelpSystem.Tests.ps1 | 20 +++++++++--------- .../engine/Help/UpdatableHelpSystem.Tests.ps1 | 15 +------------ ...a-9ae2-482a-a648-e96550fb8733_HelpInfo.xml | 2 +- ...2a-a648-e96550fb8733_en-US_HelpContent.cab | Bin 9536 -> 3869 bytes ...2a-a648-e96550fb8733_en-US_HelpContent.zip | Bin 3476 -> 3982 bytes ...b-2afd-4492-a5fd-01d9e2cff8b5_HelpInfo.xml | 10 --------- ...92-a5fd-01d9e2cff8b5_en-US_helpcontent.cab | Bin 15963 -> 0 bytes ...92-a5fd-01d9e2cff8b5_en-US_helpcontent.zip | Bin 8868 -> 0 bytes 9 files changed, 20 insertions(+), 36 deletions(-) delete mode 100644 test/powershell/engine/Help/assets/PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_HelpInfo.xml delete mode 100644 test/powershell/engine/Help/assets/PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_en-US_helpcontent.cab delete mode 100644 test/powershell/engine/Help/assets/PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_en-US_helpcontent.zip diff --git a/src/System.Management.Automation/help/CommandHelpProvider.cs b/src/System.Management.Automation/help/CommandHelpProvider.cs index 3a92ba1cdc..3cb8c86785 100644 --- a/src/System.Management.Automation/help/CommandHelpProvider.cs +++ b/src/System.Management.Automation/help/CommandHelpProvider.cs @@ -313,13 +313,20 @@ namespace System.Management.Automation // and the nested module that implements the command GetModulePaths(commandInfo, out moduleName, out moduleDir, out nestedModulePath); - Collection searchPaths = new Collection(){ HelpUtils.GetUserHomeHelpSearchPath() }; + var userHomeHelpPath = HelpUtils.GetUserHomeHelpSearchPath(); + + Collection searchPaths = new Collection() { userHomeHelpPath }; if (!String.IsNullOrEmpty(moduleDir)) { searchPaths.Add(moduleDir); } + if (!String.IsNullOrEmpty(userHomeHelpPath) && !String.IsNullOrEmpty(moduleName)) + { + searchPaths.Add(Path.Combine(userHomeHelpPath, moduleName)); + } + if (!String.IsNullOrEmpty(moduleName) && !String.IsNullOrEmpty(moduleDir)) { // Search for -Help.xml under ModuleBase folder diff --git a/test/powershell/engine/Help/HelpSystem.Tests.ps1 b/test/powershell/engine/Help/HelpSystem.Tests.ps1 index 7b22e1e84e..5c796105f4 100644 --- a/test/powershell/engine/Help/HelpSystem.Tests.ps1 +++ b/test/powershell/engine/Help/HelpSystem.Tests.ps1 @@ -385,7 +385,7 @@ Describe 'help can be found for CurrentUser Scope' -Tags 'CI' { Remove-Item $userHelpRoot -Force -ErrorAction SilentlyContinue -Recurse UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Core' -Scope 'CurrentUser' UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Management' -Scope 'CurrentUser' - UpdateHelpFromLocalContentPath -ModuleName 'PSReadLine' -Scope CurrentUser -Force + UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Archive' -Scope 'CurrentUser' -Force UpdateHelpFromLocalContentPath -ModuleName 'PackageManagement' -Scope CurrentUser -Force ## Delete help from global scope if it exists. @@ -401,15 +401,15 @@ Describe 'help can be found for CurrentUser Scope' -Tags 'CI' { Remove-Item $coreHelpFilePath -Force -ErrorAction SilentlyContinue } - $psreadlineHelpFilePath = Join-Path (Get-Module PSReadLine -ListAvailable).ModuleBase -ChildPath $currentCulture -AdditionalChildPath 'Microsoft.PowerShell.PSReadLine.dll-Help.xml' - if (Test-Path $psreadlineHelpFilePath) { - Remove-Item $psreadlineHelpFilePath -Force -ErrorAction SilentlyContinue + $archiveHelpFilePath = Join-Path (Get-Module Microsoft.PowerShell.Archive -ListAvailable).ModuleBase -ChildPath $currentCulture -AdditionalChildPath 'Microsoft.PowerShell.Archive-help.xml' + if (Test-Path $archiveHelpFilePath) { + Remove-Item $archiveHelpFilePath -Force -ErrorAction SilentlyContinue } $TestCases = @( @{TestName = 'module under $PSHOME'; CmdletName = 'Add-Content'} @{TestName = 'module is a PSSnapin'; CmdletName = 'Get-Command' } - @{TestName = 'module is under $PSHOME\Modules'; CmdletName = 'Get-PSReadlineOption' } + @{TestName = 'module is under $PSHOME\Modules'; CmdletName = 'Compress-Archive' } @{TestName = 'module has a version folder'; CmdletName = 'Find-Package' } ) } @@ -442,20 +442,20 @@ Describe 'help can be found for AllUsers Scope' -Tags @('Feature', 'RequireAdmin Remove-Item $coreHelpFilePath -Force -ErrorAction SilentlyContinue } - $psreadlineHelpFilePath = Join-Path (Get-Module PSReadLine -ListAvailable).ModuleBase -ChildPath $currentCulture -AdditionalChildPath 'Microsoft.PowerShell.PSReadLine.dll-Help.xml' - if (Test-Path $psreadlineHelpFilePath) { - Remove-Item $psreadlineHelpFilePath -Force -ErrorAction SilentlyContinue + $archiveHelpFilePath = Join-Path (Get-Module Microsoft.PowerShell.Archive -ListAvailable).ModuleBase -ChildPath $currentCulture -AdditionalChildPath 'Microsoft.PowerShell.Archive-help.xml' + if (Test-Path $archiveHelpFilePath) { + Remove-Item $archiveHelpFilePath -Force -ErrorAction SilentlyContinue } UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Core' -Scope 'AllUsers' UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Management' -Scope 'AllUsers' - UpdateHelpFromLocalContentPath -ModuleName 'PSReadLine' -Scope 'AllUsers' -Force + UpdateHelpFromLocalContentPath -ModuleName 'Microsoft.PowerShell.Archive' -Scope 'AllUsers' -Force UpdateHelpFromLocalContentPath -ModuleName 'PackageManagement' -Scope 'AllUsers' -Force $TestCases = @( @{TestName = 'module under $PSHOME'; CmdletName = 'Add-Content'} @{TestName = 'module is a PSSnapin'; CmdletName = 'Get-Command' } - @{TestName = 'module is under $PSHOME\Modules'; CmdletName = 'Get-PSReadlineOption' } + @{TestName = 'module is under $PSHOME\Modules'; CmdletName = 'Compress-Archive' } @{TestName = 'module has a version folder'; CmdletName = 'Find-Package' } ) } diff --git a/test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 b/test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 index eab542cd89..19e8a506cf 100644 --- a/test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 +++ b/test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 @@ -20,7 +20,6 @@ $powershellCoreModules = @( "Microsoft.WsMan.Management" "PackageManagement" # "PowershellGet" - "PSReadline" ) # The file extension for the help content on the Download Center. @@ -53,16 +52,12 @@ $testCases = @{ HelpInstallationPathHome = "$userHelpRoot\CimCmdlets\en-US" } -<# - This scenario is broken due to issue # https://github.com/PowerShell/platyPS/issues/241 - Re-enable when issue is fixed. "Microsoft.PowerShell.Archive" = @{ - HelpFiles = "Microsoft.PowerShell.Archive.psm1-help.xml" + HelpFiles = "Microsoft.PowerShell.Archive-help.xml" HelpInfoFiles = "Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_HelpInfo.xml" CompressedFiles = "Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_en-US_HelpContent$extension" HelpInstallationPath = "$pshome\Modules\Microsoft.PowerShell.Archive\en-US" } -#> "Microsoft.PowerShell.Core" = @{ HelpFiles = "System.Management.Automation.dll-help.xml" @@ -143,14 +138,6 @@ $testCases = @{ HelpInstallationPath = "$pshome\Modules\PowershellGet\en-US" HelpInstallationPathHome = "$userHelpRoot\PackageManagement\en-US" } - - "PSReadline" = @{ - HelpFiles = "Microsoft.PowerShell.PSReadLine.dll-help.xml" - HelpInfoFiles = "PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_HelpInfo.xml" - CompressedFiles = "PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_en-US_helpcontent$extension" - HelpInstallationPath = "$pshome\Modules\PSReadLine\en-US" - HelpInstallationPathHome = "$userHelpRoot\PSReadLine\en-US" - } } # These are the inbox modules. diff --git a/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_HelpInfo.xml b/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_HelpInfo.xml index 36e9045ee9..5940413491 100644 --- a/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_HelpInfo.xml +++ b/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_HelpInfo.xml @@ -4,7 +4,7 @@ en-US - 5.0.2.0 + 6.1.0.1 \ No newline at end of file diff --git a/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_en-US_HelpContent.cab b/test/powershell/engine/Help/assets/Microsoft.PowerShell.Archive_eb74e8da-9ae2-482a-a648-e96550fb8733_en-US_HelpContent.cab index d225c63d9d5891ff8f150f66ffeb58b43c64f945..49cbbb7c6a045f5e3a7e22bd33f551dfd54328ff 100644 GIT binary patch literal 3869 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 delta 3425 zcmV-n4W9CjACwy#P)h>@6aWAK2mpv%{79W&>r~zh008lc001hJP!At}E^u>gF)e6i zY;Z1kZEWow+fp34_1#te2Ze`}oq`#g*r_dSaQT8aRC#SG;B{r=Jcw@1w94JBUP%qi z{#qXLN%@7GBdOKbxxp|D&<`#^QXfg@evWkH|NZB`uisoIF*#>aagpwCJs&*VA}kF= z$kXxuR<1`oKW)7^c>L&pb;RQANV7x{_#jpLTanh;-f)fN@x;q!DvEW z|7mB3e9c0t=~>Lk-{EWWtDS|s96THB4xW*n9Xm7-NkY?b&;7I$>>(^ai=99X5*|pQ z#7GZd@DPU#cb`3bF?S#* zBpeBnFlL$r1qlkQKLG*+ZZHd<7KAZ~x5N-BLnWy`T$uo7O+3aV#zrN%C0p zEN1QtEyx)o84Z5WF$=d1X@%JejGt7NvQ2mjgDFv<6X5fI3YWl~k}#?`lO*IyOMaFk z1OrTIApvxIJpr&COkK`E&L$*B=tM_lyMYsrh2%P_av}`Y6~w}@Pwbq<1W}$a&15%c zmQC+iKy%eW8p&b~n8`Dk8K?NAkXthNe0WMeBK!*>e~`DwN91IpKphT_z6>fW8T`hx z0vh0~*osAe`L+R?&`X}=iA9Ctf559yLidy=+UBZAY`v66YyetL&?MP=NCk z1WNp#bICxBYnihxa!w^jL-L8GV;vQ(<5--X8ACOHqOpR8jAuZ?lpUp6uJ^Z2VHA1t zZt^RQbI@q-CdX1_OzO#JnC2-A7m90Z_qKr5I8_V`+g4?1wcQ+39d++uw&HED--+X7 zWvG(@P?TQ$X@n9RorD&AaY0j!T{H}f5rsfigwb(9i9}>48U!rUPmFG`Qt(faa78cET8MF{DkRLEHdCjTO0Mm>VKFzZJau2WqPf27KofeH+VH$`G}F*HxC zn__%X&!pP~yf|Y$U?k{fOI>Wl{t<4tEU8e`P0|yI3>(XHj+4$OmEM z%zIq89tBn>aJI>P^##b5(0D+O>r-O_a6}K9>jaq1`He8Tb58H)5 zY{Fu&d&+6A5yhRJTeqfIUoYdUmT{B6nBuf9CD|5`<1nxM3uy&UU$QKw0dkgq^{-qQ zs?a!jKdCC=7hsG?$}T#`8pqL?4>KW}0$e>X^gmsc0Vr|qWSs+@)8`{Z7|JfWG782` zeKkH?J@pq00j3atx>ip|TqY|ZIVg)H)5_@SkqPY$WE+{Cu@MIGGEY+<^%_GyxZ-E` znI_+Wn~z4Tu&)uOK`u}@E{scm7=b+nQ_4qGR|>G}jGJq4S{d30*N3ojLX~|T!T9Y5 z>V0U^hbDb!(uXE}Xwru!y^Qyv$^8mVR&h8n^-QA43&$sDgr{=ECk|_)@x~ugd`)Bi z!;;@P6&|lvrC7%Z_@%NR)IK?$6S7Mh;Gq{)=>I^go@D52eHOJd46r?aJcVCDcWPv2 z<EaI z)&bSb6pdkuPJ z`2c${#e%RNq-weP72}027;k_|=`R=eLVAlrdOO*HS;s63%j5%pIAXab|IZ}u!3k_P zh>nYoS0V^akoQF%R+S=MG-P^RoQVIw!hs`0WNKfaFVwW_50I`DyTu%!*nrmo1w7ul{ z9k>cR7(-&!AdYZ1(@O1K!ohz_=LQF-~0aOv3}L6Cf}*%0AbKS z*oaBYh<*Pc=}3nn7{I^F?Rwu)LdQ&f4>=u!7Tq13tB~xpO7h*o7TIa$liu``8aBv{P`0(dsKHpttU-?!;tw@ra$SxKbo7boQiauAsFvH zR8~G6xOV!cTn^2(z`!)X_fxFsH#c7TK|mEbv27&+JPjQNKts8wN@xd%nhl#18-Rcb zB(qPq!k}E3&mMItr*cDWH3i#te6tN<4G$uc;7dG}OB%GercpU#b~jIo$6Zu0h@^RP zhC_>gJe9dN(*0OVujH<-#6-`!$e>ASn+mvm}2x3zUU6uC>`PD5#-(SDnw(M~J3 zf$;7{Zmxt`=p~40`CUJCCD9w8>M_qlO;sW|nMwJ&{4Q#xW~%s%v9#2jH89{C1+~TD z!Enkox9>z5Eg$w`ykaqa(HT`BoskDq&1FG<;JYf$x8sb=L1sP7x!W#CFOoAwvejOH z+s|A@V+gCV=_1o}&c}v^*xQo17#eXK2VYW5X&3Ka?m2q+?&f!x^l{Hdjz#0q$k7FU zHhhB<9)uVvnMMvA(XzZVV z2d&GENh~%=RqL!%f9~U;hnE@y3{|-4Moo68ohSC<#8Z1QVP7?PStcZZp0wP_ z;<^W?d3qnT_d%CbJP*tVUG@7h_x2%&yYFH4ZzD85xDU0FGhE+=nf^xH-o9XFGb-rU z7Y?lJb&fs|xS>FxHxQdIpBwzd#o{NKJ)_-*C(>7?_f_djacN(bzUeuEo@@K6^gB_e zyj)fKv;vQNTAYq4p0f1=$Y!8_g`D(t>+`94AL`cKRbQ8XfiN!BrqHMiayPQLq;Ze7 zS;5{e1nVp{@l_tHt1|Idc{>m~vu?~)!qyYMts?Uo#Ur($!(S7~8@%fTcl>G&{ zl=ztV1{Y^F<;O77<_k+VhIr~zh008lc001hJLJutkE^u>gF_Ui(6$)4Y001Tp00000 DkC - - https://go.microsoft.com/fwlink/?linkid=855966 - - - en-US - 5.0.4.0 - - - \ No newline at end of file diff --git a/test/powershell/engine/Help/assets/PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_en-US_helpcontent.cab b/test/powershell/engine/Help/assets/PSReadline_5714753b-2afd-4492-a5fd-01d9e2cff8b5_en-US_helpcontent.cab deleted file mode 100644 index 04bcec718b3b317ab1422927d52f05db5188afe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15963 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 Jd8q&O`VW6LEhqp0