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