Skip to content

Commit 5fd557b

Browse files
authored
Enable service level readme generation for daily docs. (Azure#22265)
1 parent 61fee37 commit 5fd557b

File tree

3 files changed

+63
-3
lines changed

3 files changed

+63
-3
lines changed

eng/pipelines/docindex.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
- ci-configs/
2323
- metadata/
2424
- docs-ref-mapping/
25+
- docs-ref-services/
2526
Repositories:
2627
- Name: $(DocRepoOwner)/$(DocRepoName)
2728
WorkingDirectory: $(DocRepoLocation)
@@ -83,6 +84,17 @@ jobs:
8384
arguments: -DocRepoLocation $(DocRepoLocation)
8485
displayName: Update Docs Onboarding for Daily branch
8586

87+
- task: Powershell@2
88+
inputs:
89+
pwsh: true
90+
filePath: eng/common/scripts/Service-Level-Readme-Automation.ps1
91+
arguments: >-
92+
-DocRepoLocation $(DocRepoLocation)
93+
-TenantId '$(opensource-aad-tenant-id)'
94+
-ClientId '$(opensource-aad-app-id)'
95+
-ClientSecret '$(opensource-aad-secret)'
96+
displayName: Generate Service Level Readme
97+
8698
- task: Powershell@2
8799
inputs:
88100
pwsh: true

eng/scripts/Language-Settings.ps1

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@ $PackageRepository = "NPM"
55
$packagePattern = "*.tgz"
66
$MetadataUri = "https://raw.githubusercontent.com/Azure/azure-sdk/main/_data/releases/latest/js-packages.csv"
77
$BlobStorageUrl = "https://azuresdkdocs.blob.core.windows.net/%24web?restype=container&comp=list&prefix=javascript%2F&delimiter=%2F"
8+
$GithubUri = "https://github.com/Azure/azure-sdk-for-js"
9+
$PackageRepositoryUri = "https://www.npmjs.com/package"
810

911
. "$PSScriptRoot/docs/Docs-ToC.ps1"
1012

11-
function Confirm-NodeInstallation {
12-
if (!(Get-Command npm -ErrorAction SilentlyContinue)) {
13+
function Confirm-NodeInstallation
14+
{
15+
if (!(Get-Command npm -ErrorAction SilentlyContinue))
16+
{
1317
LogError "Could not locate npm. Install NodeJS (includes npm and npx) https://nodejs.org/en/download"
1418
exit 1
1519
}

eng/scripts/docs/Docs-ToC.ps1

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,39 @@ function Get-javascript-OnboardedDocsMsPackages($DocRepoLocation) {
2020
return $onboardedPackages
2121
}
2222

23-
function Get-javascript-DocsMsTocData($packageMetadata, $docRepoLocation) {
23+
function Get-javascript-OnboardedDocsMsPackagesForMoniker($DocRepoLocation, $moniker) {
24+
$packageOnboardingFile = ""
25+
if ("latest" -eq $moniker) {
26+
$packageOnboardingFile = "$DocRepoLocation/ci-configs/packages-latest.json"
27+
}
28+
if ("preview" -eq $moniker) {
29+
$packageOnboardingFile = "$DocRepoLocation/ci-configs/packages-preview.json"
30+
}
31+
32+
$onboardedPackages = @{}
33+
$onboardingSpec = ConvertFrom-Json (Get-Content $packageOnboardingFile -Raw)
34+
foreach ($spec in $onboardingSpec.npm_package_sources) {
35+
$packageName = $spec.name
36+
37+
if ($packageName.LastIndexOf('@') -gt 0) {
38+
# Package has an '@' symbol deliminting the end of the package name
39+
$packageName = $packageName.Substring(0, $packageName.LastIndexOf('@'))
40+
}
41+
42+
$jsStylePkgName = $packageName.Replace("@", "").Replace("/", "-")
43+
$jsonFile = "$DocRepoLocation/metadata/$moniker/$jsStylePkgName.json"
44+
if (Test-Path $jsonFile) {
45+
$onboardedPackages[$packageName] = ConvertFrom-Json (Get-Content $jsonFile -Raw)
46+
}
47+
else{
48+
$onboardedPackages[$packageName] = $null
49+
}
50+
}
51+
52+
return $onboardedPackages
53+
}
54+
55+
function GetPackageReadmeName($packageMetadata) {
2456
# Fallback to get package-level readme name if metadata file info does not exist
2557
$packageLevelReadmeName = $packageMetadata.Package.Replace('@azure/', '').Replace('@azure-tools/', '').Replace('azure-', '');
2658

@@ -35,8 +67,16 @@ function Get-javascript-DocsMsTocData($packageMetadata, $docRepoLocation) {
3567
$readmeMetadata = &$GetDocsMsMetadataForPackageFn -PackageInfo $packageMetadata.FileMetadata
3668
$packageLevelReadmeName = $readmeMetadata.DocsMsReadMeName
3769
}
70+
return $packageLevelReadmeName
71+
}
3872

73+
function Get-javascript-PackageLevelReadme($packageMetadata)
74+
{
75+
return GetPackageReadmeName -packageMetadata $packageMetadata
76+
}
3977

78+
function Get-javascript-DocsMsTocData($packageMetadata, $docRepoLocation) {
79+
$packageLevelReadmeName = GetPackageReadmeName -packageMetadata $packageMetadata
4080
$packageTocHeader = $packageMetadata.Package
4181
if ($clientPackage.DisplayName) {
4282
$packageTocHeader = $clientPackage.DisplayName
@@ -54,6 +94,10 @@ function Get-javascript-DocsMsTocChildrenForManagementPackages($packageMetadata,
5494
return @($packageMetadata.Package)
5595
}
5696

97+
function Get-javascript-RepositoryLink ($packageInfo) {
98+
return "$PackageRepositoryUri/$($packageInfo.Package)"
99+
}
100+
57101
function Get-javascript-UpdatedDocsMsToc($toc) {
58102
$services = $toc[0].items
59103
for ($i = 0; $i -lt $services.Count; $i++) {

0 commit comments

Comments
 (0)