From 297d98bd51f835ec020fea1bb7de52b966d101a5 Mon Sep 17 00:00:00 2001 From: Dean Ellis Date: Wed, 14 Dec 2022 13:24:25 +0000 Subject: [PATCH 1/3] Add Unit Test for testOnly apps --- tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs b/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs index 7f780147517..f1ab011b0ee 100644 --- a/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs +++ b/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs @@ -764,12 +764,14 @@ public void ResourceDesignerWithNuGetReference ([Values ("net8.0-android33.0")] } [Test] - public void SingleProject_ApplicationId () + public void SingleProject_ApplicationId ([Values (false, true)] bool testOnly) { AssertHasDevices (); proj = new XamarinAndroidApplicationProject (); proj.SetProperty ("ApplicationId", "com.i.should.get.overridden.by.the.manifest"); + if (testOnly) + proj.AndroidManifest = proj.AndroidManifest.Replace (" Date: Thu, 5 Jan 2023 08:59:18 +0000 Subject: [PATCH 2/3] Add IsTestOnly to ReadAndroidManifest --- .../Tasks/ReadAndroidManifest.cs | 8 ++++++++ .../Xamarin.Android.Common.targets | 1 + 2 files changed, 9 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs b/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs index 612fea6a844..8fa7d5f57de 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs @@ -35,6 +35,9 @@ public class ReadAndroidManifest : AndroidTask [Output] public bool UseEmbeddedDex { get; set; } = false; + [Output] + public bool IsTestOnly { get; set; } = false; + public override bool RunTask () { var androidNs = AndroidAppManifest.AndroidXNamespace; @@ -52,6 +55,11 @@ public override bool RunTask () UseEmbeddedDex = value; } + text = app.Attribute (androidNs + "testOnly"); + if (bool.TryParse (text, out value)) { + IsTestOnly = value; + } + var libraries = new List (); foreach (var uses_library in app.Elements ("uses-library")) { var attribute = uses_library.Attribute (androidNs + "name"); diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index 8606402f9f1..060d670a696 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -1641,6 +1641,7 @@ because xbuild doesn't support framework reference assemblies. + .so;$(AndroidStoreUncompressedFileExtensions) From 8a7d3f63e74635188fa09b3536b9f9c5b62c42b1 Mon Sep 17 00:00:00 2001 From: Dean Ellis Date: Thu, 5 Jan 2023 09:07:07 +0000 Subject: [PATCH 3/3] Fix missing code --- src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs b/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs index 8fa7d5f57de..c8143247d22 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/ReadAndroidManifest.cs @@ -55,7 +55,7 @@ public override bool RunTask () UseEmbeddedDex = value; } - text = app.Attribute (androidNs + "testOnly"); + text = app.Attribute (androidNs + "testOnly")?.Value; if (bool.TryParse (text, out value)) { IsTestOnly = value; }