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