From 7d95f363c3031666f6cebeb02c49f69610f33a62 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 2 May 2023 16:26:04 -0400 Subject: [PATCH 1/2] [Mono.Android] Generate API docs for .NET Android The `UpdateExternalDocumentation` target has been updated to run against the .NET version of Mono.Android.dll, as we no longer need to generate docs and doc redirects for the classic installers. --- .../create-packs/Microsoft.Android.Ref.proj | 2 +- .../installers/create-installers.targets | 67 +------------------ .../scripts/JavaCallableWrappers.targets | 4 +- src/Mono.Android/Mono.Android.csproj | 6 +- src/Mono.Android/Mono.Android.targets | 42 +++++++----- 5 files changed, 33 insertions(+), 88 deletions(-) diff --git a/build-tools/create-packs/Microsoft.Android.Ref.proj b/build-tools/create-packs/Microsoft.Android.Ref.proj index 39d0b2e6c11..dfbfc76d9b5 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 6+. + DependsOnTargets="_GetLicense"> $(IntermediateOutputPath)FrameworkList.xml diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets index 05061e9cad5..f73ffc36c7b 100644 --- a/build-tools/installers/create-installers.targets +++ b/build-tools/installers/create-installers.targets @@ -7,8 +7,6 @@ $(XAInstallPrefix)xbuild-frameworks\MonoAndroid\ - $(XamarinAndroidSourcePath)external\android-api-docs\ - <_AndroidApiDocsPath>$([MSBuild]::EnsureTrailingSlash($(AndroidApiDocsPath))) <_LatestStableFrameworkDir>$(FrameworkSrcDir)$(AndroidLatestStableFrameworkVersion)\ <_MonoDocOutputPath>$(XamarinAndroidSourcePath)bin\$(Configuration)\lib\monodoc\ $(XAInstallPrefix)xbuild\Xamarin\Android\ @@ -23,17 +21,6 @@ False <_HasCommercialFiles Condition="Exists('$(MicrosoftAndroidSdkOutDir)Xamarin.Android.Common.Debugging.targets')">True - - <_MsxDocAssembly Include="Mono.Android"> - $(_AndroidApiDocsPath)docs\%(Identity)\en - - <_MonoDocAssembly Include="@(_MsxDocAssembly);OpenTK-1.0;Xamarin.Android.NUnitLite"> - $(_AndroidApiDocsPath)docs\%(Identity)\en - - <_BclDocsAssembly Include="mscorlib;System.Core;System.ComponentModel.Composition;System.ComponentModel.DataAnnotations;System.Data;System" /> - <_BclDocsAssembly Include="System.EnterpriseServices;System.Json;System.Numerics;System.Runtime.Serialization;System.ServiceModel" /> - <_BclDocsAssembly Include="System.ServiceModel.Web;System.Transactions;System.Web.Services;System.Xml;System.Xml.Linq" /> - <_FrameworkDirs Include="@(AndroidApiInfo->'$(FrameworkSrcDir)%(Identity)\')" /> @@ -41,57 +28,6 @@ <_EarlierFrameworkDir Include="@(_FrameworkDirsThatExist)" Exclude="$(_LatestStableFrameworkDir)" /> - - - <_MsxDocSourceFile Include="%(_MsxDocAssembly.SourceDir)\**" /> - <_MonoDocSourceFile Include="%(_MonoDocAssembly.SourceDir)\**" /> - - - - - - - - - - - - - - - - - - - - - <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.pdb" /> <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK-1.0.xml" /> - <_FrameworkFilesWin Include="@(_BclDocsAssembly->'$(FrameworkSrcDir)$(BclFrameworkVersion)\%(Identity).xml')" /> <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.xml" /> @@ -460,7 +395,7 @@ <_FrameworkFiles Include="@(_FrameworkDirsThatExist->'%(Identity)\AndroidApiInfo.xml')" /> diff --git a/build-tools/scripts/JavaCallableWrappers.targets b/build-tools/scripts/JavaCallableWrappers.targets index bd0e0bbf117..07cb544a3a0 100644 --- a/build-tools/scripts/JavaCallableWrappers.targets +++ b/build-tools/scripts/JavaCallableWrappers.targets @@ -12,14 +12,14 @@ <_CorlibDir>@(_CorlibPath) $(OutputPath) $(MSBuildProjectDirectory)/$(OutputPath) - "$(XAInstallPrefix)xbuild/Xamarin/Android/jcw-gen.exe" -v10 + "$(MicrosoftAndroidSdkOutDir)jcw-gen.dll" -v10 <_LibDirs>-L "$(OutputPathAbs.TrimEnd('\'))" <_LibDirs Condition=" '$(TargetFramework)' == 'monoandroid10' ">$(_LibDirs) -L "$(OutputPathAbs)../v1.0" -L "$(OutputPathAbs)../v1.0/Facades" <_LibDirs Condition=" '$(TargetFramework)' != 'monoandroid10' ">$(_LibDirs) -L "$(_CorlibDir.TrimEnd('\'))" <_Out>-o "$(MSBuildProjectDirectory)/$(IntermediateOutputPath)jcw/src" <_JavaSources Include="$(IntermediateOutputPath)jcw\src\**\*.java" /> diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj index 7a780bc3151..e8d9769ae6d 100644 --- a/src/Mono.Android/Mono.Android.csproj +++ b/src/Mono.Android/Mono.Android.csproj @@ -393,8 +393,9 @@ - - + + + @@ -421,6 +422,7 @@ $(BuildDependsOn); + _ExportMsxDoc; _CopyToPackDirs; diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 39e16c48c09..854a5f940a2 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -160,7 +160,7 @@ /> - "$(XAInstallPrefix)xbuild\Xamarin\Android\generator.exe" + "$(MicrosoftAndroidSdkOutDir)generator.dll" <_GenFlags>--public --product-version=7 <_ApiLevel>--api-level=$(AndroidApiLevel) <_Out>-o "$(IntermediateOutputPath)mcw" @@ -180,7 +180,7 @@ <_LangFeatures Condition=" $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '7.0')) ">$(_LangFeatures),obsoleted-platform-attributes @@ -292,26 +292,26 @@ 33 33 - v13.0 xamarin-android-sdk-13 <_LogPrefix>$(MSBuildThisFileDirectory)../../bin/Build$(Configuration)/UpdateApiDocs-$([System.DateTime]::Now.ToString ("yyyyMMddTHHmmss")) + <_Mdoc Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/mdoc.exe" + <_Mdoc Condition=" '$(Pkgmdoc)' == '' ">"$(XAPackagesDir)/mdoc/$(MdocPackageVersion)/tools/mdoc.exe" + <_BuildProps Include="-p:TargetFramework=$(DotNetTargetFramework)" /> <_BuildProps Include="-p:IncludeAndroidJavadoc=True" /> - <_BuildProps Include="-p:TargetFramework=monoandroid10" /> <_BuildProps Include="-p:AndroidApiLevel=$(DocsApiLevel)" /> <_BuildProps Include="-p:AndroidPlatformId=$(DocsPlatformId)" /> - <_BuildProps Include="-p:AndroidFrameworkVersion=$(DocsFxVersion)" /> - <_Mdoc Condition=" '$(Pkgmdoc)' != '' ">"$(Pkgmdoc)/tools/mdoc.exe" - <_Libdir>-L "$(XAInstallPrefix)xbuild-frameworks/MonoAndroid/v1.0" - <_AssemblyBasename>$(XAInstallPrefix)xbuild-frameworks/MonoAndroid/$(DocsFxVersion)/Mono.Android + <_Libdir>-L "$(DotNetPreviewPath)packs/Microsoft.NETCore.App.Ref" + <_AssemblyBasename>$(_MonoAndroidNETDefaultOutDir)Mono.Android <_ImportXml>-i "$(_AssemblyBasename).xml" <_Assembly>$(_AssemblyBasename).dll - <_JIAssembly>$(XAInstallPrefix)xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll + <_JIAssembly>$(_MonoAndroidNETDefaultOutDir)Java.Interop.dll <_Output>-o "$(MSBuildThisFileDirectory)../../external/android-api-docs/docs/Mono.Android/en" <_DocTypeArgs Condition=" '$(DocTypeName)' != '' ">--type=$(DocTypeName) <_RootFxDir>$(BaseIntermediateOutputPath)docs-gen-temp/ @@ -366,11 +364,6 @@ Command="$(ManagedRuntime) $(ManagedRuntimeArgs) $(_Mdoc) --debug update --use-docid --delete $(_Libdir) $(_ImportXml) $(_Output) $(_DocTypeArgs) $(_FxConfig) $(_Lang)" WorkingDirectory="$(MSBuildThisFileDirectory)" /> - - @@ -388,4 +381,19 @@ /> + + + <_MsxDocSourceFile Include="$(XamarinAndroidSourcePath)external\android-api-docs\**" /> + + + + + + + From a3367b43a3124e2be2cb482efd32f715876ade68 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Tue, 9 May 2023 16:06:40 -0400 Subject: [PATCH 2/2] Feedback --- src/Mono.Android/Mono.Android.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets index 854a5f940a2..5c19d33c6b7 100644 --- a/src/Mono.Android/Mono.Android.targets +++ b/src/Mono.Android/Mono.Android.targets @@ -383,7 +383,7 @@ - <_MsxDocSourceFile Include="$(XamarinAndroidSourcePath)external\android-api-docs\**" /> + <_MsxDocSourceFile Include="$(XamarinAndroidSourcePath)external\android-api-docs\docs\Mono.Android\en\**" />