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