diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/BuildAppBundle.cs b/src/Xamarin.Android.Build.Tasks/Tasks/BuildAppBundle.cs index 35458d7a892..09a4cd986d7 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/BuildAppBundle.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/BuildAppBundle.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; namespace Xamarin.Android.Tasks { @@ -61,6 +62,8 @@ public class BuildAppBundle : BundleTool public string BaseZip { get; set; } public string CustomBuildConfigFile { get; set; } + + public string [] Modules { get; set; } [Required] public string Output { get; set; } @@ -119,7 +122,11 @@ protected override CommandLineBuilder GetCommandLineBuilder () { var cmd = base.GetCommandLineBuilder (); cmd.AppendSwitch ("build-bundle"); - cmd.AppendSwitchIfNotNull ("--modules ", BaseZip); + var modules = new List (); + modules.Add (BaseZip); + if (Modules != null && Modules.Any ()) + modules.AddRange (Modules); + cmd.AppendSwitchIfNotNull ("--modules ", string.Join (",", modules)); cmd.AppendSwitchIfNotNull ("--output ", Output); cmd.AppendSwitchIfNotNull ("--config ", temp); return cmd; diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index 9bfff942b3c..c210b3a609e 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -2767,6 +2767,7 @@ because xbuild doesn't support framework reference assemblies. JavaOptions="$(JavaOptions)" JarPath="$(AndroidBundleToolJarPath)" BaseZip="$(_BaseZipIntermediate)" + Modules="@(AndroidAppBundleModules)" Output="$(_AppBundleIntermediate)" UncompressedFileExtensions="$(AndroidStoreUncompressedFileExtensions)" CustomBuildConfigFile="$(AndroidBundleConfigurationFile)"