Allow targets from imported projects to be overridden.
commit26d2f002bcd44a43f0fc10b7a9fe066a1c774a8e
authorankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 25 Sep 2009 19:51:07 +0000 (25 19:51 +0000)
committerankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Fri, 25 Sep 2009 19:51:07 +0000 (25 19:51 +0000)
tree4a03aaa7dd49d16d249a221cf87e3acde49a938f
parentee6e097a193ce9128ebe54884d10c1059a848fdc
Allow targets from imported projects to be overridden.

In class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine:
* Project.cs (Evaluate): Split into this and ..
(PrepareForEvaluate): .. this.
(AddImport): Evaluate the current set of properties/items etc,
before processing the imported project. Honor the Condition
for the Import.
(ProcessProjectAttributes): Update MSBuildProjectDefaultTargets
property.
* GroupingCollection.cs (Evaluate): Don't evaluate Imports here.
* BuildItemGroup.cs (Evaluate): Evaluate only once.
* BuildPropertyGroup.cs (Evaluate): Evaluate only once.

In class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine:
* TargetTest.cs (TestOverridingTargets): New.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@142654 e3ebcda4-bce8-0310-ba0a-eca2169e7518
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItemGroup.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildPropertyGroup.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/GroupingCollection.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ChangeLog
class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs