[mdoc] Add mdoc and dependencies to the bundle
Context: 5a8e48eba8
`mdoc.exe` is used by the `<MDoc/>` task, used by the
`BuildDocumentation` target in `Xamarin.Android.Bindings.targets`.
We obtain `mdoc.exe` from the `external/mono` build, but because
`mdoc.exe` will be referencing mono's `Mono.Cecil.dll`, we use
`remap-assembly-ref` to update `mdoc.exe` to instead use
`Xamarin.Android.Cecil.dll`.
This commit is contained in:
Родитель
bc29f4d6de
Коммит
e814528c8d
|
@ -113,4 +113,7 @@
|
|||
<AndroidSupportedTargetAotAbisForConditionalChecks Condition=" !$(AndroidSupportedTargetAotAbisForConditionalChecks.StartsWith (':')) " >:$(AndroidSupportedTargetAotAbisForConditionalChecks)</AndroidSupportedTargetAotAbisForConditionalChecks>
|
||||
<AndroidSupportedTargetAotAbisSplit>$(AndroidSupportedTargetAotAbis.Split(':'))</AndroidSupportedTargetAotAbisSplit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RemapAssemblyRefTool>$(ManagedRuntime) "$(MSBuildThisFileDirectory)bin\Build$(Configuration)\remap-assembly-ref.exe"</RemapAssemblyRefTool>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<Target Name="GetBundleFileName"
|
||||
DependsOnTargets="_GetHashes">
|
||||
<PropertyGroup>
|
||||
<XABundleFileName>bundle-v5-$(Configuration)-$(HostOS)-libzip=$(_LibZipHash),llvm=$(_LlvmHash),mono=$(_MonoHash).zip</XABundleFileName>
|
||||
<XABundleFileName>bundle-v6-$(Configuration)-$(HostOS)-libzip=$(_LibZipHash),llvm=$(_LlvmHash),mono=$(_MonoHash).zip</XABundleFileName>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -31,5 +31,10 @@
|
|||
<Name>android-toolchain</Name>
|
||||
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\remap-assembly-ref\remap-assembly-ref.csproj">
|
||||
<Project>{C876DA71-8573-4CEF-9149-716D72455ED4}</Project>
|
||||
<Name>remap-assembly-ref</Name>
|
||||
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -4,12 +4,26 @@
|
|||
<PropertyGroup>
|
||||
<_SourceTopDir>..\..</_SourceTopDir>
|
||||
<_BclFrameworkDir>$(OutputPath)\lib\xbuild-frameworks\MonoAndroid\v1.0</_BclFrameworkDir>
|
||||
<_MandroidDir>$(OutputPath)\lib\mandroid</_MandroidDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<MonoDocCopyItem Include="monodoc.dll" />
|
||||
<MonoDocCopyItem Include="monodoc.dll.mdb" />
|
||||
<MonoDocCopyItem Include="monodoc.dll.config" />
|
||||
</ItemGroup>
|
||||
<UsingTask AssemblyFile="$(_SourceTopDir)\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.GetNugetPackageBasePath" />
|
||||
<Import Project="$(_SourceTopDir)\Configuration.props" />
|
||||
<PropertyGroup>
|
||||
<_MonoProfileDir>$(MonoSourceFullPath)\mcs\class\lib\monodroid</_MonoProfileDir>
|
||||
<_MonoOutputDir>$(MonoSourceFullPath)\mcs\class\lib\net_4_x</_MonoOutputDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<_MonoDocCopyItems Include="@(MonoDocCopyItem->'$(_MonoOutputDir)\%(Identity)')" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<_MonoDocInstalledItems Include="@(MonoDocCopyItem->'$(_MandroidDir)\%(Identity)')" />
|
||||
<_MonoDocInstalledItems Include="$(_MandroidDir)\mdoc.exe" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<ForceBuildDependsOn>
|
||||
_BuildLlvm;
|
||||
|
@ -19,6 +33,7 @@
|
|||
_BuildRuntimes;
|
||||
_InstallRuntimes;
|
||||
_InstallBcl;
|
||||
_InstallMonoDoc;
|
||||
_ConfigureCrossRuntimes;
|
||||
_BuildCrossRuntimes;
|
||||
_InstallCrossRuntimes;
|
||||
|
@ -295,6 +310,18 @@
|
|||
/>
|
||||
<Touch Files="@(_InstallMonoPosixHelperOutput);@(_InstallUnstrippedMonoPosixHelperOutput)" />
|
||||
</Target>
|
||||
<Target Name="_InstallMonoDoc"
|
||||
Inputs="@(_MonoDocCopyItems);$(_MonoOutputDir)\mdoc.exe"
|
||||
Outputs="@(_MonoDocInstalledItems)">
|
||||
<MakeDir Directories="$(_MandroidDir)" />
|
||||
<Copy
|
||||
SourceFiles="@(_MonoDocCopyItems)"
|
||||
DestinationFolder="$(_MandroidDir)"
|
||||
/>
|
||||
<Exec
|
||||
Command="$(RemapAssemblyRefTool) "$(_MonoOutputDir)\mdoc.exe" "$(_MandroidDir)\mdoc.exe" Mono.Cecil "$(_MandroidDir)\Xamarin.Android.Cecil.dll""
|
||||
/>
|
||||
</Target>
|
||||
<Target Name="_InstallBcl"
|
||||
Inputs="@(_BclProfileItems)"
|
||||
Outputs="@(_BclInstalledItem);$(OutputPath)\lib\xbuild-frameworks\MonoAndroid\v1.0\RedistList\FrameworkList.xml">
|
||||
|
@ -417,6 +444,7 @@
|
|||
DependsOnTargets="_GetRuntimesOutputItems;_PrepareLlvmItems">
|
||||
<ItemGroup>
|
||||
<BundleItem Include="@(_BclInstalledItem)" />
|
||||
<BundleItem Include="@(_MonoDocInstalledItems)" />
|
||||
<BundleItem Include="@(MonoFacadeAssembly->'$(OutputPath)\lib\xbuild-frameworks\MonoAndroid\v1.0\Facades\%(Identity)')" />
|
||||
<BundleItem Include="$(OutputPath)\lib\xbuild-frameworks\MonoAndroid\v1.0\RedistList\FrameworkList.xml" />
|
||||
<BundleItem Include="@(_InstallRuntimeOutput)" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче