From c2e8017e41fa99699ae22fef3a42276387ae9099 Mon Sep 17 00:00:00 2001 From: Rob Sewell Date: Thu, 6 Apr 2023 08:57:30 +0000 Subject: [PATCH] more efficient closes #933 and #934 --- source/functions/Get-DbcReleaseNote.ps1 | 11 +-- source/functions/Import-DbcConfig.ps1 | 84 ++------------------- source/internal/functions/Get-CheckFile.ps1 | 10 ++- source/internal/functions/New-Json.ps1 | 6 +- 4 files changed, 20 insertions(+), 91 deletions(-) diff --git a/source/functions/Get-DbcReleaseNote.ps1 b/source/functions/Get-DbcReleaseNote.ps1 index fd5e3df7..d8c1c4b9 100644 --- a/source/functions/Get-DbcReleaseNote.ps1 +++ b/source/functions/Get-DbcReleaseNote.ps1 @@ -29,15 +29,16 @@ function Get-DbcReleaseNote { [switch]$Latest ) - $releasenotes = Get-Content $ModuleRoot\RELEASE.md -Raw + $releasenotesfile = Join-Path -Path $PSScriptRoot -ChildPath 'RELEASE.md' - if($Latest){ + $releasenotes = [System.IO.File]::ReadAllText($releasenotesfile) + + if ($Latest) { ($releasenotes -Split "##Latest")[0] - } - else{ + } else { $releasenotes } - } +} # SIG # Begin signature block # MIINEAYJKoZIhvcNAQcCoIINATCCDP0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR diff --git a/source/functions/Import-DbcConfig.ps1 b/source/functions/Import-DbcConfig.ps1 index 704c5393..144aeaf1 100644 --- a/source/functions/Import-DbcConfig.ps1 +++ b/source/functions/Import-DbcConfig.ps1 @@ -35,9 +35,8 @@ https://dbachecks.readthedocs.io/en/latest/functions/Import-DbcConfig/ function Import-DbcConfig { [CmdletBinding()] param ( - [string]$Path = "$script:localapp\config.json", - [switch]$Temporary, - [switch]$EnableException + [string]$Path = (Join-Path -Path $script:localapp -ChildPath config.json) , + [switch]$Temporary ) process { @@ -47,9 +46,8 @@ function Import-DbcConfig { } try { - $results = Get-Content -Path $Path -Raw | ConvertFrom-Json - } - catch { + $results = [System.IO.File]::ReadAllText($Path) | ConvertFrom-Json + } catch { Stop-PSFFunction -Message "Failure" -ErrorRecord $_ return } @@ -58,76 +56,4 @@ function Import-DbcConfig { Set-DbcConfig -Name $result.Name -Value $result.Value -Temporary:$Temporary } } -} -# SIG # Begin signature block -# MIINEAYJKoZIhvcNAQcCoIINATCCDP0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB -# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR -# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUPAlxL6IrQf15jSEhkEAvdgQH -# adSgggpSMIIFGjCCBAKgAwIBAgIQAsF1KHTVwoQxhSrYoGRpyjANBgkqhkiG9w0B -# AQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD -# VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz -# c3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTE3MDUwOTAwMDAwMFoXDTIwMDUx -# MzEyMDAwMFowVzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMQ8wDQYD -# VQQHEwZWaWVubmExETAPBgNVBAoTCGRiYXRvb2xzMREwDwYDVQQDEwhkYmF0b29s -# czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8ng7JxnekL0AO4qQgt -# Kr6p3q3SNOPh+SUZH+SyY8EA2I3wR7BMoT7rnZNolTwGjUXn7bRC6vISWg16N202 -# 1RBWdTGW2rVPBVLF4HA46jle4hcpEVquXdj3yGYa99ko1w2FOWzLjKvtLqj4tzOh -# K7wa/Gbmv0Si/FU6oOmctzYMI0QXtEG7lR1HsJT5kywwmgcjyuiN28iBIhT6man0 -# Ib6xKDv40PblKq5c9AFVldXUGVeBJbLhcEAA1nSPSLGdc7j4J2SulGISYY7ocuX3 -# tkv01te72Mv2KkqqpfkLEAQjXgtM0hlgwuc8/A4if+I0YtboCMkVQuwBpbR9/6ys -# Z+sCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZldQ5Y -# MB0GA1UdDgQWBBRcxSkFqeA3vvHU0aq2mVpFRSOdmjAOBgNVHQ8BAf8EBAMCB4Aw -# EwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDovL2Ny -# bDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGGL2h0 -# dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMEwG -# A1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3 -# LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYwJAYI -# KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcwAoZC -# aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3VyZWRJ -# RENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQAD -# ggEBANuBGTbzCRhgG0Th09J0m/qDqohWMx6ZOFKhMoKl8f/l6IwyDrkG48JBkWOA -# QYXNAzvp3Ro7aGCNJKRAOcIjNKYef/PFRfFQvMe07nQIj78G8x0q44ZpOVCp9uVj -# sLmIvsmF1dcYhOWs9BOG/Zp9augJUtlYpo4JW+iuZHCqjhKzIc74rEEiZd0hSm8M -# asshvBUSB9e8do/7RhaKezvlciDaFBQvg5s0fICsEhULBRhoyVOiUKUcemprPiTD -# xh3buBLuN0bBayjWmOMlkG1Z6i8DUvWlPGz9jiBT3ONBqxXfghXLL6n8PhfppBhn -# daPQO8+SqF5rqrlyBPmRRaTz2GQwggUwMIIEGKADAgECAhAECRgbX9W7ZnVTQ7Vv -# lVAIMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdp -# Q2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0Rp -# Z2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xMzEwMjIxMjAwMDBaFw0yODEw -# MjIxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx -# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNI -# QTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUA -# A4IBDwAwggEKAoIBAQD407Mcfw4Rr2d3B9MLMUkZz9D7RZmxOttE9X/lqJ3bMtdx -# 6nadBS63j/qSQ8Cl+YnUNxnXtqrwnIal2CWsDnkoOn7p0WfTxvspJ8fTeyOU5JEj -# lpB3gvmhhCNmElQzUHSxKCa7JGnCwlLyFGeKiUXULaGj6YgsIJWuHEqHCN8M9eJN -# YBi+qsSyrnAxZjNxPqxwoqvOf+l8y5Kh5TsxHM/q8grkV7tKtel05iv+bMt+dDk2 -# DZDv5LVOpKnqagqrhPOsZ061xPeM0SAlI+sIZD5SlsHyDxL0xY4PwaLoLFH3c7y9 -# hbFig3NBggfkOItqcyDQD2RzPJ6fpjOp/RnfJZPRAgMBAAGjggHNMIIByTASBgNV -# HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEF -# BQcDAzB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp -# Z2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu -# Y29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHoweDA6oDig -# NoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9v -# dENBLmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0 -# QXNzdXJlZElEUm9vdENBLmNybDBPBgNVHSAESDBGMDgGCmCGSAGG/WwAAgQwKjAo -# BggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAKBghghkgB -# hv1sAzAdBgNVHQ4EFgQUWsS5eyoKo6XqcQPAYPkt9mV1DlgwHwYDVR0jBBgwFoAU -# Reuir/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQELBQADggEBAD7sDVoks/Mi -# 0RXILHwlKXaoHV0cLToaxO8wYdd+C2D9wz0PxK+L/e8q3yBVN7Dh9tGSdQ9RtG6l -# jlriXiSBThCk7j9xjmMOE0ut119EefM2FAaK95xGTlz/kLEbBw6RFfu6r7VRwo0k -# riTGxycqoSkoGjpxKAI8LpGjwCUR4pwUR6F6aGivm6dcIFzZcbEMj7uo+MUSaJ/P -# QMtARKUT8OZkDCUIQjKyNookAv4vcn4c10lFluhZHen6dGRrsutmQ9qzsIzV6Q3d -# 9gEgzpkxYz0IGhizgZtPxpMQBvwHgfqL2vmCSfdibqFT+hKUGIUukpHqaGxEMrJm -# oecYpJpkUe8xggIoMIICJAIBATCBhjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMM -# RGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQD -# EyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBTaWduaW5nIENBAhACwXUo -# dNXChDGFKtigZGnKMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgACh -# AoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM -# BgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBROE1AiqNj90ANKwXMa8ZDK6dEH -# NTANBgkqhkiG9w0BAQEFAASCAQAhwY9SYQzxM5uFZD7IlripJgWsw3hd7IhpVSGx -# C7IPtGjvvY0TVCWjIUJ8kYOObPDWahkj9OflT54Ukiby/UroUT6uVkJKkj5jOazj -# 80NU0LK2FrTsw4DmjkM4ERszOi8h7QfaRFuOq2HUjOm9tBlb52IQcDDoMp41hgV6 -# HiDcQ/M6Z/18xjeFKWEY4x6mGVdtaf6GfTaxPQ69f0dB41aB86YugNFJ2XFgroF/ -# 45CFqT0+DAGoXe4WFqThS8HrQr+hvm3Bg/wa6T92E2LWf7vvoYDxG4S3LIaHOsnu -# P5ICUXpKccgZxHRECMM9/B4qQBqqrk54FKcYR90BB4QXvOpi -# SIG # End signature block +} \ No newline at end of file diff --git a/source/internal/functions/Get-CheckFile.ps1 b/source/internal/functions/Get-CheckFile.ps1 index 1fd745c6..a13079ce 100644 --- a/source/internal/functions/Get-CheckFile.ps1 +++ b/source/internal/functions/Get-CheckFile.ps1 @@ -41,7 +41,8 @@ function Get-CheckFile { $false { if ($Check.Count -gt 0) { # specific checks were requested. find them. - @(Get-ChildItem -Path "$Repo\*.Tests.ps1").ForEach{ + $TestsPath = Join-Path -Path $Repo -ChildPath '*.Tests.ps1' + @(Get-ChildItem -Path $TestsPath ).ForEach{ # we do not want v5 files here if ($psitem.Name -notmatch 'v5') { $script:checksFile = $psitem.FullName @@ -53,7 +54,7 @@ function Get-CheckFile { } } else { @($check).ForEach{ - if (@(Get-Content -Path $script:checksFile | Select-String -Pattern "^\s*Describe.*-Tags\s+.*($psitem)").Matches.Count) { + if (@([System.IO.File]::ReadAllText($script:checksFile) | Select-String -Pattern "^\s*Describe.*-Tags\s+.*($psitem)").Matches.Count) { # file matches by one of the tags if (!($script:selectedFiles -contains $script:checksFile)) { $script:selectedFiles.Add($script:checksFile) @@ -74,7 +75,8 @@ function Get-CheckFile { Write-PSFMessage -Message $message -Level Verbose $message = 'Searching Path {0} for test files' -f $repo Write-PSFMessage -Message $message -Level Verbose - @(Get-ChildItem -Path "$Repo\*.Tests.ps1").ForEach{ + $TestsPath = Join-Path -Path $Repo -ChildPath '*.Tests.ps1' + @(Get-ChildItem -Path $TestsPath ).ForEach{ $message = 'Processing {0}' -f $psitem.Name Write-PSFMessage -Message $message -Level Verbose # but we only want v5 files @@ -95,7 +97,7 @@ function Get-CheckFile { } else { $message = '{0} file does not match check {1} lets check for the tag' -f $psitem.Name, ($Check | Out-String) Write-PSFMessage -Message $message -Level Verbose - $fileContent = Get-Content -Path $script:checksFile + $fileContent = [System.IO.File]::ReadAllText($script:checksFile) @($check).ForEach{ $message = 'Check file {0} for the tag {1}' -f $script:checksFile, $psitem Write-PSFMessage -Message $message -Level Verbose diff --git a/source/internal/functions/New-Json.ps1 b/source/internal/functions/New-Json.ps1 index 0fbb989e..fb1068a7 100644 --- a/source/internal/functions/New-Json.ps1 +++ b/source/internal/functions/New-Json.ps1 @@ -21,7 +21,7 @@ function New-Json { $filename = $file.Name.Replace(".Tests.ps1", "") # Write-Verbose "Processing $FileName" # Write-Verbose "Getting Content of File" - $Check = Get-Content $file -Raw + $Check = [System.IO.File]::ReadAllText($file) # because custom checks if they are not coded correctly will break this json creation # and they wont get added nicely so that they can be targetted with tags (checks) @@ -42,7 +42,7 @@ function New-Json { $Check = $null Set-Content -Path $file -Value $filecontent Write-Verbose "Getting Content of File again" - $Check = Get-Content $file -Raw + $Check = [System.IO.File]::ReadAllText($file) } } @@ -66,7 +66,7 @@ function New-Json { $Check = $null } # Write-Verbose "Getting Content of File again" - $Check = Get-Content $file -Raw + $Check = [System.IO.File]::ReadAllText($file) } }