Add markdown file's generation to Windows images (#934)

* Add windows doc generator

* Minor fix

* Fix pypy arch

* Minor fix

* Minor fix

* Resolve comments

* Minor fix

* Add 7zip version

* Add haskell section

* Add stack version

* Fix MinGW

* Fix paths

* Fix haskell section

* Minor fix

* Add android ndk version
This commit is contained in:
Vladimir Safonkin
2020-06-02 06:32:23 +00:00
committed by GitHub
parent 5c334052e7
commit 804922a1e2
10 changed files with 1108 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
function Get-AndroidComponentLocation {
param(
[string] $ComponentName
)
$path = Join-Path $env:ANDROID_HOME $ComponentName
return "Location $path"
}
function Split-AndroidSDKOutputRow {
param(
[string] $Row
)
return $Row.Split("|").Trim()
}
function Create-AndroidTableObject {
param(
[string] $PackageName,
[string] $Description
)
return [PSCustomObject] @{
"Package Name" = $PackageName
"Description" = $Description
}
}
function Get-AndroidSDKManagerPath {
return Join-Path $env:ANDROID_HOME "tools" "bin" "sdkmanager.bat"
}
function Get-AndroidInstalledPackages {
$androidSDKManagerPath = Get-AndroidSDKManagerPath
$androidSDKManagerList = & $androidSDKManagerPath --list --include_obsolete
$androidInstalledPackages = @()
foreach($packageInfo in $androidSDKManagerList) {
if($packageInfo -Match "Available Packages:") {
break
}
$androidInstalledPackages += $packageInfo
}
return $androidInstalledPackages
}
function Build-AndroidSDKToolsTable {
param (
[Parameter(Mandatory)]
[object] $packageInfo
)
return $packageInfo | ForEach-Object {
$packageInfoParts = Split-AndroidSDKOutputRow $_
$packageName = $packageInfoParts[0]
$packageDescription = $packageInfoParts[2] + ", Revision " + $packageInfoParts[1]
Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
}
}
function Build-AndroidSDKPlatformTable {
param (
[Parameter(Mandatory)]
[object] $packageInfo
)
return $packageInfo | ForEach-Object {
$packageInfoParts = Split-AndroidSDKOutputRow $_
$packageName = $packageInfoParts[0].split(";")[1]
$packageDescription = $packageInfoParts[2] + ", Revision " + $packageInfoParts[1]
return Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
}
}
function Build-AndroidSDKBuildToolsTable {
param (
[Parameter(Mandatory)]
[object] $packageInfo
)
return $packageInfo | ForEach-Object {
$packageInfoParts = Split-AndroidSDKOutputRow $_
$packageName = $packageInfoParts[0].replace(";", "-")
$packageDescription = "Android SDK Build-Tools, Revision " + $packageInfoParts[1]
return Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
}
}
function Build-AndroidExtraPackagesTable {
param (
[Parameter(Mandatory)][AllowEmptyString()]
[string[]] $installedPackages
)
$extraPackages = @(
"Android Support Repository",
"Google Play services",
"Google Repository",
"ndk-bundle"
)
return $extraPackages | ForEach-Object {
$packageId = $_
$packageInfo = $installedPackages | Where-Object { $_ -Like "*${packageId}*" } | Select-Object -First 1
$packageInfoParts = Split-AndroidSDKOutputRow $packageInfo
return [PSCustomObject] @{
"Package Name" = $packageInfoParts[2]
"Version" = $packageInfoParts[1]
}
}
}