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