From 825ce2f1bc2ec7a8d5ceee4983e61359b3e094b4 Mon Sep 17 00:00:00 2001 From: Andrew Omondi Date: Mon, 18 Nov 2024 11:00:37 +0300 Subject: [PATCH 1/2] feat: exclude TCP APIs from language generation. --- .../generation-templates/language-generation-kiota.yml | 6 +++++- scripts/copy-typescript-sdk-models.ps1 | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.azure-pipelines/generation-templates/language-generation-kiota.yml b/.azure-pipelines/generation-templates/language-generation-kiota.yml index be2907370..ed89366e5 100644 --- a/.azure-pipelines/generation-templates/language-generation-kiota.yml +++ b/.azure-pipelines/generation-templates/language-generation-kiota.yml @@ -48,6 +48,10 @@ parameters: type: boolean default: true +- name: pathExclusionArguments + type: string + default: "-e '/copilot' -e '/copilot/**'" + steps: - template: set-up-for-generation-kiota.yml parameters: @@ -82,7 +86,7 @@ steps: BranchName: ${{ parameters.branchName }} workingDirectory: ${{ parameters.repoName }} -- bash: '$(kiotaDirectory)/kiota generate --openapi $(Build.SourcesDirectory)/msgraph-metadata/${{ parameters.cleanMetadataFolder }}/openapi.yaml --language ${{ parameters.language }} -o $(kiotaDirectory)/output -n ${{ parameters.targetNamespace }} -c ${{ parameters.targetClassName }} ${{ parameters.customArguments }}' +- bash: '$(kiotaDirectory)/kiota generate --openapi $(Build.SourcesDirectory)/msgraph-metadata/${{ parameters.cleanMetadataFolder }}/openapi.yaml --language ${{ parameters.language }} -o $(kiotaDirectory)/output -n ${{ parameters.targetNamespace }} -c ${{ parameters.targetClassName }} ${{ parameters.customArguments }} ${{ parameters.pathExclusionArguments }}' displayName: 'Run Kiota for ${{ parameters.language }} ${{ parameters.version }}' env: KIOTA_GENERATION:EXPORTPUBLICAPI: ${{ parameters.exportDom }} diff --git a/scripts/copy-typescript-sdk-models.ps1 b/scripts/copy-typescript-sdk-models.ps1 index 433c5a8cd..3f7cf1e25 100644 --- a/scripts/copy-typescript-sdk-models.ps1 +++ b/scripts/copy-typescript-sdk-models.ps1 @@ -18,8 +18,13 @@ Invoke-Expression "$PSScriptRoot\remove-typescript-fluent-api-from-main-package. $packagesDirectories = Get-ChildItem $targetDirectory -Directory -Exclude $mainPackageDirectoryName | Where-Object { -not($_.Name.EndsWith("-tests")) } foreach ($directory in $packagesDirectories) { $fluentAPISegmentName = $directory.Name.Replace("$mainPackageDirectoryName-", "") - Copy-Item (Join-Path $sourceDirectory -ChildPath $fluentAPISegmentName) -Destination $directory.FullName -Recurse -Force - Invoke-Expression "$PSScriptRoot\fix-typescript-fluent-packages-imports.ps1 -targetDirectory $($directory.FullName) -packageName $packageName" + if (Test-Path -Path (Join-Path $sourceDirectory -ChildPath $fluentAPISegmentName)) { + Copy-Item (Join-Path $sourceDirectory -ChildPath $fluentAPISegmentName) -Destination $directory.FullName -Recurse -Force + Invoke-Expression "$PSScriptRoot\fix-typescript-fluent-packages-imports.ps1 -targetDirectory $($directory.FullName) -packageName $packageName" + } + else { + Write-Host "Skipping the fluent API segment: $fluentAPISegmentName as it does not exist in the generated models" -ForegroundColor Yellow + } } Write-Host "Copied the generated files into the repo. From: $sourceDirectory to: $targetDirectory" -ForegroundColor Green From 9fb69b950521350c57a1a8331455dffebe5e7a6a Mon Sep 17 00:00:00 2001 From: Andrew Omondi Date: Mon, 18 Nov 2024 13:58:09 +0300 Subject: [PATCH 2/2] fix: delete the folder to ensure passing builds --- scripts/copy-typescript-sdk-models.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/copy-typescript-sdk-models.ps1 b/scripts/copy-typescript-sdk-models.ps1 index 3f7cf1e25..9d0d55972 100644 --- a/scripts/copy-typescript-sdk-models.ps1 +++ b/scripts/copy-typescript-sdk-models.ps1 @@ -23,7 +23,8 @@ foreach ($directory in $packagesDirectories) { Invoke-Expression "$PSScriptRoot\fix-typescript-fluent-packages-imports.ps1 -targetDirectory $($directory.FullName) -packageName $packageName" } else { - Write-Host "Skipping the fluent API segment: $fluentAPISegmentName as it does not exist in the generated models" -ForegroundColor Yellow + Remove-Item $directory.FullName -Force -Recurse -ErrorAction SilentlyContinue + Write-Host "Removing folder for the fluent API segment: $fluentAPISegmentName as it does not exist in the generated models" -ForegroundColor Yellow } }