diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs index 636aa72022c..2aca414716b 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs @@ -23,13 +23,15 @@ public void RepetitiveBuild () if (Directory.Exists ("temp/RepetitiveBuild")) Directory.Delete ("temp/RepetitiveBuild", true); var proj = new XamarinAndroidApplicationProject (); - using (var b = CreateApkBuilder ("temp/RepetitiveBuild")) { + using (var b = CreateApkBuilder ("temp/RepetitiveBuild", cleanupAfterSuccessfulBuild: false, cleanupOnDispose: false)) { b.Verbosity = Microsoft.Build.Framework.LoggerVerbosity.Diagnostic; b.ThrowOnBuildFailure = false; Assert.IsTrue (b.Build (proj), "first build failed"); Assert.IsTrue (b.Build (proj), "second build failed"); Assert.IsTrue (b.Output.IsTargetSkipped ("_Sign"), "failed to skip some build"); - proj.AndroidResources.Last ().Timestamp = null; // means "always build" + var item = proj.AndroidResources.First (x => x.Include () == "Resources\\values\\Strings.xml"); + item.TextContent = () => proj.StringsXml.Replace ("${PROJECT_NAME}", "Foo"); + item.Timestamp = null; Assert.IsTrue (b.Build (proj), "third build failed"); Assert.IsFalse (b.Output.IsTargetSkipped ("_Sign"), "incorrectly skipped some build"); } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index f57513aafce..759d1a9accb 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -978,7 +978,7 @@ public override void OnCreate() public void BasicApplicationRepetitiveBuild () { var proj = new XamarinAndroidApplicationProject (); - using (var b = CreateApkBuilder ("temp/BasicApplicationRepetitiveBuild", cleanupAfterSuccessfulBuild: false)) { + using (var b = CreateApkBuilder ("temp/BasicApplicationRepetitiveBuild", cleanupAfterSuccessfulBuild: false, cleanupOnDispose: false)) { b.Verbosity = Microsoft.Build.Framework.LoggerVerbosity.Diagnostic; b.ThrowOnBuildFailure = false; Assert.IsTrue (b.Build (proj), "first build failed"); @@ -991,7 +991,9 @@ public void BasicApplicationRepetitiveBuild () Assert.IsTrue ( b.Output.IsTargetSkipped ("_Sign"), "the _Sign target should not run"); - proj.AndroidResources.Last ().Timestamp = null; + var item = proj.AndroidResources.First (x => x.Include () == "Resources\\values\\Strings.xml"); + item.TextContent = () => proj.StringsXml.Replace ("${PROJECT_NAME}", "Foo"); + item.Timestamp = null; Assert.IsTrue (b.Build (proj), "third build failed"); Assert.IsFalse ( b.Output.IsTargetSkipped ("_Sign"), diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs index 873884083f0..5be56daff8e 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs @@ -240,7 +240,9 @@ public void CheckSignApk ([Values(true, false)] bool useApkSigner, [Values(true, } } - proj.AndroidResources.First ().Timestamp = null; + var item = proj.AndroidResources.First (x => x.Include () == "Resources\\values\\Strings.xml"); + item.TextContent = () => proj.StringsXml.Replace ("${PROJECT_NAME}", "Foo"); + item.Timestamp = null; Assert.IsTrue (b.Build (proj), "Second build failed"); Assert.IsTrue (StringAssertEx.ContainsText (b.LastBuildOutput, " 0 Warning(s)"), "Second build should not contain warnings! Contains\n" +