* Add metadata fetching * Update docindex.yml to use new params and variables * Add onboarding logic and update .gitignore to allow eng/scripts/docs edits * Test: point to different branch * Skip onboarding legacy moniker * Add docs to release process * REVERT: Test eng/common changes to Update-DocsMsPackages.ps1 * Remove nightly branch work, those require hosted docs * Make CHANGELOG.md comply with rules * Fix relevant spelling issues * TEST: Add GitHub token * Branch * push branch * Set DefinitionId * Test branch * Token * Remove unnecessary condition * Commitish * Specify monikers * Revert test-related changes
61 lines
1.8 KiB
PowerShell
61 lines
1.8 KiB
PowerShell
. "$PSScriptRoot/Docs-ToC.ps1"
|
|
|
|
# $SetDocsPackageOnboarding = "Set-${Language}-DocsPackageOnboarding"
|
|
function Set-cpp-DocsPackageOnboarding($moniker, $metadata, $docRepoLocation, $packageSourceOverride) {
|
|
$onboardingFile = GetOnboardingFile `
|
|
-docRepoLocation $docRepoLocation `
|
|
-moniker $moniker
|
|
|
|
$onboardingSpec = Get-Content $onboardingFile -Raw | ConvertFrom-Json -AsHashtable
|
|
|
|
$packagesToOnboard = @()
|
|
foreach ($package in $metadata) {
|
|
$packageSpec = [ordered]@{
|
|
name = $package.Name
|
|
tool = 'cpp-doxygen-1.9.1'
|
|
url = "https://azuresdkdocs.z19.web.core.windows.net/cpp/$($package.Name)/$($package.Version)/annotated.html"
|
|
}
|
|
|
|
$packagesToOnboard += $packageSpec
|
|
}
|
|
|
|
$onboardingSpec['packages'] = $packagesToOnboard
|
|
|
|
Set-Content `
|
|
-Path $onboardingFile `
|
|
-Value ($onboardingSpec | ConvertTo-Json -Depth 100)
|
|
}
|
|
|
|
# $GetDocsPackagesAlreadyOnboarded = "Get-${Language}-DocsPackagesAlreadyOnboarded"
|
|
function Get-cpp-DocsPackagesAlreadyOnboarded($docRepoLocation, $moniker) {
|
|
$packageOnboardingFile = GetOnboardingFile `
|
|
-docRepoLocation $DocRepoLocation `
|
|
-moniker $moniker
|
|
|
|
$onboardedPackages = @{}
|
|
$onboardingSpec = ConvertFrom-Json (Get-Content $packageOnboardingFile -Raw)
|
|
foreach ($spec in $onboardingSpec.packages) {
|
|
$packageInfo = GetPackageInfoFromDocsMsConfig $spec
|
|
$onboardedPackages[$packageInfo.Name] = $packageInfo
|
|
}
|
|
|
|
return $onboardedPackages
|
|
}
|
|
|
|
function GetPackageInfoFromDocsMsConfig($spec) {
|
|
if (!$spec) {
|
|
throw "Spec must not be empty"
|
|
}
|
|
|
|
# "https://azuresdkdocs.z19.web.core.windows.net/cpp/azure-security-attestation/1.1.0/annotated.html" => 1.1.0
|
|
$version = $spec.url.Split('/')[-2]
|
|
if (!$version) {
|
|
throw "Could not determine version from URL: $($spec.url)"
|
|
}
|
|
|
|
return @{
|
|
Name = $spec.name
|
|
Version = $version
|
|
}
|
|
}
|