From 11ed9526ae66ffcb524233933d6ffa3826e409a4 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 19 Dec 2024 14:53:07 -0500 Subject: [PATCH 01/15] [Mono.Android] Generate API docs for API level 35 --- .../automation/azure-pipelines-apidocs.yaml | 17 ++++++----------- .../Dependencies/AndroidToolchain.cs | 6 +++--- src/Mono.Android/Mono.Android.targets | 13 ++++++------- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 5adceb3986c..bf6f200ae5a 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -100,10 +100,11 @@ stages: inputs: forceReinstallCredentialProvider: true - - template: yaml-templates/run-xaprepare.yaml - parameters: - displayName: update mono - arguments: --s=UpdateMono + - script: dotnet tool update -v:n boots --version 1.1.0.36 --add-source "https://api.nuget.org/v3/index.json" --global + displayName: Install boots + + - script: boots https://download.mono-project.com/archive/6.12.0/macos-10-universal/MonoFramework-MDK-6.12.0.188.macos10.xamarin.universal.pkg + displayName: Install Mono - script: make prepare CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 workingDirectory: $(Build.SourcesDirectory) @@ -115,17 +116,11 @@ stages: workingDirectory: $(Build.SourcesDirectory) displayName: make update-api-docs - - script: > - mkdir -p $(Build.StagingDirectory)/docs-binaries && - ln $(Build.SourcesDirectory)/bin/$(XA.Build.Configuration)/lib/xamarin.android/xbuild-frameworks/Microsoft.Android/34/*.dll $(Build.StagingDirectory)/docs-binaries/ && - ln $(Build.SourcesDirectory)/bin/$(XA.Build.Configuration)/lib/xamarin.android/xbuild-frameworks/Microsoft.Android/34/*.xml $(Build.StagingDirectory)/docs-binaries/ - displayName: copy docs files - - task: PublishPipelineArtifact@1 displayName: upload docs files inputs: artifactName: Binaries - targetPath: $(Build.StagingDirectory)/docs-binaries + targetPath: $(Build.SourcesDirectory)/src/Mono.Android/obj/docs-gen-temp - script: > mkdir -p $(Build.StagingDirectory)/api-doc-diff && diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs index c2c2b1abb2c..d254c505a2e 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs @@ -75,11 +75,11 @@ public AndroidToolchain () new AndroidPlatformComponent ("platform-35_r01", apiLevel: "35", pkgRevision: "1", isLatestStable: true), new AndroidPlatformComponent ("platform-Baklava_r01", apiLevel: "Baklava", pkgRevision: "1", isLatestStable: true), - new AndroidToolchainComponent ("sources-34_r01", - destDir: Path.Combine ("sources", "android-34"), + new AndroidToolchainComponent ("source-35_r01", + destDir: Path.Combine ("sources", "android-35"), pkgRevision: "1", dependencyType: AndroidToolchainComponentType.BuildDependency, - buildToolVersion: "34.1" + buildToolVersion: "35.1" ), new AndroidToolchainComponent ("docs-24_r01", destDir: "docs", diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 9b437c6e742..79ede8cf3bc 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -238,12 +238,14 @@ - 34 + 35 $(DocsApiLevel) net-android-$(DocsApiLevel).0 $(_MonoAndroidNETDefaultOutDir)Mono.Android.xml <_ExternalDocsRoot>$(XamarinAndroidSourcePath)external/android-api-docs/docs/xml <_LogPrefix>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateApiDocs-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")) + <_MdocExe Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/net471/mdoc.exe" + <_MdocExe Condition=" '$(Pkgmdoc)' == '' ">"$(XAPackagesDir)/mdoc/$(MdocPackageVersion)/tools/net471/mdoc.exe" <_Mdoc Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/net6.0/mdoc.dll" <_Mdoc Condition=" '$(Pkgmdoc)' == '' ">"$(XAPackagesDir)/mdoc/$(MdocPackageVersion)/tools/net6.0/mdoc.dll" @@ -270,6 +272,7 @@ /> + - From d371f1e09bc5766df4f18157376d0f1766946bf2 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 19 Dec 2024 15:43:09 -0500 Subject: [PATCH 02/15] Add 1espt to apidocs pipeline --- .../automation/azure-pipelines-apidocs.yaml | 233 ++++++++++-------- 1 file changed, 125 insertions(+), 108 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index bf6f200ae5a..3c7bb66a8b7 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -8,6 +8,13 @@ trigger: none pr: none +resources: + repositories: + - repository: 1esPipelines + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release + parameters: - name: apiLevel displayName: AndroidApiLevel property value @@ -50,113 +57,123 @@ variables: value: '' -stages: -- stage: mac_build - displayName: Build - dependsOn: [] - jobs: - - job: mac_build_update_docs - displayName: Update API Docs - pool: - name: $(SharedMacPool) - demands: - - macOS.Name -equals $(SharedMacName) - - Agent.OSArchitecture -equals $(SharedMacArch) - timeoutInMinutes: 120 - workspace: - clean: all - steps: - - checkout: self - submodules: recursive - - - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JI_JAVA_HOME - - # Set MSBuild property overrides if parameters are set - - ${{ if ne(parameters.apiLevel, 'default') }}: - - script: echo "##vso[task.setvariable variable=DocsApiLevelArg]-p:DocsApiLevel=${{ parameters.apiLevel }}" - displayName: set DocsApiLevelArg - - - ${{ if ne(parameters.platformId, 'default') }}: - - script: echo "##vso[task.setvariable variable=DocsPlatformIdArg]-p:DocsPlatformId=${{ parameters.platformId }}" - displayName: set DocsPlatformIdArg - - - ${{ if ne(parameters.frameworkVersion, 'default') }}: - - script: echo "##vso[task.setvariable variable=DocsFxVersionArg]-p:DocsFxVersion=${{ parameters.frameworkVersion }}" - displayName: set DocsFxVersionArg - - - ${{ if ne(parameters.mdocVersion, 'default') }}: - - script: echo "##vso[task.setvariable variable=MdocPackageVersionArg]-p:MdocPackageVersion=${{ parameters.mdocVersion }}" - displayName: set MdocPackageVersionArg - - - ${{ if ne(parameters.javadocVerbosity, 'default') }}: - - script: echo "##vso[task.setvariable variable=AndroidJavadocVerbosity]-p:AndroidJavadocVerbosity=${{ parameters.javadocVerbosity }}" - displayName: set AndroidJavadocVerbosity - - - template: yaml-templates/use-dot-net.yaml - - - task: NuGetAuthenticate@1 - displayName: authenticate with azure artifacts - inputs: - forceReinstallCredentialProvider: true - - - script: dotnet tool update -v:n boots --version 1.1.0.36 --add-source "https://api.nuget.org/v3/index.json" --global - displayName: Install boots - - - script: boots https://download.mono-project.com/archive/6.12.0/macos-10-universal/MonoFramework-MDK-6.12.0.188.macos10.xamarin.universal.pkg - displayName: Install Mono - - - script: make prepare CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 - workingDirectory: $(Build.SourcesDirectory) - displayName: make prepare - - - script: >- - make update-api-docs CONFIGURATION=$(XA.Build.Configuration) - MSBUILD_ARGS='$(DocsApiLevelArg) $(DocsPlatformIdArg) $(DocsFxVersionArg) $(MdocPackageVersionArg) $(AndroidJavadocVerbosity)' - workingDirectory: $(Build.SourcesDirectory) - displayName: make update-api-docs - - - task: PublishPipelineArtifact@1 - displayName: upload docs files - inputs: - artifactName: Binaries - targetPath: $(Build.SourcesDirectory)/src/Mono.Android/obj/docs-gen-temp - - - script: > - mkdir -p $(Build.StagingDirectory)/api-doc-diff && - ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ - displayName: copy api docs diff - - - task: PublishPipelineArtifact@1 - displayName: upload api docs diff - inputs: - artifactName: Api Docs Diff - targetPath: $(Build.StagingDirectory)/api-doc-diff - - - template: yaml-templates/upload-results.yaml - parameters: - artifactName: Build Results - API Docs Update - includeBuildResults: true - condition: always() - - - powershell: | - $docsUpdateBinlog = Get-ChildItem -Path "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)" -Filter *UpdateApiDocs-*.binlog | Select-Object -First 1 - $buildLog = "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/temp-build.log" - & "$(Build.SourcesDirectory)/bin/$(XA.Build.Configuration)/dotnet/dotnet" build $docsUpdateBinlog > $buildLog - - $issueContent = & { - Get-Content -Path $buildLog | Select-String "## Exception translating remarks" - Get-Content -Path $buildLog | Select-String "## Unable to translate remarks" - Get-Content -Path $buildLog | Select-String "JavadocImport-" - } - - if ($issueContent) { - Write-Host "The following issues were found, review the build log for more details:" - Write-Host "" - foreach ($line in $issueContent) { - Write-Host $line +extends: + ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: + template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + ${{ else }}: + template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines + parameters: + sourceAnalysisPool: + name: AzurePipelines-EO + image: $(WindowsPoolImage1ESPT) + os: windows + suppression: + suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress + stages: + - stage: mac_build + displayName: Build + dependsOn: [] + jobs: + - job: mac_build_update_docs + displayName: Update API Docs + pool: + name: $(SharedMacPool) + demands: + - macOS.Name -equals $(SharedMacName) + - Agent.OSArchitecture -equals $(SharedMacArch) + timeoutInMinutes: 120 + workspace: + clean: all + templateContext: + outputs: + - output: pipelineArtifact + displayName: upload docs binaries + artifactName: Binaries + targetPath: $(Build.SourcesDirectory)/src/Mono.Android/obj/docs-gen-temp + - output: pipelineArtifact + displayName: upload docs diff + artifactName: Api Docs Diff + targetPath: $(Build.StagingDirectory)/api-doc-diff + steps: + - checkout: self + submodules: recursive + + - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" + displayName: set JI_JAVA_HOME + + # Set MSBuild property overrides if parameters are set + - ${{ if ne(parameters.apiLevel, 'default') }}: + - script: echo "##vso[task.setvariable variable=DocsApiLevelArg]-p:DocsApiLevel=${{ parameters.apiLevel }}" + displayName: set DocsApiLevelArg + + - ${{ if ne(parameters.platformId, 'default') }}: + - script: echo "##vso[task.setvariable variable=DocsPlatformIdArg]-p:DocsPlatformId=${{ parameters.platformId }}" + displayName: set DocsPlatformIdArg + + - ${{ if ne(parameters.frameworkVersion, 'default') }}: + - script: echo "##vso[task.setvariable variable=DocsFxVersionArg]-p:DocsFxVersion=${{ parameters.frameworkVersion }}" + displayName: set DocsFxVersionArg + + - ${{ if ne(parameters.mdocVersion, 'default') }}: + - script: echo "##vso[task.setvariable variable=MdocPackageVersionArg]-p:MdocPackageVersion=${{ parameters.mdocVersion }}" + displayName: set MdocPackageVersionArg + + - ${{ if ne(parameters.javadocVerbosity, 'default') }}: + - script: echo "##vso[task.setvariable variable=AndroidJavadocVerbosity]-p:AndroidJavadocVerbosity=${{ parameters.javadocVerbosity }}" + displayName: set AndroidJavadocVerbosity + + - template: yaml-templates/use-dot-net.yaml + + - task: NuGetAuthenticate@1 + displayName: authenticate with azure artifacts + inputs: + forceReinstallCredentialProvider: true + + - script: dotnet tool update -v:n boots --version 1.1.0.36 --add-source "https://api.nuget.org/v3/index.json" --global + displayName: Install boots + + - script: boots https://download.mono-project.com/archive/6.12.0/macos-10-universal/MonoFramework-MDK-6.12.0.188.macos10.xamarin.universal.pkg + displayName: Install Mono + + - script: make prepare CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 + workingDirectory: $(Build.SourcesDirectory) + displayName: make prepare + + - script: >- + make update-api-docs CONFIGURATION=$(XA.Build.Configuration) + MSBUILD_ARGS='$(DocsApiLevelArg) $(DocsPlatformIdArg) $(DocsFxVersionArg) $(MdocPackageVersionArg) $(AndroidJavadocVerbosity)' + workingDirectory: $(Build.SourcesDirectory) + displayName: make update-api-docs + + - script: > + mkdir -p $(Build.StagingDirectory)/api-doc-diff && + ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ + displayName: copy api docs diff + + - template: yaml-templates/upload-results.yaml + parameters: + artifactName: Build Results - API Docs Update + includeBuildResults: true + condition: always() + + - powershell: | + $docsUpdateBinlog = Get-ChildItem -Path "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)" -Filter *UpdateApiDocs-*.binlog | Select-Object -First 1 + $buildLog = "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/temp-build.log" + & "$(Build.SourcesDirectory)/bin/$(XA.Build.Configuration)/dotnet/dotnet" build $docsUpdateBinlog > $buildLog + + $issueContent = & { + Get-Content -Path $buildLog | Select-String "## Exception translating remarks" + Get-Content -Path $buildLog | Select-String "## Unable to translate remarks" + Get-Content -Path $buildLog | Select-String "JavadocImport-" + } + + if ($issueContent) { + Write-Host "The following issues were found, review the build log for more details:" Write-Host "" + foreach ($line in $issueContent) { + Write-Host $line + Write-Host "" + } + exit 1 } - exit 1 - } - displayName: Report issues in docs generation + displayName: Report issues in docs generation From 0426cba9a97b71fa27f510702e940bd92f947715 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 19 Dec 2024 15:45:13 -0500 Subject: [PATCH 03/15] Update sdl parameter --- build-tools/automation/azure-pipelines-apidocs.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 3c7bb66a8b7..5209095db7b 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -63,12 +63,13 @@ extends: ${{ else }}: template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines parameters: - sourceAnalysisPool: - name: AzurePipelines-EO - image: $(WindowsPoolImage1ESPT) - os: windows - suppression: - suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress + sdl: + sourceAnalysisPool: + name: AzurePipelines-EO + image: $(WindowsPoolImage1ESPT) + os: windows + suppression: + suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress stages: - stage: mac_build displayName: Build From 087ec24838c0d7ebb02604c7938c50e2acaa3d36 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 19 Dec 2024 15:46:42 -0500 Subject: [PATCH 04/15] Use full template paths --- build-tools/automation/azure-pipelines-apidocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 5209095db7b..1fd5085a66d 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -123,7 +123,7 @@ extends: - script: echo "##vso[task.setvariable variable=AndroidJavadocVerbosity]-p:AndroidJavadocVerbosity=${{ parameters.javadocVerbosity }}" displayName: set AndroidJavadocVerbosity - - template: yaml-templates/use-dot-net.yaml + - template: /build-tools/automation/yaml-templates/use-dot-net.yaml - task: NuGetAuthenticate@1 displayName: authenticate with azure artifacts @@ -151,7 +151,7 @@ extends: ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ displayName: copy api docs diff - - template: yaml-templates/upload-results.yaml + - template: /build-tools/automation/yaml-templates/upload-results.yaml parameters: artifactName: Build Results - API Docs Update includeBuildResults: true From f755a7c819903222543e7837d6d52d7797606814 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 19 Dec 2024 15:47:42 -0500 Subject: [PATCH 05/15] Update template paths --- build-tools/automation/azure-pipelines-apidocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 1fd5085a66d..a4fad7b7552 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -123,7 +123,7 @@ extends: - script: echo "##vso[task.setvariable variable=AndroidJavadocVerbosity]-p:AndroidJavadocVerbosity=${{ parameters.javadocVerbosity }}" displayName: set AndroidJavadocVerbosity - - template: /build-tools/automation/yaml-templates/use-dot-net.yaml + - template: /build-tools/automation/yaml-templates/use-dot-net.yaml@self - task: NuGetAuthenticate@1 displayName: authenticate with azure artifacts @@ -151,7 +151,7 @@ extends: ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ displayName: copy api docs diff - - template: /build-tools/automation/yaml-templates/upload-results.yaml + - template: /build-tools/automation/yaml-templates/upload-results.yaml@self parameters: artifactName: Build Results - API Docs Update includeBuildResults: true From cdc6744f4f1c8719a3394ae6cdd93c24a6cacc42 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 20 Dec 2024 08:30:37 -0500 Subject: [PATCH 06/15] Set OS pool param --- build-tools/automation/azure-pipelines-apidocs.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index a4fad7b7552..8647ece5d21 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -82,6 +82,7 @@ extends: demands: - macOS.Name -equals $(SharedMacName) - Agent.OSArchitecture -equals $(SharedMacArch) + os: macOS timeoutInMinutes: 120 workspace: clean: all From 401d948f7da5ae96805bf7c47e99aab24b458438 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 20 Dec 2024 10:28:15 -0500 Subject: [PATCH 07/15] Use JDK 17 --- build-tools/automation/azure-pipelines-apidocs.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 8647ece5d21..bfc59f0ca78 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -100,8 +100,12 @@ extends: - checkout: self submodules: recursive - - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JI_JAVA_HOME + - task: JavaToolInstaller@0 + displayName: Install JDK + inputs: + versionSpec: 17 + jdkArchitectureOption: x64 + jdkSourceOption: PreInstalled # Set MSBuild property overrides if parameters are set - ${{ if ne(parameters.apiLevel, 'default') }}: @@ -141,6 +145,9 @@ extends: workingDirectory: $(Build.SourcesDirectory) displayName: make prepare + - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" + displayName: set JI_JAVA_HOME + - script: >- make update-api-docs CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='$(DocsApiLevelArg) $(DocsPlatformIdArg) $(DocsFxVersionArg) $(MdocPackageVersionArg) $(AndroidJavadocVerbosity)' From 70e6b5c2591d04ad313f00778d185ceac7e1a2aa Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 20 Dec 2024 10:34:24 -0500 Subject: [PATCH 08/15] Use xaprepare java --- build-tools/automation/azure-pipelines-apidocs.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index bfc59f0ca78..60b388da598 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -100,13 +100,6 @@ extends: - checkout: self submodules: recursive - - task: JavaToolInstaller@0 - displayName: Install JDK - inputs: - versionSpec: 17 - jdkArchitectureOption: x64 - jdkSourceOption: PreInstalled - # Set MSBuild property overrides if parameters are set - ${{ if ne(parameters.apiLevel, 'default') }}: - script: echo "##vso[task.setvariable variable=DocsApiLevelArg]-p:DocsApiLevel=${{ parameters.apiLevel }}" @@ -145,7 +138,9 @@ extends: workingDirectory: $(Build.SourcesDirectory) displayName: make prepare - - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" + - script: | + echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" + echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" displayName: set JI_JAVA_HOME - script: >- From 0e08547af55a9fd3c58cf7bbcaa9ce0fc3cc4b20 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 20 Dec 2024 11:03:53 -0500 Subject: [PATCH 09/15] Only warn on docs gen issues --- build-tools/automation/azure-pipelines-apidocs.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 60b388da598..819acc09e43 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -181,3 +181,4 @@ extends: exit 1 } displayName: Report issues in docs generation + continueOnError: true From 12e178a2bb0a9f257a300ed5fed94f5b2d64763e Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 2 Jan 2025 14:53:58 -0500 Subject: [PATCH 10/15] Bump java.interop, update docs parse issue script --- build-tools/automation/azure-pipelines-apidocs.yaml | 9 +++++---- external/Java.Interop | 2 +- src/Mono.Android/Mono.Android.targets | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 819acc09e43..3e024d90449 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -162,13 +162,13 @@ extends: - powershell: | $docsUpdateBinlog = Get-ChildItem -Path "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)" -Filter *UpdateApiDocs-*.binlog | Select-Object -First 1 - $buildLog = "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/temp-build.log" + $buildLog = "$(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/temp-UpdateApiDocs-build.log" & "$(Build.SourcesDirectory)/bin/$(XA.Build.Configuration)/dotnet/dotnet" build $docsUpdateBinlog > $buildLog $issueContent = & { - Get-Content -Path $buildLog | Select-String "## Exception translating remarks" - Get-Content -Path $buildLog | Select-String "## Unable to translate remarks" - Get-Content -Path $buildLog | Select-String "JavadocImport-" + Get-Content -Path $buildLog | Select-String "## Exception translating remarks" -Context 0, 3 + Get-Content -Path $buildLog | Select-String "## Unable to translate remarks" -Context 0, 3 + Get-Content -Path $buildLog | Select-String "JavadocImport-" -Context 0, 3 } if ($issueContent) { @@ -180,5 +180,6 @@ extends: } exit 1 } + Write-Host "No issues found." displayName: Report issues in docs generation continueOnError: true diff --git a/external/Java.Interop b/external/Java.Interop index 2c06b3c2a11..1be795af477 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 2c06b3c2a11833aea0e9b51aac2a72195bd64539 +Subproject commit 1be795af4772369cd1ef1d17216b652169715895 diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 79ede8cf3bc..e70ffb9b36a 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -272,7 +272,7 @@ /> - + Date: Thu, 2 Jan 2025 15:49:26 -0500 Subject: [PATCH 11/15] Update set JI_JAVA_HOME --- build-tools/automation/azure-pipelines-apidocs.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index 3e024d90449..b1fa9799d47 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -100,6 +100,11 @@ extends: - checkout: self submodules: recursive + - script: | + echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" + echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" + displayName: set JI_JAVA_HOME + # Set MSBuild property overrides if parameters are set - ${{ if ne(parameters.apiLevel, 'default') }}: - script: echo "##vso[task.setvariable variable=DocsApiLevelArg]-p:DocsApiLevel=${{ parameters.apiLevel }}" @@ -138,11 +143,6 @@ extends: workingDirectory: $(Build.SourcesDirectory) displayName: make prepare - - script: | - echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17" - echo "##vso[task.setvariable variable=JAVA_HOME]$HOME/android-toolchain/jdk-17" - displayName: set JI_JAVA_HOME - - script: >- make update-api-docs CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='$(DocsApiLevelArg) $(DocsPlatformIdArg) $(DocsFxVersionArg) $(MdocPackageVersionArg) $(AndroidJavadocVerbosity)' From bd65c4dfe00226d9d6269d5686b1ff90941e0a8a Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 6 Jan 2025 11:30:37 -0500 Subject: [PATCH 12/15] Update mdoc.exe usage --- src/Mono.Android/Mono.Android.targets | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index e70ffb9b36a..394b6b39c6b 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -272,7 +272,7 @@ /> - + + <_ManagedRuntime Condition=" !$([MSBuild]::IsOSPlatform('windows')) ">mono <_Libdir>-L "$(DotNetPreviewPath)packs/Microsoft.NETCore.App.Ref" <_Output>-o "$(_ExternalDocsRoot)" <_DocTypeArgs Condition=" '$(DocTypeName)' != '' ">--type=$(DocTypeName) @@ -309,11 +310,11 @@ DestinationFolder="$(_RootFxDir)$(DocsFxMoniker)" /> From 9fe26ca8dadf1a0351dcf13c9dec1405b3200340 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 6 Jan 2025 11:43:40 -0500 Subject: [PATCH 13/15] Upload docs index.xml file --- build-tools/automation/azure-pipelines-apidocs.yaml | 3 ++- src/Mono.Android/Mono.Android.targets | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml index b1fa9799d47..e568abf1004 100644 --- a/build-tools/automation/azure-pipelines-apidocs.yaml +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -151,7 +151,8 @@ extends: - script: > mkdir -p $(Build.StagingDirectory)/api-doc-diff && - ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ + ln $(Build.SourcesDirectory)/bin/Build$(XA.Build.Configuration)/UpdateApiDocs*.diff $(Build.StagingDirectory)/api-doc-diff/ && + ln $(Build.SourcesDirectory)/external/android-api-docs/docs/xml/index.xml $(Build.StagingDirectory)/api-doc-diff/ displayName: copy api docs diff - template: /build-tools/automation/yaml-templates/upload-results.yaml@self diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 394b6b39c6b..2f3093bd6c2 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -244,6 +244,7 @@ $(_MonoAndroidNETDefaultOutDir)Mono.Android.xml <_ExternalDocsRoot>$(XamarinAndroidSourcePath)external/android-api-docs/docs/xml <_LogPrefix>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateApiDocs-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")) + <_ManagedRuntime Condition=" !$([MSBuild]::IsOSPlatform('windows')) ">mono <_MdocExe Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/net471/mdoc.exe" <_MdocExe Condition=" '$(Pkgmdoc)' == '' ">"$(XAPackagesDir)/mdoc/$(MdocPackageVersion)/tools/net471/mdoc.exe" <_Mdoc Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/net6.0/mdoc.dll" @@ -280,7 +281,6 @@ - <_ManagedRuntime Condition=" !$([MSBuild]::IsOSPlatform('windows')) ">mono <_Libdir>-L "$(DotNetPreviewPath)packs/Microsoft.NETCore.App.Ref" <_Output>-o "$(_ExternalDocsRoot)" <_DocTypeArgs Condition=" '$(DocTypeName)' != '' ">--type=$(DocTypeName) From c77a99bac858fcaf4b8c7e9c1731083381021960 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Mon, 6 Jan 2025 13:38:17 -0500 Subject: [PATCH 14/15] Bump java.interop --- external/Java.Interop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/Java.Interop b/external/Java.Interop index 1be795af477..0ca8d8d5bf9 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 1be795af4772369cd1ef1d17216b652169715895 +Subproject commit 0ca8d8d5bf91e03d4301c67c1a81ea34ad999adf From fa285488a0983b6a7e7356a63b681ca72f887304 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 7 Jan 2025 17:42:01 -0500 Subject: [PATCH 15/15] Bump to dotnet/java.interop@fe00cef52 --- external/Java.Interop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/Java.Interop b/external/Java.Interop index 0ca8d8d5bf9..fe00cef5290 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 0ca8d8d5bf91e03d4301c67c1a81ea34ad999adf +Subproject commit fe00cef5290a7e75b8e73e3044966a14e6c312c9