Fix bug #547753.
commitd668144c6a5009ccb5eace51e2b09c4bf7384aba
authorankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 27 Nov 2009 22:12:52 +0000 (27 22:12 +0000)
committerankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 27 Nov 2009 22:12:52 +0000 (27 22:12 +0000)
tree6a0d8ed5cdbe96bf4fd3bb7cdc8af179afcbe208
parentb834073468ef6436a2a706c86673c577d98f7b39
Fix bug #547753.

In class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine:
Fix bug #547753.
* BatchingImplBase.cs (DumpBucket*): New. Useful for debugging.
* Project.cs (Batch): New. Contains the perBatchItems and the
commonItems for the batch.
Use a stack of batches, instead of directly setting the current
batch items.
(PushBatch): New.
(PopBatch): New.
(SetBatchedItems): Make this private.
(GlobalProperties.set): Re-evaluating the project is not required
for this.
* TargetBatchingImpl.cs: Use the new Push/PopBatch instead of directly
setting the batches.
* TaskBatchingImpl.cs: Likewise. Refactor slightly to PopBatch in
finally block.
* Target.cs (Build): Reset the current batch to nil before evaluating
and building this target.

In class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks:
* TaskBatchingTest.cs: Add new tests for batching.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@147050 e3ebcda4-bce8-0310-ba0a-eca2169e7518
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BatchingImplBase.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetBatchingImpl.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TaskBatchingImpl.cs
class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/ChangeLog
class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/TaskBatchingTest.cs