2009-03-27 Jonathan Chambers <joncham@gmail.com>
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / ChangeLog
1 2009-03-27  Jonathan Chambers  <joncham@gmail.com>
2
3         * BuildWhen.cs: Add basic implementation.
4         * BuildChoose.cs: Add basic implementation.
5         * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to 
6         EvaluatedItemsIgnoringCondition.
7         * GroupingCollection.cs: Add evaluation of BuildChoose items.
8
9 2009-03-26  Jonathan Chambers  <joncham@gmail.com>
10
11         * TaskDatabase.cs (RegisterTask): Search for class by name
12         if task was not found using GetType (which uses namespace). 
13
14 2009-02-26  Ankit Jain  <jankit@novell.com>
15
16         * Target.cs: Handle target with no tasks. Log errors.
17
18 2009-02-24  Ankit Jain  <jankit@novell.com>
19
20         Lazily load UsingTask tasks.
21         * UsingTask.cs (Evaluate): Register 'this' with task database,
22         but don't load it yet. Register only if condition evaluates to true.
23         Move the load logic to ..
24         (Load): .. here. Register with the specified task database.
25         * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
26         in a table keyed by task name, but don't load it yet.
27         (GetTypeFromClassName): Try to load UsingTask if task is not already
28         loaded. Move loading logic to ..
29         (GetTypeFromClassNameInternal): .. here.
30         (CopyTasks): Copy the usingTasks table also.
31
32 2009-02-23  Ankit Jain  <jankit@novell.com>
33
34         * BuildItem.cs (AddMetadata): Allow overwriting older values.
35
36 2009-02-22  Ankit Jain  <jankit@novell.com>
37
38         * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
39         instead of XmlElement. Eg. XmlComment
40
41 2009-02-21  Ankit Jain  <jankit@novell.com>
42
43         * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
44         * Project.cs (Load): Use FromMSBuildPath on the path.
45         (InitializeProperties): Set "MSBuildToolsPath" also.
46
47 2009-02-20  Ankit Jain  <jankit@novell.com>
48
49         Fix #449683.
50         * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
51         transforms) in conditions.
52         * ConditionParser.cs: Parse unquoted item, property references.
53         eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
54         * Token.cs (Token.ToString): Override.
55         (TokenType.Transform): Uncomment.
56
57 2009-02-12  Jonathan Chambers  <joncham@gmail.com>
58
59         * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
60         no XmlElement.InnerText. This allows properties to be additional 
61         xml elements.
62
63 2009-02-01  Ankit Jain  <jankit@novell.com>
64
65         * BuildEngine.cs (BuildProjectFile): Use
66         BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
67         * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
68         built. Move logging of project start/finish to ..
69         * Project.cs: .. here. Build a target only if hasn't been built already.
70         Keep track of target outputs, and return those even if an already built
71         target has been invoked again.
72         Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
73
74 2009-01-31  Ankit Jain  <jankit@novell.com>
75
76         * BatchingImpl.cs: Split into ..
77         * BatchingImplBase.cs: .. this,
78         * TaskBatchingImpl.cs: .. this ..
79         * TargetBatchingImpl.cs: .. and this. Implement target batching here.
80
81         * Target.cs (DoBuild): Use TargetBatchingImpl for building.
82         (Log*): Move to TargetBatchingImpl .
83         (BuildTasks): New.
84         (Engine): New.
85
86 2009-01-30  Ankit Jain  <jankit@novell.com>
87
88         * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
89         arrays.
90
91 2009-01-29  Ankit Jain  <jankit@novell.com>
92
93         * BuildItem.cs (child_items): Change type from BuildItemGroup to
94         List<BuildItem>.
95         (HasParent): Rename to ..
96         (HasParentItem): .. this.
97         (ParentItemGroup): Add setter.
98
99         * BuildItemGroup.cs (.ctor): Add overload with @project param.
100         (AddNewItem):
101         (AddItem): Correctly set the ParentItemGroup for new build items.
102         (ParentProject): Add setter.
103         * Project.cs: Set the project for new BuildItemGroup instances.
104         * TaskEngine.cs (PublishItemGroup): Likewise.
105
106 2009-01-06  Ankit Jain  <jankit@novell.com>
107
108         * Project.cs (Build): Honor InitialTargets list.
109
110 2009-01-06  Ankit Jain  <jankit@novell.com>
111
112         * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
113         the property type also.
114         * MSBuild.cs (Execute): Parse 'Properties' task param to set global
115         properties.
116
117 2009-01-06  Ankit Jain  <jankit@novell.com>
118
119         * Project.cs (Build): Correctly handle null targetNames argument.
120
121 2009-01-06  Ankit Jain  <jankit@novell.com>
122
123         * Engine.cs (LogProjectStarted): Add a null check.
124
125 2009-01-01  Ankit Jain  <jankit@novell.com>
126
127         * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
128         * ChangeType (ToBuildItemGroup): Add 'split' param.
129         Track api changes.
130         * Expression.cs (Parse): Add a new overload with a 'split' param.
131         * ExpressionCollection.cs (Add): Add new overload for IReference,
132         remove the ones for Item/Metadata/PropertyReference.
133         (ConvertToArray): Implement correctly.
134         (ConvertToString): Track api changes.
135         (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
136         (ConvertToITaskItemArray): Implement support for concat'ing expressions.
137         (AddItemsToArray): New.
138         (ConvertToITaskItemArrayFromString): Refactor a bit.
139         (ThrowCantConcatError): New.
140         * ItemReference.cs: Update.
141         * MetadataReference.cs: Update.
142         * PropertyReference.cs (ConvertToITaskItemArray): Implement.
143         (GetValue): New.
144         * BuildPropertyGroup.cs: Track api changes.
145         * TaskEngine.cs (PublishOutput): Improve exception message.
146         * Project.cs (DoLoad): Improve exception message. Add a null check.
147
148 2008-12-30  Ankit Jain  <jankit@novell.com>
149
150         * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
151         metadata values for unqualified references.
152         (BuildItemGroupToITaskItemArray): Rename to ..
153         (BuildItemGroupToITaskItems): .. this.
154         (HasTaskItem): New.
155
156 2008-12-18  Ankit Jain  <jankit@novell.com>
157
158         * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
159
160 2008-12-17  Ankit Jain  <jankit@novell.com>
161
162         * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
163         only one instance of unique metadata value is required.
164
165 2008-11-22  Ankit Jain  <jankit@novell.com>
166
167         * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
168         MetadataReference.
169         * MetadataReference.cs (ConvertToITaskItemArray): New.
170         * Project.cs (GetAllItemGroups): New.
171
172 2008-11-21  Ankit Jain  <jankit@novell.com>
173
174         * BatchingImpl.cs: Add task batching implementation.
175         * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
176         * ExpressionCollection.cs (Count): New.
177         (ConvertToString): Handle MetadataReference.
178         * ItemReference.cs (ConvertToString):
179         (ConvertToITaskItemArray): Use the batching api.
180         (ToString): New.
181         * MetadataReference.cs (ConvertToString): New.
182         (ToString): New.
183         * Project.cs: Add api for accessing batched items and metadata.
184         * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
185         item group.
186
187 2008-10-01  Ankit Jain  <jankit@novell.com>
188
189         * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
190         (BuildProjectFile): If filename is null (project.LoadXml) then use
191         engine.BuildProject
192         * BuildTask.cs (InitializeTask): Track api change.
193         * Expression.cs (Parse): Skip empty entries in the expression.
194
195 2008-09-24  Ankit Jain  <jankit@novell.com>
196
197         * Engine.cs: Add argument checks.
198         * Project.cs: Likewise.
199
200 2007-03-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
201
202         * Project.cs (Build): Add outputs to targetOutputs.
203
204 2007-03-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
205
206         * ExpressionCollection.cs (ConvertToArray): Simplify.
207
208 2007-03-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
209
210         * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
211         simplified. It still needs tests and refactoring.
212
213 2007-02-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
214
215         * BuildEngine.cs (BuildProjectFile): Don't crash on null
216         globalProperties.
217
218         * Target.cs: Add Outputs property.
219
220 2007-02-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
221
222         * Target.cs (Build): Split to GetDependencies () and BuildDependencies
223         (). Support condition.
224         
225         * BatchingImpl.cs (BatchBuildTask): Simplify.
226
227 2007-02-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
228
229         * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
230         Simplified.
231
232         * ConditionFunctionExpression.cs: Removed warnings.
233
234         * BuildTask.cs (Execute): Write exceptions to std err (they should be
235         logged but it's better than swallowing).
236
237 2007-02-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
238
239         * ConditionTokenizer.cs: Add Putback ().
240
241         * ConditionParser.cs: Add parsing of functions.
242
243         * ConditionFunctionExpression.cs: Add.
244
245 2007-02-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
246
247         * BuildPropertyGroup (SetProperty): Throw an exception when trying to
248         set property in persisted property group.
249
250 2007-01-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
251
252         * BuildTask.cs (Execute): Log errors that happen when invoking ITask
253         .ctor.
254
255         * ConsoleLogger.cs (TargetFinishedHandler)
256         (TaskFinishedHandler): Increment error count.
257
258 2007-01-28  Marek Sieradzki  <marek.sieradzki@gmail.com>
259
260         * BuildItem.cs (RemoveMetadata): Remove from XML.
261         (SetMetadata): Trigger project reevaluation.
262
263 2007-01-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
264
265         * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
266         properties.
267
268 2007-01-23  Marek Sieradzki  <marek.sieradzki@gmail.com>
269
270         * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
271         TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
272         BatchingImpl.cs, BuildProperty.cs: Track API changes.
273
274         * Expression.cs (Parse): Added allowItems parameter and made regexes
275         static.
276
277         * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
278         will try to import a.ext when given a.EXT.
279
280 2007-01-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
281
282         * BuildItemGroup.cs: Store information saying what is the last item
283         group that contains build item name.
284
285         * Project.cs (Build): Pass empty array (build default targets).
286
287 2007-01-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
288
289         * Token.cs: Commented Transform and LiteralSubExpression and added
290         FunctionName token.
291
292         * ConditionParser.cs: Removed redundant casts, rewrote
293         ParseFactorExpression () and added parsing of '!'.
294
295         * ConditionTokenizer.cs: Always skip whitespaces when getting next
296         token (no IgnoreWhiteSpace property). Don't create a token from '->'.
297         Moved ReadChar () in front of all ifs.
298
299 2007-01-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
300
301         * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
302         from XML. (not to escape items that have parents twice).
303
304 2007-01-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
305
306         * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
307         (Project): Renamed to ParentProject.
308
309         * BuildItem.cs (ctor)
310         (CopyCustomMetadata): Add null check.
311
312         * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
313         (RemoveProperty): Added null check.
314
315         * TargetCollection.cs (RemoveTarget): Added null check.
316
317         * Engine.cs (UnloadProject): Added null check.
318
319         * GroupingCollection.cs (Remove): Check if removed group belongs to
320         current project.
321
322         * Project.cs (AddNewItem): Implemented.
323         (RemoveItem): Reorganized.
324         (SetProjectExtensions): Added null check.
325
326 2007-01-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
327
328         * BuildItemGroup.cs (Detach): Added.
329         (RemoveItem)
330         (RemoveItemAt): Used Detach ().
331
332         * BuildItem.cs: Made FromXml and HasParent internal and added
333         ParentItem and ParentItemGroup properties (internal).
334         (Detach): Added.
335
336         * GroupingCollection.cs (Remove): Used Detach ().
337
338         * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
339         text on Save ().
340         (GetEvaluatedItemsByNameIgnoringCondition)
341         (GetEvaluatedItemsByName)
342         (GetEvaluatedProperty): Reevaluate if needed.
343         (RemoveItem)
344         (RemoveAllItemGroups)
345         (RemoveAllPropertyGroups): Implemented.
346         (DoLoad): Added closing of TextReader.
347
348 2007-01-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
349
350         * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
351         change but just mark that it needs it.
352
353         * Project.cs: Reevaluate when it needs reevaluation and one of
354         Evaluated* properties is used.
355
356 2007-01-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
357
358         * Target.cs: Throw an exception when <OnError> is not last element in
359         target.
360
361         * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
362
363         * TargetCollection.cs: If a target is already there replace it with
364         new target.
365
366         * BuildProperty.cs: Added XmlElement property.
367
368 2007-01-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
369
370         * ImportCollection.cs: Don't add imports that are already added.
371
372         * BuildItemGroup.cs: MonoTODOs.
373
374         * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
375         condition can't be evaluated to bool.
376
377         * BuildPropertyGroup.cs (Evaluate): Simplify.
378
379 2007-01-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
380
381         * BuildWhen.cs: Moved BindToXml () code to ctor.
382
383         * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
384         property needed for removing groups.
385
386         * Engine.cs: Added StartBuild () that logs build start when Build ()
387         was first called.
388
389         * GroupingCollection.cs: Added Remove () for item and property groups.
390
391         * Project.cs (AddNewImport): Implemented.
392         (AddNewItemGroup): Implemented.
393         (AddNewPropertyGroup): Implemented.
394         (AddNewUsingTaskFromAssemblyFile): Implemented.
395         (AddNewUsingTaskFromAssemblyName): Implemented.
396         (RemoveItemGroup): Implemented.
397         (RemovePropertyGroup): Implemented.
398
399 2007-01-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
400
401         * BuildItemGroup.cs (Clear): Remove from XML.
402
403         * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
404         to Project.EvaluatedProperties.
405         (Clear): Remove from XML.
406
407 2007-01-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
408
409         * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
410         reserved property.
411
412 2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
413
414         * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
415         Add () calls when processing a project from Import and
416         evaluate_iterator for evaluation.
417
418 2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
419
420         * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
421         and prepend relative directory of importing project to full path of
422         imported project.
423
424 2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
425
426         * BuildWhen.cs, BuildPropertyGroupCollection.cs,
427         BuildItemGroupCollection.cs, Project.cs: Track API changes.
428
429         * GroupingCollection.cs: Now it needs Project reference so added it.
430
431         * BuildTask.cs: Formatting.
432
433         * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
434
435         * ConditionParser.cs (ParseAndEvaluate): Added.
436
437         * BuildItem.cs: Changed exception message.
438
439 2007-01-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
440
441         * BuildWhen.cs, BuildPropertyGroupCollection.cs,
442         BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
443         GroupingCollection doesn't need Project reference.
444
445         * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
446
447         * BuildItemGroup.cs: Added new readOnly parameter to ctor.
448         (Project.EvaluatedItems is a read only item group.)
449         (ReplaceWith): Added.
450
451         * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
452         global property group causes reevaluation of its project.
453
454         * Project.cs: ProcessXml () is internal and can be "safely" invoked by
455         other classes.
456
457         * OldExpression.cs: Removed.
458
459         * BuildProperty.cs (Evaluate): Simplified.
460
461         * ChangeType.cs (TemporaryTransform): Simplified.
462
463         * BuildItem.cs: There are now 3 types of build items: from XML, having
464         parent from XML, virtual. Added SplitParentItem ().
465
466 2006-12-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
467
468         * Utilities.cs: Added Unescape ().
469
470         * BuildItemGroup.cs, BuildItem.cs: Pass null project to
471         BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
472         groups (at the moment just unescape).
473
474         * Expression.cs (CopyToExpressionList): Unescape strings.
475
476 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
477
478         * Target.cs (ctor): Added ImportedProject argument and removed
479         set_IsImported.
480         (AddNewTask): Implemented.
481
482         * TargetCollection.cs (AddNewTarget): Implemented.
483
484         * Project.cs: Track API changes.
485
486 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
487
488         * Target.cs (Build): Don't throw anything in case of error, just
489         return false.
490
491         * BuildItemGroup.cs (set_Condition): Throw an exception if group is
492         not from XML.
493
494         * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
495         SetMetadata ().
496
497         * BuildProperty.cs (ToString): Throw an exception if property is not
498         from XML.
499         (op_Explicit): Added a null check.
500
501         * Engine.cs: Better error message.
502
503         * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
504         IndexOutOfRangeException.
505
506         * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
507         (MarkProjectAsDirty): Set time.
508
509 2006-12-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
510
511         * BuildItemGroup.cs (Clone): Throw exception.
512
513         * Project.cs (Load): Throw InvalidProjectFileException if anything
514         goes wrong.
515
516 2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
517
518         * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
519         and ConvertToITaskItemArray ().
520
521 2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
522
523         * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
524         classes that were public in Beta 2 and aren't used.
525
526         * Expression.cs: Added replacement for parsing expressions char by
527         char. It uses regexes to find item/property/metadata references in
528         given text.
529
530         * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
531         Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
532         BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
533
534         * ConditionRelationalExpression.cs: Formatting.
535
536         * OldExpression.cs: Commented everything.
537
538         * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
539         parsing to Expression.
540
541         * BuildItem.cs: Check if project is from XML in set_Condition and
542         set_Exclude.
543
544         * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
545         Project.ctor.
546
547         * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
548         can evaluate expression in CanEvaluateToBool ().
549
550 2006-12-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
551
552         * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
553         which item group is imported.
554
555         * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
556
557 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
558
559         * BuildWhen.cs, BuildPropertyGroupCollection.cs,
560         BuildItemGroupCollection.cs: Little changes related to
561         GroupingCollection.
562
563         * ImportCollection.cs: Use GroupingCollection not an internal list.
564
565         * Import.cs (Evaluate): Split to functions and check if
566         EvaluatedProjectPath is empty.
567
568         * GroupingCollection.cs, Project.cs: Move evaluation to
569         GroupingCollection. Change algorithm to use 2 passes: first for property
570         groups and imports and second for item groups.
571
572 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
573
574         * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
575         BuildItemGroup> not IDictionary.
576
577         * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
578         evaluated to false because we want to add every item to
579         Project.EvaluatedItemsByNameIgnoringCondition.
580
581         * Project.cs (Build): Don't throw an exception just return false.
582         (GetEvaluatedProperty): Avoid NullReferenceException.
583         (SetProjectExtensions): Implemented.
584
585 2006-12-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
586
587         * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
588
589         * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
590         BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
591         Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
592         
593         * ImportCollection.cs: Added a note.
594
595 2006-12-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
596
597         * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
598
599         * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
600         (UsingTask[] array, int index)
601
602         * TaskEngine.cs: Reformatted PublishOutput () and added copying of
603         items to Project.EvaluatedItems in PublishItemGroup ();
604
605         * BuildItemGroup.cs: Added [MonoTODO].
606
607         * UsingTask.cs: Used expression for AssemblyFile to get around
608         problems with '\' and '/'.
609
610         * BuildItem.cs (ctor): Added null checks.
611         (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
612         (SetMetadata): Don't escape evaluatedMetadata and escape
613         unevaluatedMetadata only when treatPropertyValueAsLiteral.
614
615         * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
616         FromXml () instead of null checks.
617         (SetProperty): Escape propertyValue when it is literal.
618
619         * BuildProperty.cs: Changed exception message.
620
621         * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
622         properties.
623         (GetProjectExtensions): Implemented.
624
625 2006-12-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
626
627         * BuildTask.cs: Remove [MonoTODO], add exception throwing in
628         GetParameterValue (), use expressions in ContinueOnError.
629         * ConditionFactorException.cs: Throw InvalidProjectFileException ()
630         instead of InvalidOperationException ().
631         * ImportCollection.cs: Implement CopyTo ().
632         * Target.cs: Remove redundant variables (XmlAttributes), return
633         String.Empty in DependsOnTargets, add a null check in RemoveTask ().
634         * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
635         * Import.cs: Throw an exception when file does not exist.
636         * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
637         * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
638         need to treat item as a token probably
639
640 2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>
641
642         * Import.cs: Check for project.FullFileName (Path.DirectoryName would
643         throw an exception).
644         * BuildItemGroupCollection.cs: Changed exception types.
645
646 2006-10-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
647
648         * Engine.cs: Removed redundant cast.
649         * BuildWhen.cs:
650         * UsingTaskCollection.cs:
651         * ImportCollection:
652         * BuildChoose.cs:
653         * BuildItem.cs:
654         * TargetCollection.cs: Comment unused variable.
655         * ConditionTokenizer.cs: Simplified checking if current token is a
656         keyword.
657         * Target.cs: Removed old code.
658
659 2006-10-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
660
661         * Target.cs: Changed "" to String.Empty.
662         * TaskEngine.cs: Don't try to convert a parameter to specific type if
663         string was evaluated to String.Empty.
664         * InternalLoggerException.cs:
665         * InvalidProjectFileException.cs: Added LinkDemand before
666         GetObjectData ().
667         * ConsoleLogger.cs: Changed "" to String.Empty.
668         * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
669         with change to generics).
670         * Project.cs: Made Build () throw more meaningful exception.
671
672 2006-10-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
673
674         * Target.cs: Reformatted.
675         * TaskEngine.cs: Removed redundant code.
676         * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
677         * Engine.cs: Made BuildProjectFile () load project file if it's not
678         loaded yet.
679
680 2006-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
681
682         * ConditionRelationalExpression.cs: Change comparers to case
683         insensitive.
684         * ImportCollection.cs: Add NotImplementedExceptions.
685         * BuildPropertyGroup.cs: Reformatted a bit.
686         * BuildProperty.cs: The same.
687         * Project.cs: Moved evaluation of imports before evaluation of
688         properties. This may "work" until importing projects is redesigned but
689         probably isn't correct.
690
691 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
692
693         * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
694         (like comments)
695         * BuildItemGroup.cs: Change return to continue.
696
697 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
698
699         * ConditionParser.cs: Copyright note.
700         * ExpressionCollection.cs: Fixed arrays passing.
701
702 2006-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
703
704         * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
705         Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
706         BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
707         TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
708
709 2006-06-25  Marek Sieradzki  <marek.sieradzki@gmail.com>
710
711         * Token.cs: Changed names: removed "than".
712         * ConditionRelationalExpression.cs: Added.
713         * ConditionFactorExpression.cs: Added.
714         * BuildItemGroup.cs: Changed Condition property return value to return
715         String.Empty instead of null.
716         * ConditionParser.cs: Added support for parsing relational expressions
717         and factors.
718         * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
719         abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
720         and CanEvaluateToBool (), CanEvaluateToNumber () and
721         CanEvaluateToString ().
722         * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
723         appropriately to ConditionExpression base class.
724         * ConditionTokenizer.cs: Added null check and changed names in enums:
725         removed "than".
726         * ConditionNotExpression.cs: Added.
727         * BatchingImpl.cs: Changed to use BoolEvaluate ().
728         * Project.cs: Added checks for condition.
729
730 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
731
732         * ConditionalTokenizer.cs, ConditionalExpression.cs,
733         ConditionalParser.cs: Changed name,
734         removed -al.
735         * ConditionExpression.cs: Added Evaluate ().
736         * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
737         * BatchingImpl.cs: Added check if task should be executed.
738
739 2006-06-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
740
741         * UsingTask.cs: Changed properties to return null on empty attribute.
742         * UsingTaskCollection.cs: Added object to SyncRoot.
743         * BuildPropertyGroup.cs: Added NotImplementedException throwing.
744
745 2006-06-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
746
747         * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
748         BuildPropertyGroupCollection.cs: Fixed to match the tests.
749
750 2006-05-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
751
752         * Utilities.cs: Implemented Escape ().
753         * BuildItem.cs: Added null checks.
754         * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
755         * Project.cs: Commented out redundant Evaluate ().
756         * BuildChoose.cs: Minor changes.
757
758 2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
759
760         * Token: Added new few missing tokens.
761         * Target.cs, Project.cs: Patch from Matthew Metnesky.
762         * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
763         ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
764         ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
765         LiteralTokenizer.cs:
766         Removed literal expression parsing based on tokenizer and
767         parser. It needs to be done by regex.
768         
769         Moved tokenizer to ConditionalTokenizer.cs.
770
771 2006-05-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
772
773         * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
774         ItemReference.cs, PropertyReference.cs: Changed name of *Reference
775         methods converting reference to string from ToString () to
776         ConvertToString () to avoid mistakes like using ToString () provided
777         by default.
778
779 2006-05-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
780
781         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
782         Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
783         PropertyReference.cs, BuildProperty.cs: Changed Expression to
784         OldExpression and changed To* functions to one ConvertTo ().
785         * TaskEngine.cs: Fixed PublishOutput ().
786         * OldExpression.cs: Added. It will be temporarily used before
787         LiteralExpression will be written using Tokenizer.
788         * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
789         ExpressionParseException.cs, LiteralExpression.cs: Added.
790
791 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
792
793         * ImportedProject.cs: Removed warning.
794         * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
795         default tasks.
796
797 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
798
799         * Project.cs: Removed unnecessary variable.
800         * Engine.cs: Added fixme.
801
802 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
803
804         * BuildItem.cs: Moved checking if metadata name is reserved to internal
805         class (Mono.XBuild.Utilities.ReservedNameUtils).
806                 
807 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
808
809         * BuildTask.cs: Removed unnecessary variable.
810         * Engine.cs: Added logging of the build start.
811         * Project.cs: Removed unnecessary variable.
812
813 2006-04-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
814
815         * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
816
817 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
818
819         * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
820
821 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
822         
823         * BuildItem.cs: Fix typo?
824
825 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
826
827         * InternalLoggerException.cs, InvalidProjectFileException.cs,
828         Engine.cs, Project.cs: Coding style fixes.
829
830 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
831         
832         * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
833
834 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
835         
836         * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
837         to pass tests. Wrote serialization constructor.
838         * Engine.cs, Project.cs: Global engine and project unloading, test and
839         formatting fixes.
840
841 2006-03-28  Marek Sieradzki  <marek.sieradzki@gmail.com>
842
843         * UsingTask.cs: Formatting changes.
844
845 2006-03-27  Crestez Leonard  <cdleonard@gmail.com>
846
847         * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
848         to lists instead of hashtables.
849         * Import.cs: Cleaned up, moved importing from Project.cs
850         * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
851         * Engine.cs: Cleaned up properties.
852         * Project.cs: Moved importing to Import.cs, cleaned up properties,
853         Separated evaluation and loading.
854         
855 2006-03-21  Crestez Leonard  <cdleonard@gmail.com>
856
857         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
858         BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
859         Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
860         binding and evaluation, merge xml binding in constructors.
861         * DirectoryScanner.cs: Includes CAN be empty.
862         * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
863         * ConsoleLogger.cs: Fix compilation warning.
864
865 2006-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
866
867         * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
868
869 2006-03-18  Marek Sieradzki  <marek.sieradzki@gmail.com> 
870
871         * Engine.cs: API cleanup.
872
873 2006-03-18  Crestez Leonard  <cdleonard@gmail.com>
874
875         * Project.cs: Cleaned up add.
876         * Expression.cs: Hacked to transform \ and / to path separators.
877         * BuildPropertyGroup.cs: Small cleanup.
878         * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
879         reference.
880         
881 2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com> 
882
883         * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
884         * BuildItem.cs: Updated for new API and fixed crashing on non-existent
885         files.
886         * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
887         BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
888         Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
889         API.
890         * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
891         * TaskElement.cs: Temporarily removed.
892         * Xml.cs: Changed to static.
893
894 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
895
896         * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
897         IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
898         ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
899         IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
900         ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
901         IBuildPropertyGroupCollection.cs: Removed.
902
903 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com> 
904
905         * BuildItem.cs: Removed IBuildItem references.
906         * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
907         IBuildItemGroup references. Changed Evaluate to internal.
908         * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
909         reference and hidden constructors.
910         * BuildProperty.cs: Removed IBuildProperty reference.
911         * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
912         IBuildPropertyGroup references. Changed Evaluate to internal.
913         * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
914         reference and hidden constructors.
915         * ConsoleLogger.cs: Updated names of event handlers.
916         * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
917         Escape. Added UnloadAllProjects () and UnloadProject ().
918         * FileLogger.cs: Removed ApplyParameter ().
919         * GroupingCollection.cs: Hidden.
920         * InvalidProjectFileException.cs: Removed HasBeenLogged property.
921         * ItemPropertyGroupingBase.cs: Commented.
922         * ProcessingPass.cs: Hidden.
923         * Project.cs: Removed IProject reference. Changed CurrentEncoding to
924         Encoding.
925         * Target.cs: Removed ITarget reference.
926         * TargetCollection.cs: Removed ITargetCollection reference.
927         * TaskElement.cs: Removed ITaskElement reference.
928         * TaskEngineAssemblyResolver.cs: Hidden.
929         * Utilities.cs: Made static class, removed CheckPath (),
930         ValidateCulture (), GetSupportedCultures () and added Escape ().
931
932 2006-02-24  Marek Sieradzki <marek.sieradzki@gmail.com> 
933
934         * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
935         API.
936
937 2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
938
939         * Project.cs: Added MonoTODO attributes.
940         * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
941         ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
942         IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
943         BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
944         SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
945         BuildItemGroup.cs, InvalidProjectFileException.cs,
946         BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
947         Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
948         PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
949         ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
950         IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
951         IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
952         ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
953         ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
954         IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
955         IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
956         BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
957         ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
958
959 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
960
961         * TaskDatabase.cs: Change Shared to Framework.
962         * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
963         CaseInsensitiveHashCodeProvider
964
965 2005-09-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
966
967         * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
968         * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
969         property.
970
971 2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
972
973         * InternalLoggerException.cs: Changed protected fields to private.
974
975 2005-09-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
976
977         * Engine.cs: Added check for globalProperties.
978         * Project.cs: Added using path from importedProject.FullFileName when
979         adding UsingTask elements.
980
981 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
982
983         * TaskElement.cs: Changed ReflectedType to PropertyType.
984         * ChangeType.cs (TransformToString): Changed to pass proper Type to
985         TemporaryTransform. 
986
987 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
988
989         * BuildPropertyGroup.cs: Added check for PropertyType when adding a
990         new property.
991         * BuildProperty.cs: Organized PropertyType enum.
992         * Engine.cs: Added setting CommandLine PropertyType of global
993         properties.
994
995 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
996
997         * InvalidProjectFileException.cs: Changed Message property.
998         * ChangeType.cs (TransformToString): Added separator between items.
999         * TaskEngineAssemblyResolver.cs: Formatting.
1000
1001 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
1002
1003         * DirectoryScanner.cs: Added.
1004         * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1005         * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1006         * Project.cs: Removed Evalute* ().
1007
1008 2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
1009
1010         * Target.cs: Formatting.
1011         * Expression.cs: Added check if array == null.
1012         * BuildItem.cs: Removed 'break' to remove warnings.
1013         * ConsoleLogger.cs: Formatting.
1014         * Engine.cs: Added handling of default target(s).
1015         * Project.cs: Added handling of default target(s).
1016
1017 2005-08-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
1018
1019         * TaskElement.cs: Added check for parameters.
1020         * Target.cs: Added logging of target skipping.
1021         * Expression.cs: Changed returning object[] to string[], bool[]... in
1022         ToArray ().
1023         * ItemReference.cs: Fixed for item references without custom
1024         separators.
1025         * BatchingImpl.cs: Added real inputs/outputs checking.
1026         * Engine.cs: Moved global properties setting.
1027         * Project.cs: Moved global properties setting.
1028
1029 2005-08-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
1030
1031         * Target.cs: Added checks for target existence.
1032         * BuildItemGroup.cs: Changed to use transforms.
1033         * MetadataReference.cs: Wrote real implementation.
1034         * ItemReference.cs: Rewritten to use transforms.
1035         * BuildItem.cs: Changes for transforms and metadata.
1036         * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1037         formatting.
1038         * Project.cs: Fixed project importing.
1039         * ImportedProject.cs: Changed to throw exceptions instead of returning
1040         bool.
1041
1042 2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
1043
1044         * Engine.cs: Removed FIXME.
1045         * Project.cs: Splitted ProcessElements and added project importing.
1046         * ImportedProject.cs: Rewritten.
1047
1048 2005-08-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
1049
1050         * TaskElement.cs: Added getting of objects of every type.
1051         * BuildItemGroup.cs: Added ToITaskItemArray ().
1052         * Expression.cs: Implemented part that is not using metadata.
1053         * ItemReference.cs: Implemented parsing item references. Need to fix
1054         validity checking.
1055         * BuildItem.cs: Fixed ToITaskItem ().
1056         * PropertyReference.cs: Implemented parsing property references. This
1057         also needs validity checking.
1058
1059 2005-08-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
1060
1061         * TaskElement.cs: Added Output element handling.
1062         * Target.cs: Cleaned up.
1063         * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1064         * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1065         ItemReference.cs, ChangeType.cs: Added.
1066         * BuildItem.cs: Added creating BuildItem from TaskItem.
1067         * BuildPropertyGroup.cs: Small changes.
1068         * BatchingImpl.cs: Fixed to return real task execution result.
1069         * BuildProperty.cs: Fixed FinalValue property.
1070         * Engine.cs: Reformatted logging.
1071         * Project.cs: Added check to EvaluateProperty.
1072
1073 2005-08-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
1074
1075         * TaskElement.cs: Added part of execution engine.
1076         * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1077         * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1078         * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1079         * BuildItem.cs: Added handling of built-in metadata and referencing
1080         Items by name not FullName.
1081         * BatchingImpl.cs: Added temporary task "batching".
1082         * ConsoleLogger.cs: Added temporary workaround to not show sender.
1083         * Project.cs: Added Evaluate. It will be moved to separate class.
1084
1085 2005-08-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
1086
1087         * EventSource.cs, Engine.cs: Added CriticalEvents.
1088         * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1089         Project.cs: Added some support for items.
1090         * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1091
1092 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
1093
1094         * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1095         of properties.
1096
1097 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
1098
1099         * BatchingImpl.cs: Added.
1100         * BuildWhen.cs, BuildEngine.cs, Target.cs,
1101         BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1102         BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1103         TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1104         GroupingCollection.cs: Updated.
1105
1106 2005-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
1107
1108         * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1109         BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1110         BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1111         BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1112         EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1113         GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1114         InternalLoggerException.cs, InvalidProjectFileException.cs,
1115         ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1116         ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1117         TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1118         TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1119         Initial check-in of implementations.
1120
1121 2005-07-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
1122
1123         * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1124         IBuildItemGroupCollection.cs, IBuildProperty.cs,
1125         IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1126         ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1127         IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1128         IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1129         Initial check-in of interfaces and a syntax file, real classes are
1130         changing a lot so I'll wait a moment with checking them in.