Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,14 @@ all-tests::

prepare:: prepare-external prepare-props

# $(call GetPath,path)
GetPath = $(shell $(MSBUILD) $(MSBUILD_FLAGS) /p:DoNotLoadOSProperties=True /nologo /v:minimal /t:Get$(1)FullPath build-tools/scripts/Paths.targets | tr -d '[[:space:]]' )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a fan of this kind of {x,ms}build invocation, to be honest. It's convenient if it works, but if it breaks... The error output of msbuild is mangled and next to impossible to read, also it gets interpreted by shell as a set of commands. Maybe (not as part of this PR) we should have a wrapper script for such one-liners that will properly check the exit status of the command as well as log and process its output.


prepare-external:
git submodule update --init --recursive
nuget restore $(SOLUTION)
nuget restore Xamarin.Android-Tests.sln
(cd `$(MSBUILD) $(MSBUILD_FLAGS) /p:DoNotLoadOSProperties=True /nologo /v:minimal /t:GetJavaInteropFullPath build-tools/scripts/Paths.targets` && nuget restore)
(cd $(call GetPath,JavaInterop) && nuget restore)

prepare-props:
cp Configuration.Java.Interop.Override.props external/Java.Interop/Configuration.Override.props
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,14 @@ within `build-tools/mono-runtimes/obj/$(Configuration)/TARGET`.

If you change sources within `external/mono`, a top-level `make`/`xbuild`
invocation may not rebuild those mono native binaries. To explicitly rebuild
Mono for a given target, run `make` from the relevant directory.
For example, to rebuild Mono for armeabi-v7a:
*all* Mono runtimes, use the `ForceBuild` target:

# Build and install all runtimes
$ xbuild /t:ForceBuild build-tools/mono-runtimes/mono-runtimes.mdproj

To build Mono for a specific target, run `make` from the relevant directory
and invoke the `_InstallRuntimes` target. For example, to rebuild
Mono for armeabi-v7a:

$ cd build-tools/mono-runtimes
$ make -C obj/Debug/armeabi-v7a
Expand Down
11 changes: 11 additions & 0 deletions Xamarin.Android.sln
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "libzip-windows", "build-too
EndProject
Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "bundle", "build-tools\bundle\bundle.mdproj", "{1640725C-4DB8-4D8D-BC96-74E688A06EEF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xa-prep-tasks", "build-tools\xa-prep-tasks\xa-prep-tasks.csproj", "{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AnyCPU = Debug|AnyCPU
Expand Down Expand Up @@ -407,6 +409,14 @@ Global
{1640725C-4DB8-4D8D-BC96-74E688A06EEF}.XAIntegrationDebug|AnyCPU.Build.0 = Debug|Any CPU
{1640725C-4DB8-4D8D-BC96-74E688A06EEF}.XAIntegrationRelease|AnyCPU.ActiveCfg = Release|Any CPU
{1640725C-4DB8-4D8D-BC96-74E688A06EEF}.XAIntegrationRelease|AnyCPU.Build.0 = Release|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.Debug|AnyCPU.Build.0 = Debug|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.Release|AnyCPU.ActiveCfg = Release|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.Release|AnyCPU.Build.0 = Release|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.XAIntegrationDebug|AnyCPU.ActiveCfg = Debug|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.XAIntegrationDebug|AnyCPU.Build.0 = Debug|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.XAIntegrationRelease|AnyCPU.ActiveCfg = Debug|Any CPU
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}.XAIntegrationRelease|AnyCPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{8FF78EB6-6FC8-46A7-8A15-EBBA9045C5FA} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62}
Expand Down Expand Up @@ -449,6 +459,7 @@ Global
{C9FF2E4D-D927-479E-838B-647C16763F64} = {04E3E11E-B47D-4599-8AFC-50515A95E715}
{0DE278D6-000F-4001-BB98-187C0AF58A61} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62}
{1640725C-4DB8-4D8D-BC96-74E688A06EEF} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62}
{7CE69551-BD73-4726-ACAA-AAF89C84BAF8} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
Expand Down
7 changes: 5 additions & 2 deletions build-tools/android-toolchain/android-toolchain.mdproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,15 @@
</BuildDependsOn>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj">
<Project>{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}</Project>
<Name>xa-prep-tasks</Name>
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\..\src\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj">
<Project>{E8492EFB-D14A-4F32-AA28-88848322ECEA}</Project>
<Name>Xamarin.Android.Tools.BootstrapTasks</Name>
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
<OutputItemType>Content</OutputItemType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ProjectReference>
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 2 additions & 4 deletions build-tools/android-toolchain/android-toolchain.targets
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@
Properties="OutputPath=$(AndroidToolchainDirectory)"
/>
</Target>
<UsingTask AssemblyFile="$(OutputPath)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.CreateTemporaryDirectory" />
<UsingTask AssemblyFile="$(OutputPath)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.DownloadUri" />
<UsingTask AssemblyFile="$(OutputPath)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.UnzipDirectoryChildren" />
<UsingTask AssemblyFile="$(OutputPath)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.Which" />
<UsingTask AssemblyFile="..\..\bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.DownloadUri" />
<UsingTask AssemblyFile="..\..\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.UnzipDirectoryChildren" />
<Target Name="_DetermineItems">
<CreateItem
Include="@(AndroidSdkItem)"
Expand Down
30 changes: 30 additions & 0 deletions build-tools/bundle/bundle-path.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask AssemblyFile="..\..\bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.GitCommitHash" />
<Target Name="_GetHashes">
<GitCommitHash
WorkingDirectory="$(LibZipSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_LibZipHash" />
</GitCommitHash>
<GitCommitHash
WorkingDirectory="$(LlvmSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_LlvmHash" />
</GitCommitHash>
<GitCommitHash
WorkingDirectory="$(MonoSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_MonoHash" />
</GitCommitHash>
</Target>
<Target Name="GetBundleFileName"
DependsOnTargets="_GetHashes">
<PropertyGroup>
<XABundleFileName>bundle-v2-$(Configuration)-$(HostOS)-libzip=$(_LibZipHash),llvm=$(_LlvmHash),mono=$(_MonoHash).zip</XABundleFileName>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the v2 be a property? It is being used in more than one place and sounds like something that might be updated in future too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where else is -v2 being used? It should only be used in this property.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

