diff --git a/Configuration.props b/Configuration.props index f3bb62e937f..837b95b1628 100644 --- a/Configuration.props +++ b/Configuration.props @@ -53,6 +53,7 @@ False <_XABinRelativeInstallPrefix>lib\xamarin.android $(MSBuildThisFileDirectory)bin\$(Configuration)\$(_XABinRelativeInstallPrefix)\ + <_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\net6.0\ $(MSBuildThisFileDirectory)\bin\Build$(Configuration)\mingw-deps $(HostCc64) $(HostCxx64) diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml new file mode 100644 index 00000000000..f01d4e16b8f --- /dev/null +++ b/build-tools/automation/azure-pipelines-apidocs.yaml @@ -0,0 +1,74 @@ +# Pipeline for updating and uploading android-api-docs/docs/Mono.Android/en/* +# https://dev.azure.com/devdiv/DevDiv/_build?definitionId=15262 + +# This pipeline can be manually ran against a given branch to generate a new set of Mono.Android docs. +# The `Mono.Android Docs` artifact can be downloaded and copied into a local android-api-docs checkout +# for manual review and pull request creation. + +trigger: none +pr: none + +# Global variables +variables: +- template: yaml-templates/variables.yaml + +stages: +- stage: mac_build + displayName: Build + dependsOn: [] + jobs: + - job: mac_build_update_docs + displayName: Update API Docs + pool: + vmImage: macOS-11 + timeoutInMinutes: 120 + workspace: + clean: all + steps: + - checkout: self + submodules: recursive + + - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/Library/Android/$(XA.Jdk11.Folder)" + displayName: set JI_JAVA_HOME + + - template: yaml-templates/use-dot-net.yaml + + - task: NuGetAuthenticate@0 + displayName: authenticate with azure artifacts + inputs: + forceReinstallCredentialProvider: true + + - template: yaml-templates/run-xaprepare.yaml + parameters: + displayName: update mono + arguments: --s=UpdateMono + + - script: make prepare CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 + 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 + + - template: yaml-templates/upload-results.yaml + parameters: + xaSourcePath: $(System.DefaultWorkingDirectory)/xamarin-android + artifactName: Build Results - API Docs Update + includeBuildResults: true + + - task: PublishPipelineArtifact@1 + displayName: upload Mono.Android docs + inputs: + artifactName: Mono.Android Docs + targetPath: $(Build.SourcesDirectory)/external/android-api-docs/docs/Mono.Android/en/ diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml index e78865bae42..d1f8cf16509 100644 --- a/build-tools/automation/azure-pipelines.yaml +++ b/build-tools/automation/azure-pipelines.yaml @@ -44,8 +44,6 @@ variables: value: $[or(eq(variables['XA.RunAllTests'], true), eq(variables['IsMonoBranch'], true))] - name: DotNetNUnitCategories value: '& TestCategory != DotNetIgnore & TestCategory != HybridAOT & TestCategory != ProfiledAOT & TestCategory != MkBundle & TestCategory != MonoSymbolicate & TestCategory != PackagesConfig & TestCategory != StaticProject & TestCategory != Debugger & TestCategory != SystemApplication' -- name: CONVERT_JAVADOC_TO_XMLDOC - value: $[ne(variables['Build.DefinitionName'], 'Xamarin.Android-PR')] - ${{ if and(eq(variables['Build.DefinitionName'], 'Xamarin.Android'), ne(variables['Build.Reason'], 'PullRequest')) }}: - name: MicroBuildSignType value: Real diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index bfd6c53c734..6115b2a309e 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -13,10 +13,6 @@ - - <_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\net6.0\ - - diff --git a/build-tools/create-packs/Microsoft.Android.Ref.proj b/build-tools/create-packs/Microsoft.Android.Ref.proj index 86b2046160f..9f4469cc32a 100644 --- a/build-tools/create-packs/Microsoft.Android.Ref.proj +++ b/build-tools/create-packs/Microsoft.Android.Ref.proj @@ -25,7 +25,7 @@ by projects that use the Microsoft.Android framework in .NET 5. + DependsOnTargets="AssembleApiDocs;_GetLicense"> $(IntermediateOutputPath)FrameworkList.xml @@ -40,11 +40,7 @@ by projects that use the Microsoft.Android framework in .NET 5. <_PackageFiles Include="@(_AndroidRefPackAssemblies)" PackagePath="$(_AndroidRefPackAssemblyPath)" TargetPath="$(_AndroidRefPackAssemblyPath)" /> <_PackageFiles Include="$(_MonoAndroidNETOutputDir)Java.Interop.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" /> - <_PackageFiles - Condition=" '$(CONVERT_JAVADOC_TO_XMLDOC)' == 'true' " - Include="$(_MonoAndroidNETOutputDir)Mono.Android.xml" - PackagePath="$(_AndroidRefPackAssemblyPath)" - /> + <_PackageFiles Include="$(_MonoAndroidNETOutputDir)Mono.Android.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" /> <_PackageFiles Include="$(_MonoAndroidNETOutputDir)mono.android.jar" PackagePath="$(_AndroidRefPackAssemblyPath)" /> <_PackageFiles Include="$(_MonoAndroidNETOutputDir)mono.android.dex" PackagePath="$(_AndroidRefPackAssemblyPath)" /> <_PackageFiles Include="$(_MonoAndroidNETOutputDir)AndroidApiInfo.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" /> diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets index cb906dedcd3..cec1da24ad5 100644 --- a/build-tools/installers/create-installers.targets +++ b/build-tools/installers/create-installers.targets @@ -52,8 +52,13 @@ + Outputs="@(_MsxDocAssembly->'$(_LatestStableFrameworkDir)%(Identity).xml');@(_MsxDocAssembly->'$(_MonoAndroidNETOutputDir)%(Identity).xml')"> + + true - - True - intellisense - - - - $(OutputPath)Mono.Android.xml - $(NoWarn);CS1572;CS1573;CS1574;CS1584;CS1587;CS1591;CS1658; - - MonoAndroid v1.0 @@ -46,12 +36,8 @@ $(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\$(TargetFramework)\ - - True - intellisense+extraremarks - - + intellisense+extraremarks $(OutputPath)Mono.Android.xml $(NoWarn);CS1572;CS1573;CS1574;CS1584;CS1587;CS1591;CS1658; diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 25fe40258b0..8e810e73fa7 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -282,7 +282,7 @@ - <_Binlog>UpdateExternalDocumentation-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")).binlog + <_Binlog>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateExternalDocumentation-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")).binlog Portions of this page are modifications based on work created and shared by the -Android Open Source Project - and used according to terms described in the -Creative Commons 2.5 Attribution License. - +Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.