2020-09-11 14:59:17 +03:00
|
|
|
param (
|
|
|
|
|
[Parameter(Mandatory)][string]
|
|
|
|
|
$OutputDirectory
|
|
|
|
|
)
|
|
|
|
|
|
2021-12-28 11:16:20 +03:00
|
|
|
$global:ErrorActionPreference = "Stop"
|
|
|
|
|
$global:ErrorView = "NormalView"
|
|
|
|
|
Set-StrictMode -Version Latest
|
2020-10-07 18:26:40 +03:00
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
Import-Module MarkdownPS
|
2020-09-14 21:47:31 +03:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
|
|
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
|
2020-09-11 14:59:17 +03:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.CachedTools.psm1") -DisableNameChecking
|
|
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
|
2020-09-14 21:47:31 +03:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Databases.psm1") -DisableNameChecking
|
2020-12-17 09:52:09 +03:00
|
|
|
Import-Module "$PSScriptRoot/../helpers/SoftwareReport.Helpers.psm1" -DisableNameChecking
|
|
|
|
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameChecking
|
2020-09-11 14:59:17 +03:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Java.psm1") -DisableNameChecking
|
2020-09-14 21:47:31 +03:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Rust.psm1") -DisableNameChecking
|
|
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
|
2021-01-29 07:52:46 -08:00
|
|
|
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.WebServers.psm1") -DisableNameChecking
|
2020-09-11 14:59:17 +03:00
|
|
|
|
2020-10-05 11:19:24 +03:00
|
|
|
# Restore file owner in user profile
|
|
|
|
|
Restore-UserOwner
|
|
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown = ""
|
|
|
|
|
|
|
|
|
|
$OSName = Get-OSName
|
|
|
|
|
$markdown += New-MDHeader "$OSName" -Level 1
|
|
|
|
|
|
2021-03-18 09:41:01 +03:00
|
|
|
$kernelVersion = Get-KernelVersion
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines @(
|
2021-03-18 09:41:01 +03:00
|
|
|
"$kernelVersion"
|
2020-09-14 11:31:41 +03:00
|
|
|
"Image Version: $env:IMAGE_VERSION"
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Installed Software" -Level 2
|
|
|
|
|
$markdown += New-MDHeader "Language and Runtime" -Level 3
|
|
|
|
|
|
2021-06-10 13:21:02 +05:00
|
|
|
$runtimesList = @(
|
2021-12-28 11:16:20 +03:00
|
|
|
(Get-BashVersion),
|
|
|
|
|
(Get-CPPVersions),
|
|
|
|
|
(Get-FortranVersions),
|
|
|
|
|
(Get-NodeVersion),
|
|
|
|
|
(Get-PerlVersion),
|
|
|
|
|
(Get-PythonVersion),
|
|
|
|
|
(Get-Python3Version),
|
|
|
|
|
(Get-RubyVersion),
|
|
|
|
|
(Get-JuliaVersion),
|
|
|
|
|
(Get-ClangVersions),
|
2022-05-23 21:50:28 +08:00
|
|
|
(Get-ClangFormatVersions),
|
2022-05-27 10:46:59 +04:00
|
|
|
(Get-ClangTidyVersions),
|
|
|
|
|
(Get-KotlinVersion)
|
2021-12-28 11:16:20 +03:00
|
|
|
)
|
2021-06-10 13:21:02 +05:00
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$runtimesList += @(
|
|
|
|
|
(Get-MsbuildVersion),
|
|
|
|
|
(Get-MonoVersion),
|
|
|
|
|
(Get-ErlangVersion),
|
|
|
|
|
(Get-ErlangRebar3Version),
|
|
|
|
|
(Get-SwiftVersion)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-10 13:21:02 +05:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines ($runtimesList | Sort-Object)
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Package Management" -Level 3
|
2020-10-06 09:30:49 +03:00
|
|
|
|
|
|
|
|
$packageManagementList = @(
|
2021-12-28 11:16:20 +03:00
|
|
|
(Get-HomebrewVersion),
|
|
|
|
|
(Get-CpanVersion),
|
|
|
|
|
(Get-GemVersion),
|
|
|
|
|
(Get-MinicondaVersion),
|
|
|
|
|
(Get-HelmVersion),
|
|
|
|
|
(Get-NpmVersion),
|
|
|
|
|
(Get-YarnVersion),
|
|
|
|
|
(Get-PipxVersion),
|
|
|
|
|
(Get-PipVersion),
|
|
|
|
|
(Get-Pip3Version),
|
|
|
|
|
(Get-VcpkgVersion)
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
2020-10-06 09:30:49 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
2021-02-15 17:32:05 +03:00
|
|
|
$markdown += New-MDHeader "Environment variables" -Level 4
|
|
|
|
|
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2020-10-06 09:30:49 +03:00
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown += New-MDHeader "Project Management" -Level 3
|
2022-05-02 10:46:10 +02:00
|
|
|
$projectManagementList = @()
|
|
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$projectManagementList += @(
|
|
|
|
|
(Get-AntVersion),
|
|
|
|
|
(Get-GradleVersion),
|
|
|
|
|
(Get-MavenVersion),
|
|
|
|
|
(Get-SbtVersion)
|
|
|
|
|
)
|
|
|
|
|
}
|
2020-09-11 14:59:17 +03:00
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
2021-03-15 21:05:15 +03:00
|
|
|
$projectManagementList += @(
|
|
|
|
|
(Get-LernaVersion)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
$markdown += New-MDList -Style Unordered -Lines ($projectManagementList | Sort-Object)
|
|
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown += New-MDHeader "Tools" -Level 3
|
|
|
|
|
$toolsList = @(
|
|
|
|
|
(Get-AnsibleVersion),
|
2020-10-20 12:38:05 +03:00
|
|
|
(Get-AptFastVersion),
|
2021-02-24 18:21:51 +03:00
|
|
|
(Get-AzCopyVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-BazelVersion),
|
|
|
|
|
(Get-BazeliskVersion),
|
2021-10-26 15:30:59 +03:00
|
|
|
(Get-BicepVersion),
|
2020-09-20 09:29:43 +01:00
|
|
|
(Get-CodeQLBundleVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-CMakeVersion),
|
2021-02-09 22:50:11 +03:00
|
|
|
(Get-DockerMobyClientVersion),
|
|
|
|
|
(Get-DockerMobyServerVersion),
|
2021-10-01 12:33:34 +03:00
|
|
|
(Get-DockerComposeV1Version),
|
|
|
|
|
(Get-DockerComposeV2Version),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-DockerBuildxVersion),
|
2022-05-16 17:49:51 +02:00
|
|
|
(Get-DockerAmazonECRCredHelperVersion),
|
2022-05-25 20:25:12 +04:00
|
|
|
(Get-BuildahVersion),
|
|
|
|
|
(Get-PodManVersion),
|
|
|
|
|
(Get-SkopeoVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-GitVersion),
|
|
|
|
|
(Get-GitLFSVersion),
|
|
|
|
|
(Get-GitFTPVersion),
|
|
|
|
|
(Get-HavegedVersion),
|
|
|
|
|
(Get-HerokuVersion),
|
2022-05-27 10:46:59 +04:00
|
|
|
(Get-LeiningenVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-SVNVersion),
|
|
|
|
|
(Get-JqVersion),
|
2021-07-15 11:21:48 +02:00
|
|
|
(Get-YqVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-KindVersion),
|
|
|
|
|
(Get-KubectlVersion),
|
|
|
|
|
(Get-KustomizeVersion),
|
2020-12-03 16:34:14 +01:00
|
|
|
(Get-MediainfoVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-HGVersion),
|
|
|
|
|
(Get-MinikubeVersion),
|
|
|
|
|
(Get-NewmanVersion),
|
2021-11-11 12:47:29 +03:00
|
|
|
(Get-NVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-NvmVersion),
|
2021-03-19 13:43:48 +03:00
|
|
|
(Get-OpensslVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-PackerVersion),
|
2021-12-16 12:07:15 +03:00
|
|
|
(Get-ParcelVersion),
|
2020-09-24 15:07:30 +03:00
|
|
|
(Get-PulumiVersion),
|
|
|
|
|
(Get-RVersion),
|
2020-09-24 16:50:28 +03:00
|
|
|
(Get-SphinxVersion),
|
2021-04-14 19:34:49 +03:00
|
|
|
(Get-TerraformVersion),
|
2021-10-26 15:30:59 +03:00
|
|
|
(Get-YamllintVersion),
|
2021-04-14 19:34:49 +03:00
|
|
|
(Get-ZstdVersion)
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$toolsList += @(
|
|
|
|
|
(Get-PhantomJSVersion),
|
2022-05-20 15:40:31 +02:00
|
|
|
(Get-HHVMVersion)
|
|
|
|
|
)
|
|
|
|
|
}
|
2022-05-02 10:46:10 +02:00
|
|
|
|
|
|
|
|
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
2021-02-19 18:33:28 +03:00
|
|
|
$toolsList += (Get-FastlaneVersion)
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "CLI Tools" -Level 3
|
2021-01-18 18:57:03 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines (@(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-AlibabaCloudCliVersion),
|
|
|
|
|
(Get-AWSCliVersion),
|
|
|
|
|
(Get-AWSCliSessionManagerPluginVersion),
|
|
|
|
|
(Get-AWSSAMVersion),
|
|
|
|
|
(Get-AzureCliVersion),
|
|
|
|
|
(Get-AzureDevopsVersion),
|
|
|
|
|
(Get-GitHubCliVersion),
|
2020-11-25 09:06:55 +01:00
|
|
|
(Get-GoogleCloudSDKVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-HubCliVersion),
|
|
|
|
|
(Get-NetlifyCliVersion),
|
|
|
|
|
(Get-OCCliVersion),
|
|
|
|
|
(Get-ORASCliVersion),
|
|
|
|
|
(Get-VerselCliversion)
|
2021-01-18 18:57:03 +03:00
|
|
|
) | Sort-Object
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
2022-05-26 00:11:06 +04:00
|
|
|
$markdown += New-MDHeader "Java" -Level 3
|
|
|
|
|
$markdown += Get-JavaVersions | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2020-09-11 14:59:17 +03:00
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu20) -or (Test-IsUbuntu22)) {
|
2021-01-13 10:45:39 +03:00
|
|
|
$markdown += New-MDHeader "GraalVM" -Level 3
|
|
|
|
|
$markdown += Build-GraalVMTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-26 15:30:59 +03:00
|
|
|
$markdown += Build-PHPSection
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Haskell" -Level 3
|
2021-01-18 18:57:03 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines (@(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-GHCVersion),
|
2021-02-19 10:20:15 +03:00
|
|
|
(Get-GHCupVersion),
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-CabalVersion),
|
|
|
|
|
(Get-StackVersion)
|
2021-01-18 18:57:03 +03:00
|
|
|
) | Sort-Object
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Rust Tools" -Level 3
|
2021-01-18 18:57:03 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines (@(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-RustVersion),
|
|
|
|
|
(Get-RustupVersion),
|
|
|
|
|
(Get-RustdocVersion),
|
|
|
|
|
(Get-CargoVersion)
|
2021-01-18 18:57:03 +03:00
|
|
|
) | Sort-Object
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Packages" -Level 4
|
2021-01-18 18:57:03 +03:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines (@(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-BindgenVersion),
|
|
|
|
|
(Get-CargoAuditVersion),
|
|
|
|
|
(Get-CargoOutdatedVersion),
|
|
|
|
|
(Get-CargoClippyVersion),
|
|
|
|
|
(Get-CbindgenVersion),
|
|
|
|
|
(Get-RustfmtVersion)
|
2021-01-18 18:57:03 +03:00
|
|
|
) | Sort-Object
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Browsers and Drivers" -Level 3
|
2021-01-20 03:46:42 -08:00
|
|
|
|
|
|
|
|
$browsersAndDriversList = @(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-ChromeVersion),
|
|
|
|
|
(Get-ChromeDriverVersion),
|
2022-05-27 10:46:59 +04:00
|
|
|
(Get-ChromiumVersion),
|
|
|
|
|
(Get-SeleniumVersion)
|
2020-09-11 14:59:17 +03:00
|
|
|
)
|
2021-01-20 03:46:42 -08:00
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$browsersAndDriversList += @(
|
|
|
|
|
(Get-FirefoxVersion),
|
2022-05-27 10:46:59 +04:00
|
|
|
(Get-GeckodriverVersion)
|
2022-05-02 10:46:10 +02:00
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-20 03:46:42 -08:00
|
|
|
$markdown += New-MDList -Style Unordered -Lines $browsersAndDriversList
|
2021-02-12 12:30:36 +05:00
|
|
|
$markdown += New-MDHeader "Environment variables" -Level 4
|
|
|
|
|
$markdown += Build-BrowserWebdriversEnvironmentTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader ".NET Core SDK" -Level 3
|
|
|
|
|
$markdown += New-MDList -Style Unordered -Lines @(
|
|
|
|
|
(Get-DotNetCoreSdkVersions)
|
|
|
|
|
)
|
|
|
|
|
|
2022-01-18 13:31:51 +00:00
|
|
|
$markdown += New-MDHeader ".NET tools" -Level 3
|
|
|
|
|
$tools = Get-DotnetTools
|
|
|
|
|
$markdown += New-MDList -Lines $tools -Style Unordered
|
|
|
|
|
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown += New-MDHeader "Databases" -Level 3
|
2022-05-02 10:46:10 +02:00
|
|
|
$databaseLists = @(
|
2020-09-11 14:59:17 +03:00
|
|
|
(Get-SqliteVersion)
|
|
|
|
|
)
|
|
|
|
|
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$databaseLists += @(
|
|
|
|
|
(Get-MongoDbVersion)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDList -Style Unordered -Lines ( $databaseLists | Sort-Object )
|
|
|
|
|
|
2022-02-16 08:55:13 +01:00
|
|
|
$markdown += Build-PostgreSqlSection
|
2020-09-14 10:09:05 +03:00
|
|
|
$markdown += Build-MySQLSection
|
2022-05-02 10:46:10 +02:00
|
|
|
if ((Test-IsUbuntu18) -or (Test-IsUbuntu20)) {
|
|
|
|
|
$markdown += Build-MSSQLToolsSection
|
|
|
|
|
}
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Cached Tools" -Level 3
|
|
|
|
|
$markdown += Build-CachedToolsSection
|
|
|
|
|
|
2021-02-12 12:30:36 +05:00
|
|
|
$markdown += New-MDHeader "Environment variables" -Level 4
|
|
|
|
|
$markdown += Build-GoEnvironmentTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
|
|
|
|
|
2020-12-03 12:35:46 +07:00
|
|
|
$markdown += New-MDHeader "PowerShell Tools" -Level 3
|
|
|
|
|
$markdown += New-MDList -Lines (Get-PowershellVersion) -Style Unordered
|
|
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "PowerShell Modules" -Level 4
|
|
|
|
|
$markdown += Get-PowerShellModules | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2021-03-31 15:50:39 +03:00
|
|
|
$markdown += New-MDHeader "Az PowerShell Modules" -Level 4
|
|
|
|
|
$markdown += New-MDList -Style Unordered -Lines @(
|
|
|
|
|
(Get-AzModuleVersions)
|
|
|
|
|
)
|
2020-12-03 12:35:46 +07:00
|
|
|
|
2021-01-29 07:52:46 -08:00
|
|
|
$markdown += Build-WebServersSection
|
|
|
|
|
|
2022-05-27 10:46:59 +04:00
|
|
|
$markdown += New-MDHeader "Android" -Level 3
|
|
|
|
|
$markdown += Build-AndroidTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
|
|
|
|
$markdown += New-MDHeader "Environment variables" -Level 4
|
|
|
|
|
$markdown += Build-AndroidEnvironmentTable | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Cached Docker images" -Level 3
|
2020-11-05 14:20:40 +05:00
|
|
|
$markdown += Get-CachedDockerImagesTableData | New-MDTable
|
|
|
|
|
$markdown += New-MDNewLine
|
2020-09-11 14:59:17 +03:00
|
|
|
|
|
|
|
|
$markdown += New-MDHeader "Installed apt packages" -Level 3
|
2021-03-26 06:28:15 +01:00
|
|
|
$markdown += Get-AptPackages | New-MDTable
|
2020-09-11 14:59:17 +03:00
|
|
|
|
2021-12-28 11:16:20 +03:00
|
|
|
Test-BlankElement
|
2020-09-11 14:59:17 +03:00
|
|
|
$markdown | Out-File -FilePath "${OutputDirectory}/Ubuntu-Readme.md"
|