From a9bc069a35577ededbd9b235f922e82ed5c6ff1f Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin <127750046+shamil-mubarakshin@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:58:03 +0100 Subject: [PATCH] [ubuntu] Refactor Software Report helpers (#8954) --- .../docs-gen/Generate-SoftwareReport.ps1 | 7 +- .../docs-gen/SoftwareReport.Android.psm1 | 13 ++-- .../docs-gen/SoftwareReport.Browsers.psm1 | 22 +++--- .../docs-gen/SoftwareReport.CachedTools.psm1 | 10 +-- .../docs-gen/SoftwareReport.Common.psm1 | 63 ++++++++------- .../docs-gen/SoftwareReport.Databases.psm1 | 10 +-- .../docs-gen/SoftwareReport.Helpers.psm1 | 41 +++------- .../scripts/docs-gen/SoftwareReport.Java.psm1 | 2 +- .../scripts/docs-gen/SoftwareReport.Rust.psm1 | 20 ++--- .../docs-gen/SoftwareReport.Tools.psm1 | 78 +++++++++---------- .../docs-gen/SoftwareReport.WebServers.psm1 | 30 +++---- 11 files changed, 140 insertions(+), 156 deletions(-) diff --git a/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1 b/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1 index d3a7b64f4..758d7c91e 100644 --- a/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1 +++ b/images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1 @@ -2,8 +2,8 @@ using module ./software-report-base/SoftwareReport.psm1 using module ./software-report-base/SoftwareReport.Nodes.psm1 param ( - [Parameter(Mandatory)][string] - $OutputDirectory + [Parameter(Mandatory)] + [string] $OutputDirectory ) $global:ErrorActionPreference = "Stop" @@ -23,7 +23,7 @@ Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableName Import-Module (Join-Path $PSScriptRoot "SoftwareReport.WebServers.psm1") -DisableNameChecking # Restore file owner in user profile -Restore-UserOwner +sudo chown -R ${env:USER}: $env:HOME # Software report $softwareReport = [SoftwareReport]::new("Ubuntu $(Get-OSVersionShort)") @@ -164,7 +164,6 @@ $cliTools.AddToolVersion("OpenShift CLI", $(Get-OCCliVersion)) $cliTools.AddToolVersion("ORAS CLI", $(Get-ORASCliVersion)) $cliTools.AddToolVersion("Vercel CLI", $(Get-VerselCliversion)) - $installedSoftware.AddHeader("Java").AddTable($(Get-JavaVersionsTable)) $phpTools = $installedSoftware.AddHeader("PHP Tools") diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 index b7ce2b8e1..3bfc59bd2 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Android.psm1 @@ -20,7 +20,6 @@ function Get-AndroidInstalledPackages { return $androidSDKManagerList } - function Build-AndroidTable { $packageInfo = Get-AndroidInstalledPackages return @( @@ -79,7 +78,7 @@ function Build-AndroidTable { ) | Where-Object { $_.Version } | ForEach-Object { [PSCustomObject] @{ "Package Name" = $_.Package - "Version" = $_.Version + "Version" = $_.Version } } } @@ -92,7 +91,7 @@ function Get-AndroidPackageVersions { [object] $MatchedString ) - $versions = $packageInfo | Where-Object { $_ -Match $MatchedString } | ForEach-Object { + $versions = $PackageInfo | Where-Object { $_ -Match $MatchedString } | ForEach-Object { $packageInfoParts = Split-TableRowByColumns $_ return $packageInfoParts[1] } @@ -105,7 +104,7 @@ function Get-AndroidPlatformVersions { [object] $PackageInfo ) - $versions = $packageInfo | Where-Object { $_ -Match "Android SDK Platform " } | ForEach-Object { + $versions = $PackageInfo | Where-Object { $_ -Match "Android SDK Platform " } | ForEach-Object { $packageInfoParts = Split-TableRowByColumns $_ $revision = $packageInfoParts[1] $version = $packageInfoParts[0].split(";")[1] @@ -128,7 +127,7 @@ function Get-AndroidBuildToolVersions { [object] $PackageInfo ) - $versions = $packageInfo | Where-Object { $_ -Match "Android SDK Build-Tools" } | ForEach-Object { + $versions = $PackageInfo | Where-Object { $_ -Match "Android SDK Build-Tools" } | ForEach-Object { $packageInfoParts = Split-TableRowByColumns $_ return $packageInfoParts[1] } @@ -146,7 +145,7 @@ function Get-AndroidGoogleAPIsVersions { [object] $PackageInfo ) - $versions = $packageInfo | Where-Object { $_ -Match "Google APIs" } | ForEach-Object { + $versions = $PackageInfo | Where-Object { $_ -Match "Google APIs" } | ForEach-Object { $packageInfoParts = Split-TableRowByColumns $_ return $packageInfoParts[0].split(";")[1] } @@ -171,7 +170,7 @@ function Build-AndroidEnvironmentTable { $shouldResolveLink = 'ANDROID_NDK', 'ANDROID_NDK_HOME', 'ANDROID_NDK_ROOT', 'ANDROID_NDK_LATEST_HOME' return $androidVersions | Sort-Object -Property Name | ForEach-Object { [PSCustomObject] @{ - "Name" = $_.Name + "Name" = $_.Name "Value" = if ($shouldResolveLink.Contains($_.Name )) { Get-PathWithLink($_.Value) } else {$_.Value} } } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 index 9ae849634..687d69316 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Browsers.psm1 @@ -1,35 +1,35 @@ function Get-ChromeVersion { - $googleChromeVersion = google-chrome --version | Take-OutputPart -Part 2 + $googleChromeVersion = google-chrome --version | Get-StringPart -Part 2 return $googleChromeVersion } function Get-ChromeDriverVersion { - $chromeDriverVersion = chromedriver --version | Take-OutputPart -Part 1 + $chromeDriverVersion = chromedriver --version | Get-StringPart -Part 1 return $chromeDriverVersion } function Get-FirefoxVersion { - $firefoxVersion = $(firefox --version) | Take-OutputPart -Part 2 + $firefoxVersion = $(firefox --version) | Get-StringPart -Part 2 return $firefoxVersion } function Get-GeckodriverVersion { - $geckodriverVersion = geckodriver --version | Select-Object -First 1 | Take-OutputPart -Part 1 + $geckodriverVersion = geckodriver --version | Select-Object -First 1 | Get-StringPart -Part 1 return $geckodriverVersion } function Get-ChromiumVersion { - $chromiumVersion = chromium-browser --version | Take-OutputPart -Part 1 + $chromiumVersion = chromium-browser --version | Get-StringPart -Part 1 return $chromiumVersion } function Get-EdgeVersion { - $edgeVersion = (microsoft-edge --version).Trim() | Take-OutputPart -Part 2 + $edgeVersion = (microsoft-edge --version).Trim() | Get-StringPart -Part 2 return $edgeVersion } function Get-EdgeDriverVersion { - $edgeDriverVersion = msedgedriver --version | Take-OutputPart -Part 3 + $edgeDriverVersion = msedgedriver --version | Get-StringPart -Part 3 return $edgeDriverVersion } @@ -41,19 +41,19 @@ function Get-SeleniumVersion { function Build-BrowserWebdriversEnvironmentTable { return @( [PSCustomObject] @{ - "Name" = "CHROMEWEBDRIVER" + "Name" = "CHROMEWEBDRIVER" "Value" = $env:CHROMEWEBDRIVER }, [PSCustomObject] @{ - "Name" = "EDGEWEBDRIVER" + "Name" = "EDGEWEBDRIVER" "Value" = $env:EDGEWEBDRIVER }, [PSCustomObject] @{ - "Name" = "GECKOWEBDRIVER" + "Name" = "GECKOWEBDRIVER" "Value" = $env:GECKOWEBDRIVER }, [PSCustomObject] @{ - "Name" = "SELENIUM_JAR_PATH" + "Name" = "SELENIUM_JAR_PATH" "Value" = $env:SELENIUM_JAR_PATH } ) diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 index a6c7433d0..87905aed5 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.CachedTools.psm1 @@ -1,18 +1,18 @@ function Get-ToolcacheRubyVersions { $toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Ruby" - return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } + return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version] $_ } } function Get-ToolcachePythonVersions { $toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "Python" - return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } + return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version] $_ } } function Get-ToolcachePyPyVersions { $toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "PyPy" Get-ChildItem -Path $toolcachePath -Name | Sort-Object { [Version] $_ } | ForEach-Object { $pypyRootPath = Join-Path $toolcachePath $_ "x64" - [string]$pypyVersionOutput = & "$pypyRootPath/bin/python" -c "import sys;print(sys.version)" + [string] $pypyVersionOutput = & "$pypyRootPath/bin/python" -c "import sys;print(sys.version)" $pypyVersionOutput -match "^([\d\.]+) \(.+\) \[PyPy ([\d\.]+\S*) .+]$" | Out-Null return "{0} [PyPy {1}]" -f $Matches[1], $Matches[2] } @@ -20,10 +20,10 @@ function Get-ToolcachePyPyVersions { function Get-ToolcacheNodeVersions { $toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "node" - return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } + return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version] $_ } } function Get-ToolcacheGoVersions { $toolcachePath = Join-Path $env:AGENT_TOOLSDIRECTORY "go" - return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } + return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version] $_ } } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 index 1d512df85..e1a78a962 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Common.psm1 @@ -10,18 +10,18 @@ function Get-DashVersion { function Get-CPPVersions { $result = Get-CommandResult "apt list --installed" -Multiline - $cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object { - & $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3 - } | Sort-Object {[Version]$_} + $cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+" } | ForEach-Object { + & $_.Split("/")[0] --version | Select-Object -First 1 | Get-StringPart -Part 3 + } | Sort-Object {[Version] $_} return $cppVersions } function Get-FortranVersions { $result = Get-CommandResult "apt list --installed" -Multiline - $fortranVersions = $result.Output | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object { + $fortranVersions = $result.Output | Where-Object { $_ -match "^gfortran-\d+" } | ForEach-Object { $_ -match "now (?\d+\.\d+\.\d+)-" | Out-Null $Matches.version - } | Sort-Object {[Version]$_} + } | Sort-Object {[Version] $_} return $fortranVersions } @@ -34,20 +34,21 @@ function Get-ClangToolVersions { ) $result = Get-CommandResult "apt list --installed" -Multiline - $toolVersions = $result.Output | Where-Object { $_ -match "^${ToolName}-\d+"} | ForEach-Object { + $toolVersions = $result.Output | Where-Object { $_ -match "^${ToolName}-\d+" } | ForEach-Object { $clangCommand = ($_ -Split "/")[0] Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "${VersionLineMatcher}" } | ForEach-Object { $_ -match "${VersionLineMatcher} (?${VersionPattern}" | Out-Null $Matches.version } - } | Sort-Object {[Version]$_} + } | Sort-Object {[Version] $_} return $toolVersions } function Get-ClangTidyVersions { - return Get-ClangToolVersions -ToolName "clang-tidy" -VersionLineMatcher "LLVM version" -VersionPattern "\d+\.\d+\.\d+)" + $clangVersions = Get-ClangToolVersions -ToolName "clang-tidy" -VersionLineMatcher "LLVM version" -VersionPattern "\d+\.\d+\.\d+)" + return $clangVersions } @@ -64,7 +65,7 @@ function Get-ErlangRebar3Version { } function Get-MonoVersion { - $monoVersion = mono --version | Out-String | Take-OutputPart -Part 4 + $monoVersion = mono --version | Out-String | Get-StringPart -Part 4 return $monoVersion } @@ -75,7 +76,7 @@ function Get-MsbuildVersion { } function Get-NuGetVersion { - $nugetVersion = nuget help | Select-Object -First 1 | Take-OutputPart -Part 2 + $nugetVersion = nuget help | Select-Object -First 1 | Get-StringPart -Part 2 return $nugetVersion } @@ -85,7 +86,8 @@ function Get-NodeVersion { } function Get-OpensslVersion { - return $(dpkg-query -W -f '${Version}' openssl) + $opensslVersion = $(dpkg-query -W -f '${Version}' openssl) + return $opensslVersion } function Get-PerlVersion { @@ -95,31 +97,32 @@ function Get-PerlVersion { function Get-PythonVersion { $result = Get-CommandResult "python --version" - $version = $result.Output | Take-OutputPart -Part 1 + $version = $result.Output | Get-StringPart -Part 1 return $version } function Get-PowershellVersion { - return $(pwsh --version) | Take-OutputPart -Part 1 + $pwshVersion = $(pwsh --version) | Get-StringPart -Part 1 + return $pwshVersion } function Get-RubyVersion { - $rubyVersion = ruby --version | Out-String | Take-OutputPart -Part 1 + $rubyVersion = ruby --version | Out-String | Get-StringPart -Part 1 return $rubyVersion } function Get-SwiftVersion { - $swiftVersion = swift --version | Out-String | Take-OutputPart -Part 2 + $swiftVersion = swift --version | Out-String | Get-StringPart -Part 2 return $swiftVersion } function Get-KotlinVersion { - $kotlinVersion = kotlin -version | Out-String | Take-OutputPart -Part 2 + $kotlinVersion = kotlin -version | Out-String | Get-StringPart -Part 2 return $kotlinVersion } function Get-JuliaVersion { - $juliaVersion = julia --version | Take-OutputPart -Part 2 + $juliaVersion = julia --version | Get-StringPart -Part 2 return $juliaVersion } @@ -147,7 +150,7 @@ function Get-GemVersion { } function Get-MinicondaVersion { - $condaVersion = conda --version | Take-OutputPart -Part 1 + $condaVersion = conda --version | Get-StringPart -Part 1 return $condaVersion } @@ -195,7 +198,7 @@ function Get-AntVersion { } function Get-GradleVersion { - $gradleVersion = (gradle -v) -match "^Gradle \d" | Take-OutputPart -Part 1 + $gradleVersion = (gradle -v) -match "^Gradle \d" | Get-StringPart -Part 1 return $gradleVersion } @@ -213,14 +216,14 @@ function Get-SbtVersion { function Get-PHPVersions { $result = Get-CommandResult "apt list --installed" -Multiline - return $result.Output | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object { + return $result.Output | Where-Object { $_ -match "^php\d+\.\d+/" } | ForEach-Object { $_ -match "now (\d+:)?(?\d+\.\d+\.\d+)" | Out-Null $Matches.version } } function Get-ComposerVersion { - $composerVersion = (composer --version) -replace " version" | Take-OutputPart -Part 1 + $composerVersion = (composer --version) -replace " version" | Get-StringPart -Part 1 return $composerVersion } @@ -281,7 +284,7 @@ function Get-PowerShellModules { } function Get-DotNetCoreSdkVersions { - $dotNetCoreSdkVersion = dotnet --list-sdks list | ForEach-Object { $_ | Take-OutputPart -Part 0 } + $dotNetCoreSdkVersion = dotnet --list-sdks list | ForEach-Object { $_ | Get-StringPart -Part 0 } return $dotNetCoreSdkVersion } @@ -307,8 +310,8 @@ function Get-CachedDockerImagesTableData { $parts = $_.Split("|") [PSCustomObject] @{ "Repository:Tag" = $parts[0] - "Digest" = $parts[1] - "Created" = $parts[2].split(' ')[0] + "Digest" = $parts[1] + "Created" = $parts[2].split(' ')[0] } } | Sort-Object -Property "Repository:Tag" } @@ -318,10 +321,10 @@ function Get-AptPackages { $output = @() ForEach ($pkg in ($apt.vital_packages + $apt.common_packages + $apt.cmd_packages)) { $version = $(dpkg-query -W -f '${Version}' $pkg) - if ($Null -eq $version) { + if ($null -eq $version) { $version = $(dpkg-query -W -f '${Version}' "$pkg*") } - + $version = $version -replace '~','\~' $output += [PSCustomObject] @{ @@ -341,18 +344,18 @@ function Get-PipxVersion { function Build-PackageManagementEnvironmentTable { return @( [PSCustomObject] @{ - "Name" = "CONDA" + "Name" = "CONDA" "Value" = $env:CONDA }, [PSCustomObject] @{ - "Name" = "VCPKG_INSTALLATION_ROOT" + "Name" = "VCPKG_INSTALLATION_ROOT" "Value" = $env:VCPKG_INSTALLATION_ROOT } ) } function Get-SystemdVersion { - $matches = [regex]::Matches((systemctl --version | head -n 1), "\((.*?)\)") - $result = foreach ($match in $matches) {$match.Groups[1].Value} + $matchCollection = [regex]::Matches((systemctl --version | head -n 1), "\((.*?)\)") + $result = foreach ($match in $matchCollection) {$match.Groups[1].Value} return $result } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 index 78b20cddc..9adfa2f9b 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Databases.psm1 @@ -1,25 +1,25 @@ function Get-PostgreSqlVersion { - $postgreSQLVersion = psql --version | Take-OutputPart -Part 2 + $postgreSQLVersion = psql --version | Get-StringPart -Part 2 return $postgreSQLVersion } function Get-MongoDbVersion { - $mongoDBVersion = mongod --version | Select-Object -First 1 | Take-OutputPart -Part 2 -Delimiter "v" + $mongoDBVersion = mongod --version | Select-Object -First 1 | Get-StringPart -Part 2 -Delimiter "v" return $mongoDBVersion } function Get-SqliteVersion { - $sqliteVersion = sqlite3 --version | Take-OutputPart -Part 0 + $sqliteVersion = sqlite3 --version | Get-StringPart -Part 0 return $sqliteVersion } function Get-MySQLVersion { - $mySQLVersion = mysqld --version | Take-OutputPart -Part 2 + $mySQLVersion = mysqld --version | Get-StringPart -Part 2 return $mySQLVersion } function Get-SQLCmdVersion { - $sqlcmdVersion = sqlcmd -? | Select-String -Pattern "Version" | Take-OutputPart -Part 1 + $sqlcmdVersion = sqlcmd -? | Select-String -Pattern "Version" | Get-StringPart -Part 1 return $sqlcmdVersion } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Helpers.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Helpers.psm1 index 1f1ebf810..c74b85610 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Helpers.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Helpers.psm1 @@ -1,51 +1,34 @@ -function Take-OutputPart { +function Get-StringPart { param ( [Parameter(ValueFromPipeline)] - [string] $toolOutput, + [string] $ToolOutput, [string] $Delimiter = " ", [int[]] $Part ) - $parts = $toolOutput.Split($Delimiter, [System.StringSplitOptions]::RemoveEmptyEntries) + + $parts = $ToolOutput.Split($Delimiter, [System.StringSplitOptions]::RemoveEmptyEntries) $selectedParts = $parts[$Part] return [string]::Join($Delimiter, $selectedParts) } -function Restore-UserOwner { - sudo chown -R ${env:USER}: $env:HOME -} - -function Get-LinkTarget { - param ( - [string] $inputPath - ) - $link = Get-Item $inputPath | Select-Object -ExpandProperty Target - if ($link) { - return " -> $link" - } - return "" -} - function Get-PathWithLink { param ( - [string] $inputPath + [string] $InputPath ) - $link = Get-LinkTarget($inputPath) - return "${inputPath}${link}" -} -function Get-AptSourceRepository { - param([String] $PackageName) - - $sourceUrl = Get-Content "$PSScriptRoot/../helpers/apt-sources.txt" | Select-String -Pattern $PackageName | Take-OutputPart -Part (1..3) - return $sourceUrl + $link = Get-Item $InputPath | Select-Object -ExpandProperty Target + if (-not [string]::IsNullOrEmpty($link)) { + return "${InputPath} -> ${link}" + } + return "${InputPath}" } function Get-OSVersionShort { - $(Get-OSVersionFull) | Take-OutputPart -Delimiter '.' -Part 0,1 + $(Get-OSVersionFull) | Get-StringPart -Delimiter '.' -Part 0,1 } function Get-OSVersionFull { - lsb_release -ds | Take-OutputPart -Part 1, 2 + lsb_release -ds | Get-StringPart -Part 1, 2 } function Get-KernelVersion { diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 index 4495cc6fa..fb653ab31 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Java.psm1 @@ -1,5 +1,5 @@ function Get-JavaVersionsTable { - $javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int]$_.Name.Split(".")[0] } + $javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int] $_.Name.Split(".")[0] } return $javaToolcacheVersions | ForEach-Object { $majorVersion = $_.Name.split(".")[0] diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 index a8058ddc5..d4c0ca19e 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Rust.psm1 @@ -5,51 +5,51 @@ function Initialize-RustEnvironment { } function Get-RustVersion { - $rustVersion = $(rustc --version) | Take-OutputPart -Part 1 + $rustVersion = $(rustc --version) | Get-StringPart -Part 1 return $rustVersion } function Get-BindgenVersion { - $bindgenVersion = $(bindgen --version) | Take-OutputPart -Part 1 + $bindgenVersion = $(bindgen --version) | Get-StringPart -Part 1 return $bindgenVersion } function Get-CargoVersion { - $cargoVersion = $(cargo --version) | Take-OutputPart -Part 1 + $cargoVersion = $(cargo --version) | Get-StringPart -Part 1 return $cargoVersion } function Get-CargoAuditVersion { - $cargoAuditVersion = $(cargo-audit --version) | Take-OutputPart -Part 1 + $cargoAuditVersion = $(cargo-audit --version) | Get-StringPart -Part 1 return $cargoAuditVersion } function Get-CargoOutdatedVersion { - $cargoOutdatedVersion = cargo outdated --version | Take-OutputPart -Part 1 + $cargoOutdatedVersion = cargo outdated --version | Get-StringPart -Part 1 return $cargoOutdatedVersion } function Get-CargoClippyVersion { - $cargoClippyVersion = $(cargo-clippy --version) | Take-OutputPart -Part 1 + $cargoClippyVersion = $(cargo-clippy --version) | Get-StringPart -Part 1 return $cargoClippyVersion } function Get-CbindgenVersion { - $cbindgenVersion = $(cbindgen --version) | Take-OutputPart -Part 1 + $cbindgenVersion = $(cbindgen --version) | Get-StringPart -Part 1 return $cbindgenVersion } function Get-RustupVersion { - $rustupVersion = $(rustup --version) | Take-OutputPart -Part 1 + $rustupVersion = $(rustup --version) | Get-StringPart -Part 1 return $rustupVersion } function Get-RustdocVersion { - $rustdocVersion = $(rustdoc --version) | Take-OutputPart -Part 1 + $rustdocVersion = $(rustdoc --version) | Get-StringPart -Part 1 return $rustdocVersion } function Get-RustfmtVersion { - $rustfmtVersion = $(rustfmt --version) | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" + $rustfmtVersion = $(rustfmt --version) | Get-StringPart -Part 1 | Get-StringPart -Part 0 -Delimiter "-" return $rustfmtVersion } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 index fab8249ae..6ed4470d2 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.Tools.psm1 @@ -10,18 +10,18 @@ function Get-AptFastVersion { } function Get-AzCopyVersion { - $azcopyVersion = azcopy --version | Take-OutputPart -Part 2 + $azcopyVersion = azcopy --version | Get-StringPart -Part 2 return "$azcopyVersion - available by ``azcopy`` and ``azcopy10`` aliases" } function Get-BazelVersion { - $bazelVersion = bazel --version | Select-String "bazel" | Take-OutputPart -Part 1 + $bazelVersion = bazel --version | Select-String "bazel" | Get-StringPart -Part 1 return $bazelVersion } function Get-BazeliskVersion { $result = Get-CommandResult "bazelisk version" -Multiline - $bazeliskVersion = $result.Output | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v" + $bazeliskVersion = $result.Output | Select-String "Bazelisk version:" | Get-StringPart -Part 2 | Get-StringPart -Part 0 -Delimiter "v" return $bazeliskVersion } @@ -39,32 +39,32 @@ function Get-CodeQLBundleVersion { } function Get-PodManVersion { - $podmanVersion = podman --version | Take-OutputPart -Part 2 + $podmanVersion = podman --version | Get-StringPart -Part 2 return $podmanVersion } function Get-BuildahVersion { - $buildahVersion = buildah --version | Take-OutputPart -Part 2 + $buildahVersion = buildah --version | Get-StringPart -Part 2 return $buildahVersion } function Get-SkopeoVersion { - $skopeoVersion = skopeo --version | Take-OutputPart -Part 2 + $skopeoVersion = skopeo --version | Get-StringPart -Part 2 return $skopeoVersion } function Get-CMakeVersion { - $cmakeVersion = cmake --version | Select-Object -First 1 | Take-OutputPart -Part 2 + $cmakeVersion = cmake --version | Select-Object -First 1 | Get-StringPart -Part 2 return $cmakeVersion } function Get-DockerComposeV1Version { - $composeVersion = docker-compose -v | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "," + $composeVersion = docker-compose -v | Get-StringPart -Part 2 | Get-StringPart -Part 0 -Delimiter "," return $composeVersion } function Get-DockerComposeV2Version { - $composeVersion = docker compose version | Take-OutputPart -Part 3 | Take-OutputPart -Part 0 -Delimiter "v" + $composeVersion = docker compose version | Get-StringPart -Part 3 | Get-StringPart -Part 0 -Delimiter "v" return $composeVersion } @@ -79,62 +79,62 @@ function Get-DockerServerVersion { } function Get-DockerBuildxVersion { - $buildxVersion = docker buildx version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "v" + $buildxVersion = docker buildx version | Get-StringPart -Part 1 | Get-StringPart -Part 0 -Delimiter "v" return $buildxVersion } function Get-DockerAmazonECRCredHelperVersion { - $ecrVersion = docker-credential-ecr-login -v | Select-String "Version:" | Take-OutputPart -Part 1 + $ecrVersion = docker-credential-ecr-login -v | Select-String "Version:" | Get-StringPart -Part 1 return $ecrVersion } function Get-GitVersion { - $gitVersion = git --version | Take-OutputPart -Part -1 + $gitVersion = git --version | Get-StringPart -Part -1 return $gitVersion } function Get-GitLFSVersion { $result = Get-CommandResult "git-lfs --version" - $gitlfsversion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $gitlfsversion = $result.Output | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/" return $gitlfsversion } function Get-GitFTPVersion { - $gitftpVersion = git-ftp --version | Take-OutputPart -Part 2 + $gitftpVersion = git-ftp --version | Get-StringPart -Part 2 return $gitftpVersion } function Get-GoogleCloudCLIVersion { - return (gcloud --version | Select-Object -First 1) | Take-OutputPart -Part 3 + return (gcloud --version | Select-Object -First 1) | Get-StringPart -Part 3 } function Get-HavegedVersion { - $havegedVersion = dpkg-query --showformat='${Version}' --show haveged | Take-OutputPart -Part 0 -Delimiter "-" + $havegedVersion = dpkg-query --showformat='${Version}' --show haveged | Get-StringPart -Part 0 -Delimiter "-" return $havegedVersion } function Get-HerokuVersion { - $herokuVersion = heroku version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $herokuVersion = heroku version | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/" return $herokuVersion } function Get-HHVMVersion { - $hhvmVersion = hhvm --version | Select-Object -First 1 | Take-OutputPart -Part 2 + $hhvmVersion = hhvm --version | Select-Object -First 1 | Get-StringPart -Part 2 return $hhvmVersion } function Get-SVNVersion { - $svnVersion = svn --version | Select-Object -First 1 | Take-OutputPart -Part 2 + $svnVersion = svn --version | Select-Object -First 1 | Get-StringPart -Part 2 return $svnVersion } function Get-KustomizeVersion { - $kustomizeVersion = kustomize version --short | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "v" + $kustomizeVersion = kustomize version --short | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "v" return $kustomizeVersion } function Get-KindVersion { - $kindVersion = kind version | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "v" + $kindVersion = kind version | Get-StringPart -Part 1 | Get-StringPart -Part 0 -Delimiter "v" return $kindVersion } @@ -144,21 +144,21 @@ function Get-KubectlVersion { } function Get-MinikubeVersion { - $minikubeVersion = minikube version --short | Take-OutputPart -Part 0 -Delimiter "v" + $minikubeVersion = minikube version --short | Get-StringPart -Part 0 -Delimiter "v" return $minikubeVersion } function Get-HGVersion { - $hgVersion = hg --version | Select-Object -First 1 | Take-OutputPart -Part -1 | Take-OutputPart -Part 0 -Delimiter ")" + $hgVersion = hg --version | Select-Object -First 1 | Get-StringPart -Part -1 | Get-StringPart -Part 0 -Delimiter ")" return $hgVersion } function Get-LeiningenVersion { - return "$(lein -v | Take-OutputPart -Part 1)" + return "$(lein -v | Get-StringPart -Part 1)" } function Get-MediainfoVersion { - $mediainfoVersion = (mediainfo --version | Select-Object -Index 1 | Take-OutputPart -Part 2).Replace('v', '') + $mediainfoVersion = (mediainfo --version | Select-Object -Index 1 | Get-StringPart -Part 2).Replace('v', '') return $mediainfoVersion } @@ -187,11 +187,11 @@ function Get-PhantomJSVersion { } function Get-TerraformVersion { - return (terraform version | Select-String "^Terraform").Line.Replace('v','') | Take-OutputPart -Part 1 + return (terraform version | Select-String "^Terraform").Line.Replace('v','') | Get-StringPart -Part 1 } function Get-JqVersion { - $jqVersion = jq --version | Take-OutputPart -Part 1 -Delimiter "-" + $jqVersion = jq --version | Get-StringPart -Part 1 -Delimiter "-" return $jqVersion } @@ -211,7 +211,7 @@ function Get-AlibabaCloudCliVersion { function Get-AWSCliVersion { $result = Get-CommandResult "aws --version" - $awsVersion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $awsVersion = $result.Output | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/" return $awsVersion } @@ -221,21 +221,21 @@ function Get-AWSCliSessionManagerPluginVersion { } function Get-AWSSAMVersion { - return $(sam --version | Take-OutputPart -Part -1) + return $(sam --version | Get-StringPart -Part -1) } function Get-FastlaneVersion { - $fastlaneVersion = fastlane --version | Select-String "^fastlane [0-9]" | Take-OutputPart -Part 1 + $fastlaneVersion = fastlane --version | Select-String "^fastlane [0-9]" | Get-StringPart -Part 1 return $fastlaneVersion } function Get-GitHubCliVersion { - $ghVersion = gh --version | Select-String "gh version" | Take-OutputPart -Part 2 + $ghVersion = gh --version | Select-String "gh version" | Get-StringPart -Part 2 return $ghVersion } function Get-NetlifyCliVersion { - $netlifyVersion = netlify --version | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/" + $netlifyVersion = netlify --version | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/" return $netlifyVersion } @@ -245,7 +245,7 @@ function Get-OCCliVersion { } function Get-ORASCliVersion { - $orasVersion = oras version | Select-String "^Version:" | Take-OutputPart -Part 1 + $orasVersion = oras version | Select-String "^Version:" | Get-StringPart -Part 1 return $orasVersion } @@ -255,30 +255,30 @@ function Get-VerselCliversion { } function Get-PulumiVersion { - $pulumiVersion = pulumi version | Take-OutputPart -Part 0 -Delimiter "v" + $pulumiVersion = pulumi version | Get-StringPart -Part 0 -Delimiter "v" return $pulumiVersion } function Get-RVersion { - $rVersion = (Get-CommandResult "R --version | grep 'R version'").Output | Take-OutputPart -Part 2 + $rVersion = (Get-CommandResult "R --version | grep 'R version'").Output | Get-StringPart -Part 2 return $rVersion } function Get-SphinxVersion { - $sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-" + $sphinxVersion = searchd -h | Select-Object -First 1 | Get-StringPart -Part 1 | Get-StringPart -Part 0 -Delimiter "-" return $sphinxVersion } function Get-YamllintVersion { - return $(yamllint --version) | Take-OutputPart -Part 1 + return $(yamllint --version) | Get-StringPart -Part 1 } function Get-ZstdVersion { - $zstdVersion = zstd --version | Take-OutputPart -Part 1 -Delimiter "v" | Take-OutputPart -Part 0 -Delimiter "," + $zstdVersion = zstd --version | Get-StringPart -Part 1 -Delimiter "v" | Get-StringPart -Part 0 -Delimiter "," return "$zstdVersion" } function Get-YqVersion { - $yqVersion = $(yq -V) | Take-OutputPart -Part 3 + $yqVersion = $(yq -V) | Get-StringPart -Part 3 return $yqVersion.TrimStart("v").Trim() } diff --git a/images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 b/images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 index cf4c89f30..bfb76e0a7 100644 --- a/images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 +++ b/images/ubuntu/scripts/docs-gen/SoftwareReport.WebServers.psm1 @@ -1,15 +1,15 @@ function Get-ApacheVersion { $name = "apache2" $port = 80 - $version = bash -c "apache2 -v | grep -Po 'Apache/(\d+.){2}\d+'" | Take-OutputPart -Part 1 -Delimiter "/" - $serviceStatus = systemctl status apache2 | grep "Active:" | Take-OutputPart -Part 1 + $version = bash -c "apache2 -v | grep -Po 'Apache/(\d+.){2}\d+'" | Get-StringPart -Part 1 -Delimiter "/" + $serviceStatus = systemctl status apache2 | grep "Active:" | Get-StringPart -Part 1 $configFile = "/etc/apache2/apache2.conf" return [PsCustomObject]@{ - "Name" = $name - "Version" = $version - "ConfigFile" = $configFile + "Name" = $name + "Version" = $version + "ConfigFile" = $configFile "ServiceStatus" = $serviceStatus - "ListenPort" = $port + "ListenPort" = $port } } @@ -17,14 +17,14 @@ function Get-NginxVersion { $name = "nginx" $port = 80 $version = (dpkg-query --showformat='${Version}' --show nginx).Split('-')[0] - $serviceStatus = systemctl status nginx | grep "Active:" | Take-OutputPart -Part 1 + $serviceStatus = systemctl status nginx | grep "Active:" | Get-StringPart -Part 1 $configFile = "/etc/nginx/nginx.conf" return [PsCustomObject]@{ - "Name" = $name - "Version" = $version - "ConfigFile" = $configFile + "Name" = $name + "Version" = $version + "ConfigFile" = $configFile "ServiceStatus" = $serviceStatus - "ListenPort" = $port + "ListenPort" = $port } } @@ -35,11 +35,11 @@ function Get-Xsp4Version { $serviceStatus = systemctl show -p ActiveState --value mono-xsp4 $configFile = "/etc/default/mono-xsp4" return [PsCustomObject]@{ - "Name" = $name - "Version" = $version - "ConfigFile" = $configFile + "Name" = $name + "Version" = $version + "ConfigFile" = $configFile "ServiceStatus" = $serviceStatus - "ListenPort" = $port + "ListenPort" = $port } }