diff --git a/build-tools/xaprepare/xaprepare/Application/Context.cs b/build-tools/xaprepare/xaprepare/Application/Context.cs index aada001f6fa..8205be94df8 100644 --- a/build-tools/xaprepare/xaprepare/Application/Context.cs +++ b/build-tools/xaprepare/xaprepare/Application/Context.cs @@ -18,8 +18,15 @@ partial class Context : AppObject public const ConsoleColor FailureColor = ConsoleColor.Red; public const ConsoleColor WarningColor = ConsoleColor.Yellow; - static readonly string XASolutionFilePath = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android.sln"); - static readonly string XATestsSolutionFilePath = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android-Tests.sln"); + static readonly IEnumerable XASolutionFilesPath = new string [] { + Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android.BootstrapTasks.sln"), + Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android.Build.Tasks.sln"), + Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android.sln"), + }; + + static readonly IEnumerable XATestsSolutionFilesPath = new string [] { + Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "Xamarin.Android-Tests.sln"), + }; string logDirectory; string mainLogFilePath; @@ -171,12 +178,12 @@ partial class Context : AppObject /// /// Path to the Xamarin.Android solution file /// - public string XASolutionFile => XASolutionFilePath; + public IEnumerable XASolutionFiles => XASolutionFilesPath; /// /// Path to the Xamarin.Android tests solution file /// - public string XATestsSolutionFile => XATestsSolutionFilePath; + public IEnumerable XATestsSolutionFiles => XATestsSolutionFilesPath; /// /// If true, the current console is capable of displayig UTF-8 characters diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternal.cs b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternal.cs index ab80015ad40..ed21d63c505 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternal.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternal.cs @@ -14,13 +14,18 @@ protected override async Task Execute (Context context) { var nuget = new NuGetRunner (context); - if (!await NuGetRestore (nuget, context.XASolutionFile)) { - return false; + foreach (var solutionFile in context.XASolutionFiles) { + if (!await NuGetRestore (nuget, solutionFile)) { + return false; + } } Log.StatusLine (); - if (!await NuGetRestore (nuget, context.XATestsSolutionFile)) { - return false; + + foreach (var solutionFile in context.XATestsSolutionFiles) { + if (!await NuGetRestore (nuget, solutionFile)) { + return false; + } } var msbuild = new MSBuildRunner (context);