</PropertyGroup>
</Target>
</Project>
5 changes: 5 additions & 0 deletions build-tools/bundle/bundle.mdproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
</PropertyGroup>
<Import Project="bundle.targets" />
<ItemGroup>
<ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj">
<Project>{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}</Project>
<Name>xa-prep-tasks</Name>
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\android-toolchain\android-toolchain.mdproj">
<Project>{8FF78EB6-6FC8-46A7-8A15-EBBA9045C5FA}</Project>
<Name>android-toolchain</Name>
Expand Down
70 changes: 11 additions & 59 deletions build-tools/bundle/bundle.targets
Original file line number Diff line number Diff line change
@@ -1,78 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask AssemblyFile="$(_SourceTopDir)\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.GetNugetPackageBasePath" />
<UsingTask AssemblyFile="$(_SourceTopDir)\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.GitCommitHash" />
<UsingTask AssemblyFile="$(_SourceTopDir)\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.Zip" />
<Import Project="..\mono-runtimes\mono-runtimes.props" />
<Import Project="..\mono-runtimes\mono-runtimes.projitems" />
<Import Project="..\mono-runtimes\mono-runtimes.targets" />
<Import Project="..\libzip\libzip.props" />
<Import Project="..\libzip\libzip.projitems" />
<Import Project="..\libzip\libzip.targets" />
<Import Project="..\libzip-windows\libzip-windows.props" />
<Import Project="..\libzip-windows\libzip-windows.projitems" />
<Target Name="_GetHashes">
<GitCommitHash
WorkingDirectory="$(LibZipSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_LibZipHash" />
</GitCommitHash>
<GitCommitHash
WorkingDirectory="$(LlvmSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_LlvmHash" />
</GitCommitHash>
<GitCommitHash
WorkingDirectory="$(MonoSourceFullPath)"
ToolPath="$(GitToolPath)"
ToolExe="$(GitToolExe)">
<Output TaskParameter="AbbreviatedCommitHash" PropertyName="_MonoHash" />
</GitCommitHash>
</Target>
<Target Name="GetBundlePath"
DependsOnTargets="_GetHashes">
<PropertyGroup>
<_BundlePath>$(OutputPath)bundle-v2-$(Configuration)-$(HostOS)-libzip=$(_LibZipHash),llvm=$(_LlvmHash),mono=$(_MonoHash).zip</_BundlePath>
</PropertyGroup>
</Target>
<Import Project="..\libzip-windows\libzip-windows.targets" />
<Import Project="bundle-path.targets" />
<Target Name="Clean"
DependsOnTargets="_GetHashes">
<Delete Files="$(_BundlePath)" />
DependsOnTargets="GetBundleFileName">
<Delete Files="$(OutputPath)$(XABundleFileName)" />
</Target>
<Target Name="_GetArchiveItems"
DependsOnTargets="_GetRuntimesOutputItems">
<ItemGroup>
<_Archive Include="@(_BclInstalledItem)" />
<_Archive Include="$(OutputPath)lib\xbuild-frameworks\MonoAndroid\v1.0\Facades\*.dll*" />
<_Archive Include="$(OutputPath)lib\xbuild-frameworks\MonoAndroid\v1.0\RedistList\FrameworkList.xml" />
<_Archive Include="@(_InstallRuntimeOutput)" />
<_Archive Include="@(_InstallUnstrippedRuntimeOutput)" />
<_Archive Include="@(_InstallProfilerOutput)" />
<_Archive Include="@(_InstallUnstrippedProfilerOutput)" />
<_Archive Include="@(_InstallMonoPosixHelperOutput)" />
<_Archive Include="@(_InstallUnstrippedMonoPosixHelperOutput)" />
<_Archive Include="@(_RuntimeEglibHeaderOutput)" />
<_Archive Include="@(_LibZipTarget->'$(OutputPath)lib\xbuild\Xamarin\Android\%(OutputLibrary)')" />
<_Archive Include="@(_MonoConstsOutput)" />
<_Archive Include="$(OutputPath)%(_MonoCrossRuntime.InstallPath)%(_MonoCrossRuntime.CrossMonoName)%(_MonoCrossRuntime.ExeSuffix)"
Condition=" '@(_MonoCrossRuntime)' != '' "
/>
<_Archive Include="@(_LlvmRuntime->'$(OutputPath)bin\llc%(ExeSuffix)')"
Condition=" '%(_LlvmRuntime.InstallBinaries)' == 'true' "
/>
<_Archive Include="@(_LlvmRuntime->'$(OutputPath)bin\opt%(ExeSuffix)')"
Condition=" '%(_LlvmRuntime.InstallBinaries)' == 'true' "
/>
</ItemGroup>
DependsOnTargets="GetMonoBundleItems;GetLibZipBundleItems">
</Target>
<Target Name="CreateBundle"
DependsOnTargets="GetBundlePath;_GetArchiveItems"
Inputs="@(_Archive)"
Outputs="$(_BundlePath)">
DependsOnTargets="GetBundleFileName;_GetArchiveItems"
Inputs="@(BundleItem)"
Outputs="$(OutputPath)$(XABundleFileName)">
<Zip
File="$(_BundlePath)"
Entries="@(_Archive)"
Entries="@(BundleItem)"
File="$(OutputPath)$(XABundleFileName)"
Prefix="$(OutputPath)"
/>
</Target>
Expand Down
3 changes: 1 addition & 2 deletions build-tools/libzip-windows/libzip-windows.mdproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
<PropertyGroup>
<BuildDependsOnLocal Condition="'$(HostOS)' == 'Windows' OR '$(HostOS)' == 'Darwin'">
ResolveReferences;
_Configure;
_Make
_BuildUnlessCached
</BuildDependsOnLocal>
</PropertyGroup>
<Import Project="libzip-windows.props" />
Expand Down
10 changes: 8 additions & 2 deletions build-tools/libzip/libzip.mdproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,19 @@
<PropertyGroup>
<BuildDependsOnLocal Condition="'$(HostOS)' == 'Windows' OR '$(HostOS)' == 'Darwin'">
ResolveReferences;
_Configure;
_Make
_BuildUnlessCached
</BuildDependsOnLocal>
</PropertyGroup>
<Import Project="libzip.props" />
<Import Project="libzip.projitems" />
<Import Project="libzip.targets" />
<ItemGroup>
<ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj">
<Project>{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}</Project>
<Name>xa-prep-tasks</Name>
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Target Name="Build" DependsOnTargets="$(BuildDependsOnLocal)" />
<Target Name="Clean" />
</Project>
4 changes: 4 additions & 0 deletions build-tools/libzip/libzip.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@
<OutputLibraryPath>libzip.so</OutputLibraryPath>
</_LibZipTarget>
</ItemGroup>
<ItemGroup>
<RequiredProgram Include="cmake" />
<RequiredProgram Include="make" />
</ItemGroup>
</Project>
41 changes: 25 additions & 16 deletions build-tools/libzip/libzip.targets
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="_CheckForMake">
<Exec Command="make --help" />
<OnError ExecuteTargets="_PrintRequiredMake" />
</Target>
<Target Name="_PrintRequiredMake">
<Error Text="The `make` program is required, and could not be found in `$PATH`." />
</Target>
<Target Name="_CheckForCmake">
<Exec Command="cmake --help" />
<OnError ExecuteTargets="_PrintRequiredCmake" />
</Target>
<Target Name="_PrintRequiredCmake">
<Error Text="The `cmake` program is required, and could not be found in `$PATH`." />
</Target>
<Import Project="..\scripts\RequiredPrograms.targets" />
<PropertyGroup>
<ForceBuildDependsOn>
_SetCMakeListsTxtTimeToLastCommitTimestamp;
CheckForRequiredPrograms;
_Configure;
_Make
</ForceBuildDependsOn>
</PropertyGroup>
<Target Name="_SetCMakeListsTxtTimeToLastCommitTimestamp">
<Exec
Command="touch -m -t `git log -1 --format=%25cd --date=format-local:%25Y%25m%25d%25H%25M.%25S` CMakeLists.txt"
Expand All @@ -25,7 +20,6 @@
DependsOnTargets="_SetCMakeListsTxtTimeToLastCommitTimestamp"
Inputs="$(LibZipSourceFullPath)\CMakeLists.txt"
Outputs="$(IntermediateOutputPath)\%(_LibZipTarget.Identity)\Makefile">
<CallTarget Targets="_CheckForCmake" />
<MakeDir Directories="@(_LibZipTarget->'$(IntermediateOutputPath)\%(Identity)')" />
<Exec
Command="%(_LibZipTarget.CMake) %(_LibZipTarget.CMakeFlags) $(LibZipSourceFullPath)"
Expand All @@ -41,7 +35,6 @@
Condition=" '@(_LibZipTarget)' != '' "
Inputs="$(IntermediateOutputPath)\%(_LibZipTarget.Identity)\Makefile"
Outputs="@(Content)">
<CallTarget Targets="_CheckForMake" />
<Exec
Command="make"
WorkingDirectory="$(IntermediateOutputPath)\%(_LibZipTarget.Identity)"
Expand All @@ -50,6 +43,22 @@
DestinationFiles="@(_LibZipTarget->'$(OutputPath)\lib\xbuild\Xamarin\Android\%(_LibZipTarget.OutputLibrary)')"/>
<Touch Files="@(Content)" />
</Target>
<Target Name="GetLibZipBundleItems">
<ItemGroup>
<BundleItem Include="@(Content)" />
</ItemGroup>
</Target>
<Target Name="ForceBuild"
DependsOnTargets="GetLibZipBundleItems;$(ForceBuildDependsOn)"
Inputs="$(LibZipSourceFullPath)\CMakeLists.txt"
Outputs="@(BundleItem)">
</Target>
<Target Name="_BuildUnlessCached"
DependsOnTargets="_SetCMakeListsTxtTimeToLastCommitTimestamp;GetLibZipBundleItems"
Inputs="$(LibZipSourceFullPath)\CMakeLists.txt"
Outputs="@(BundleItem)">
<CallTarget Targets="ForceBuild" />
</Target>
<Target Name="_CleanBinaries"
AfterTargets="Clean">
<RemoveDir Directories="$(IntermediateOutputPath)\%(_LibZipTarget.Identity" />
Expand Down
27 changes: 5 additions & 22 deletions build-tools/mono-runtimes/mono-runtimes.mdproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,13 @@
<ItemType>GenericProject</ItemType>
<ProjectGuid>{C03E6CF1-7460-4CDC-A4AB-292BBC0F61F2}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>..\..\bin\Debug</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\..\bin\Release</OutputPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<BuildDependsOn>
ResolveReferences;
_BuildLlvm;
_InstallLlvm;
_Autogen;
_ConfigureRuntimes;
_BuildRuntimes;
_InstallRuntimes;
_InstallBcl;
_ConfigureCrossRuntimes;
_BuildCrossRuntimes;
_InstallCrossRuntimes;
</BuildDependsOn>
</PropertyGroup>
<Import Project="mono-runtimes.targets" />
<ItemGroup>
<ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj">
<Project>{7CE69551-BD73-4726-ACAA-AAF89C84BAF8}</Project>
<Name>xa-prep-tasks</Name>
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\android-toolchain\android-toolchain.mdproj">
<Project>{8FF78EB6-6FC8-46A7-8A15-EBBA9045C5FA}</Project>
<Name>android-toolchain</Name>
Expand Down
Loading