[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:
Radek Doulik 2016-12-19 23:18:21 +01:00 коммит произвёл Jonathan Pryor
Родитель bc29f4d6de
Коммит e814528c8d
4 изменённых файлов: 37 добавлений и 1 удалений

Просмотреть файл

@ -113,4 +113,7 @@
<AndroidSupportedTargetAotAbisForConditionalChecks Condition=" !$(AndroidSupportedTargetAotAbisForConditionalChecks.StartsWith (':')) " >:$(AndroidSupportedTargetAotAbisForConditionalChecks)</AndroidSupportedTargetAotAbisForConditionalChecks>
<AndroidSupportedTargetAotAbisSplit>$(AndroidSupportedTargetAotAbis.Split(':'))</AndroidSupportedTargetAotAbisSplit>
</PropertyGroup>
<PropertyGroup>
<RemapAssemblyRefTool>$(ManagedRuntime) &quot;$(MSBuildThisFileDirectory)bin\Build$(Configuration)\remap-assembly-ref.exe&quot;</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) &quot;$(_MonoOutputDir)\mdoc.exe&quot; &quot;$(_MandroidDir)\mdoc.exe&quot; Mono.Cecil &quot;$(_MandroidDir)\Xamarin.Android.Cecil.dll&quot;"
/>
</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)" />