Skip to content

Commit 8b654ad

Browse files
dellis1972jonpryor
authored andcommitted
[Xamarin.Android.Build.Tasks] Fix VS DesignTime Build Hang (#985)
FixesL https://bugzilla.xamarin.com/show_bug.cgi?id=60080 In a previous attempt to fix an intellisense build (1cd582e) we caused this issue. The DesignTime build does NOT like our AsyncTask as it locks the IDE. This commit puts the old code back in place which skips the task if we are in DesignTime mode. But so we can easily test it, we emit an message that our test can pick up to ensure we are doing the correct thing. Without the message we have no way of knowing if the task is skipped.
1 parent 78dc175 commit 8b654ad

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void DesignTimeBuild ([Values(false, true)] bool isRelease, [Values (fals
8484
Assert.IsTrue (b.Clean(proj), "App should have cleaned successfully");
8585
Assert.IsTrue (b.UpdateAndroidResources (proj, doNotCleanupOnUpdate: true, parameters: new string [] { "DesignTimeBuild=true" }, environmentVariables: envVar),
8686
"first build failed");
87-
Assert.AreEqual (!useManagedParser, b.LastBuildOutput.Contains ("Skipping download of "),
87+
Assert.AreEqual (!useManagedParser, b.LastBuildOutput.Contains ("Skipping GetAdditionalResourcesFromAssemblies"),
8888
"failed to skip the downloading of files.");
8989
var items = new List<string> ();
9090
string first = null;

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Bindings.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,9 @@ Copyright (C) 2012 Xamarin Inc. All rights reserved.
278278
CacheFile="$(IntermediateOutputPath)resourcepaths.cache"
279279
YieldDuringToolExecution="$(YieldDuringToolExecution)"
280280
DesignTimeBuild="$(DesignTimeBuild)"
281+
Condition=" '$(DesignTimeBuild)' == '' Or '$(DesignTimeBuild)' == 'false' "
281282
/>
283+
<Message Text="Skipping GetAdditionalResourcesFromAssemblies in DesignTime build" Condition=" '$(DesignTimeBuild)' == 'true' " />
282284
</Target>
283285

284286
<Target Name="_GetAdditionalResourcesFromAssemblies" DependsOnTargets="_BuildAdditionalResourcesCache">

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,9 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
407407
YieldDuringToolExecution="$(YieldDuringToolExecution)"
408408
DesignTimeBuild="$(DesignTimeBuild)"
409409
ContinueOnError="$(DesignTimeBuild)"
410+
Condition=" '$(DesignTimeBuild)' == '' Or '$(DesignTimeBuild)' == 'false' "
410411
/>
412+
<Message Text="Skipping GetAdditionalResourcesFromAssemblies in DesignTime build" Condition=" '$(DesignTimeBuild)' == 'true' " />
411413
</Target>
412414

413415
<Target Name="_ValidateResourceCache">

0 commit comments

Comments
 (0)