diff --git a/Makefile b/Makefile
index dbe059b22f7..952d405a564 100644
--- a/Makefile
+++ b/Makefile
@@ -223,3 +223,6 @@ APK_SIZES_REFERENCE_DIR=tests/apk-sizes-reference
update-apk-sizes-reference:
-mkdir -p $(APK_SIZES_REFERENCE_DIR)
cp -v *values-$(CONFIGURATION).csv $(APK_SIZES_REFERENCE_DIR)/
+
+update-api-docs:
+ $(call DOTNET_BINLOG,update-api-docs) -t:UpdateExternalDocumentation src/Mono.Android/Mono.Android.csproj
diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml
index cef78b3f7f3..65a70ed672f 100644
--- a/build-tools/automation/azure-pipelines-apidocs.yaml
+++ b/build-tools/automation/azure-pipelines-apidocs.yaml
@@ -8,6 +8,22 @@
trigger: none
pr: none
+parameters:
+- name: apiLevel
+ displayName: AndroidApiLevel property value
+ type: string
+ default: 31
+
+- name: platformId
+ displayName: AndroidPlatformId property value
+ type: string
+ default: 31
+
+- name: frameworkVersion
+ displayName: AndroidFrameworkVersion property value
+ type: string
+ default: v12.0
+
# Global variables
variables:
- template: yaml-templates/variables.yaml
@@ -20,7 +36,8 @@ stages:
- job: mac_build_update_docs
displayName: Update API Docs
pool:
- vmImage: macOS-11
+ name: VSEng-Xamarin-RedmondMac-Android-Untrusted
+ demands: macOS.Name -equals Monterey
timeoutInMinutes: 120
workspace:
clean: all
@@ -47,28 +64,22 @@ stages:
workingDirectory: $(Build.SourcesDirectory)
displayName: make prepare
- - task: MSBuild@1
- displayName: build jnienv-gen.csproj
- inputs:
- solution: $(Build.SourcesDirectory)/external/Java.Interop/build-tools/jnienv-gen/jnienv-gen.csproj
- configuration: $(XA.Build.Configuration)
- msbuildArguments: /restore
-
- - task: MSBuild@1
- displayName: update android-api-docs
- inputs:
- solution: $(Build.SourcesDirectory)/src/Mono.Android/Mono.Android.csproj
- configuration: $(XA.Build.Configuration)
- msbuildArguments: /restore /t:UpdateExternalDocumentation
+ - script: make update-api-docs CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='-p:AndroidApiLevel=${{ parameters.apiLevel }} -p:AndroidPlatformId=${{ parameters.platformId }} -p:AndroidFrameworkVersion=${{ parameters.frameworkVersion }}'
+ workingDirectory: $(Build.SourcesDirectory)
+ displayName: make update-api-docs
- template: yaml-templates/upload-results.yaml
parameters:
- xaSourcePath: $(System.DefaultWorkingDirectory)/xamarin-android
artifactName: Build Results - API Docs Update
includeBuildResults: true
+ - 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 Mono.Android docs
+ displayName: upload api docs diff
inputs:
- artifactName: Mono.Android Docs
- targetPath: $(Build.SourcesDirectory)/external/android-api-docs/docs/Mono.Android/en/
+ artifactName: Api Docs Diff
+ targetPath: $(Build.StagingDirectory)/api-doc-diff
diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets
index 735a8761d19..7a74f0877b2 100644
--- a/src/Mono.Android/Mono.Android.targets
+++ b/src/Mono.Android/Mono.Android.targets
@@ -75,14 +75,14 @@
<_JavaSourceUtilsJar>$(MicrosoftAndroidSdkOutDir)java-source-utils.jar
- <_AndroidStableSrcDir>$(AndroidSdkDirectory)\platforms\android-$(AndroidLatestStableApiLevel)\src
+ <_AndroidSrcDir>$(AndroidSdkDirectory)\platforms\android-$(AndroidApiLevel)\src
<_AndroidJavadocXml>..\..\bin\Build$(Configuration)\android-javadoc.xml
<_Doclink Include="--doc-copyright" />
@@ -95,11 +95,11 @@
<_Doclink Include="https://developer.android.com/" />
- <_AndroidSources Include="$(_AndroidStableSrcDir)\android\**\*.java" />
- <_AndroidSources Include="$(_AndroidStableSrcDir)\java\**\*.java" />
- <_AndroidSources Include="$(_AndroidStableSrcDir)\javax\**\*.java" />
- <_AndroidSources Include="$(_AndroidStableSrcDir)\org\**\*.java" />
- <_AndroidSources Remove="$(_AndroidStableSrcDir)\**\*.annotated.java" />
+ <_AndroidSources Include="$(_AndroidSrcDir)\android\**\*.java" />
+ <_AndroidSources Include="$(_AndroidSrcDir)\java\**\*.java" />
+ <_AndroidSources Include="$(_AndroidSrcDir)\javax\**\*.java" />
+ <_AndroidSources Include="$(_AndroidSrcDir)\org\**\*.java" />
+ <_AndroidSources Remove="$(_AndroidSrcDir)\**\*.annotated.java" />
<_Filenames>$(IntermediateOutputPath)\java-sources.txt
@@ -111,7 +111,7 @@
/>
<_JSIArg Include="-v" />
- <_JSIArg Include="--source "$(_AndroidStableSrcDir)"" />
+ <_JSIArg Include="--source "$(_AndroidSrcDir)"" />
<_JSIArg Include="--output-javadoc "$(_AndroidJavadocXml)"" />
<_JSIArg Include="@$(_Filenames)" />
@@ -289,16 +289,24 @@
- <_Binlog>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateExternalDocumentation-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")).binlog
+ <_Binlog>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateApiDocs-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")).binlog
+
+ <_BuildProps Include="-p:IncludeAndroidJavadoc=True" />
+ <_BuildProps Include="-p:TargetFramework=monoandroid10" />
+
+ <_BuildProps Include="-p:AndroidApiLevel=$(AndroidApiLevel)" />
+ <_BuildProps Include="-p:AndroidPlatformId=$(AndroidPlatformId)" />
+ <_BuildProps Include="-p:AndroidFrameworkVersion=$(AndroidFrameworkVersion)" />
+
@@ -352,5 +360,15 @@
WorkingDirectory="$(MSBuildThisFileDirectory)"
/>
-
+
+
+
+ <_DiffFile>$(XamarinAndroidSourcePath)bin/Build$(Configuration)/UpdateApiDocs$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")).diff
+
+
+
+