d34633587f0dc9f44f8595a357adb06489db197a
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / ChangeLog
1 2007-01-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
2
3         * BuildWhen.cs, BuildPropertyGroupCollection.cs,
4         BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
5         GroupingCollection doesn't need Project reference.
6
7         * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
8
9         * BuildItemGroup.cs: Added new readOnly parameter to ctor.
10         (Project.EvaluatedItems is a read only item group.)
11         (ReplaceWith): Added.
12
13         * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
14         global property group causes reevaluation of its project.
15
16         * Project.cs: ProcessXml () is internal and can be "safely" invoked by
17         other classes.
18
19         * OldExpression.cs: Removed.
20
21         * BuildProperty.cs (Evaluate): Simplified.
22
23         * ChangeType.cs (TemporaryTransform): Simplified.
24
25         * BuildItem.cs: There are now 3 types of build items: from XML, having
26         parent from XML, virtual. Added SplitParentItem ().
27
28 2006-12-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
29
30         * Utilities.cs: Added Unescape ().
31
32         * BuildItemGroup.cs, BuildItem.cs: Pass null project to
33         BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
34         groups (at the moment just unescape).
35
36         * Expression.cs (CopyToExpressionList): Unescape strings.
37
38 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
39
40         * Target.cs (ctor): Added ImportedProject argument and removed
41         set_IsImported.
42         (AddNewTask): Implemented.
43
44         * TargetCollection.cs (AddNewTarget): Implemented.
45
46         * Project.cs: Track API changes.
47
48 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
49
50         * Target.cs (Build): Don't throw anything in case of error, just
51         return false.
52
53         * BuildItemGroup.cs (set_Condition): Throw an exception if group is
54         not from XML.
55
56         * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
57         SetMetadata ().
58
59         * BuildProperty.cs (ToString): Throw an exception if property is not
60         from XML.
61         (op_Explicit): Added a null check.
62
63         * Engine.cs: Better error message.
64
65         * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
66         IndexOutOfRangeException.
67
68         * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
69         (MarkProjectAsDirty): Set time.
70
71 2006-12-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
72
73         * BuildItemGroup.cs (Clone): Throw exception.
74
75         * Project.cs (Load): Throw InvalidProjectFileException if anything
76         goes wrong.
77
78 2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
79
80         * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
81         and ConvertToITaskItemArray ().
82
83 2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
84
85         * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
86         classes that were public in Beta 2 and aren't used.
87
88         * Expression.cs: Added replacement for parsing expressions char by
89         char. It uses regexes to find item/property/metadata references in
90         given text.
91
92         * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
93         Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
94         BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
95
96         * ConditionRelationalExpression.cs: Formatting.
97
98         * OldExpression.cs: Commented everything.
99
100         * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
101         parsing to Expression.
102
103         * BuildItem.cs: Check if project is from XML in set_Condition and
104         set_Exclude.
105
106         * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
107         Project.ctor.
108
109         * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
110         can evaluate expression in CanEvaluateToBool ().
111
112 2006-12-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
113
114         * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
115         which item group is imported.
116
117         * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
118
119 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
120
121         * BuildWhen.cs, BuildPropertyGroupCollection.cs,
122         BuildItemGroupCollection.cs: Little changes related to
123         GroupingCollection.
124
125         * ImportCollection.cs: Use GroupingCollection not an internal list.
126
127         * Import.cs (Evaluate): Split to functions and check if
128         EvaluatedProjectPath is empty.
129
130         * GroupingCollection.cs, Project.cs: Move evaluation to
131         GroupingCollection. Change algorithm to use 2 passes: first for property
132         groups and imports and second for item groups.
133
134 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
135
136         * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
137         BuildItemGroup> not IDictionary.
138
139         * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
140         evaluated to false because we want to add every item to
141         Project.EvaluatedItemsByNameIgnoringCondition.
142
143         * Project.cs (Build): Don't throw an exception just return false.
144         (GetEvaluatedProperty): Avoid NullReferenceException.
145         (SetProjectExtensions): Implemented.
146
147 2006-12-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
148
149         * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
150
151         * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
152         BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
153         Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
154         
155         * ImportCollection.cs: Added a note.
156
157 2006-12-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
158
159         * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
160
161         * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
162         (UsingTask[] array, int index)
163
164         * TaskEngine.cs: Reformatted PublishOutput () and added copying of
165         items to Project.EvaluatedItems in PublishItemGroup ();
166
167         * BuildItemGroup.cs: Added [MonoTODO].
168
169         * UsingTask.cs: Used expression for AssemblyFile to get around
170         problems with '\' and '/'.
171
172         * BuildItem.cs (ctor): Added null checks.
173         (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
174         (SetMetadata): Don't escape evaluatedMetadata and escape
175         unevaluatedMetadata only when treatPropertyValueAsLiteral.
176
177         * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
178         FromXml () instead of null checks.
179         (SetProperty): Escape propertyValue when it is literal.
180
181         * BuildProperty.cs: Changed exception message.
182
183         * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
184         properties.
185         (GetProjectExtensions): Implemented.
186
187 2006-12-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
188
189         * BuildTask.cs: Remove [MonoTODO], add exception throwing in
190         GetParameterValue (), use expressions in ContinueOnError.
191         * ConditionFactorException.cs: Throw InvalidProjectFileException ()
192         instead of InvalidOperationException ().
193         * ImportCollection.cs: Implement CopyTo ().
194         * Target.cs: Remove redundant variables (XmlAttributes), return
195         String.Empty in DependsOnTargets, add a null check in RemoveTask ().
196         * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
197         * Import.cs: Throw an exception when file does not exist.
198         * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
199         * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
200         need to treat item as a token probably
201
202 2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>
203
204         * Import.cs: Check for project.FullFileName (Path.DirectoryName would
205         throw an exception).
206         * BuildItemGroupCollection.cs: Changed exception types.
207
208 2006-10-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
209
210         * Engine.cs: Removed redundant cast.
211         * BuildWhen.cs:
212         * UsingTaskCollection.cs:
213         * ImportCollection:
214         * BuildChoose.cs:
215         * BuildItem.cs:
216         * TargetCollection.cs: Comment unused variable.
217         * ConditionTokenizer.cs: Simplified checking if current token is a
218         keyword.
219         * Target.cs: Removed old code.
220
221 2006-10-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
222
223         * Target.cs: Changed "" to String.Empty.
224         * TaskEngine.cs: Don't try to convert a parameter to specific type if
225         string was evaluated to String.Empty.
226         * InternalLoggerException.cs:
227         * InvalidProjectFileException.cs: Added LinkDemand before
228         GetObjectData ().
229         * ConsoleLogger.cs: Changed "" to String.Empty.
230         * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
231         with change to generics).
232         * Project.cs: Made Build () throw more meaningful exception.
233
234 2006-10-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
235
236         * Target.cs: Reformatted.
237         * TaskEngine.cs: Removed redundant code.
238         * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
239         * Engine.cs: Made BuildProjectFile () load project file if it's not
240         loaded yet.
241
242 2006-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
243
244         * ConditionRelationalExpression.cs: Change comparers to case
245         insensitive.
246         * ImportCollection.cs: Add NotImplementedExceptions.
247         * BuildPropertyGroup.cs: Reformatted a bit.
248         * BuildProperty.cs: The same.
249         * Project.cs: Moved evaluation of imports before evaluation of
250         properties. This may "work" until importing projects is redesigned but
251         probably isn't correct.
252
253 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
254
255         * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
256         (like comments)
257         * BuildItemGroup.cs: Change return to continue.
258
259 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
260
261         * ConditionParser.cs: Copyright note.
262         * ExpressionCollection.cs: Fixed arrays passing.
263
264 2006-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
265
266         * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
267         Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
268         BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
269         TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
270
271 2006-06-25  Marek Sieradzki  <marek.sieradzki@gmail.com>
272
273         * Token.cs: Changed names: removed "than".
274         * ConditionRelationalExpression.cs: Added.
275         * ConditionFactorExpression.cs: Added.
276         * BuildItemGroup.cs: Changed Condition property return value to return
277         String.Empty instead of null.
278         * ConditionParser.cs: Added support for parsing relational expressions
279         and factors.
280         * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
281         abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
282         and CanEvaluateToBool (), CanEvaluateToNumber () and
283         CanEvaluateToString ().
284         * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
285         appropriately to ConditionExpression base class.
286         * ConditionTokenizer.cs: Added null check and changed names in enums:
287         removed "than".
288         * ConditionNotExpression.cs: Added.
289         * BatchingImpl.cs: Changed to use BoolEvaluate ().
290         * Project.cs: Added checks for condition.
291
292 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
293
294         * ConditionalTokenizer.cs, ConditionalExpression.cs,
295         ConditionalParser.cs: Changed name,
296         removed -al.
297         * ConditionExpression.cs: Added Evaluate ().
298         * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
299         * BatchingImpl.cs: Added check if task should be executed.
300
301 2006-06-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
302
303         * UsingTask.cs: Changed properties to return null on empty attribute.
304         * UsingTaskCollection.cs: Added object to SyncRoot.
305         * BuildPropertyGroup.cs: Added NotImplementedException throwing.
306
307 2006-06-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
308
309         * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
310         BuildPropertyGroupCollection.cs: Fixed to match the tests.
311
312 2006-05-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
313
314         * Utilities.cs: Implemented Escape ().
315         * BuildItem.cs: Added null checks.
316         * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
317         * Project.cs: Commented out redundant Evaluate ().
318         * BuildChoose.cs: Minor changes.
319
320 2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
321
322         * Token: Added new few missing tokens.
323         * Target.cs, Project.cs: Patch from Matthew Metnesky.
324         * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
325         ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
326         ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
327         LiteralTokenizer.cs:
328         Removed literal expression parsing based on tokenizer and
329         parser. It needs to be done by regex.
330         
331         Moved tokenizer to ConditionalTokenizer.cs.
332
333 2006-05-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
334
335         * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
336         ItemReference.cs, PropertyReference.cs: Changed name of *Reference
337         methods converting reference to string from ToString () to
338         ConvertToString () to avoid mistakes like using ToString () provided
339         by default.
340
341 2006-05-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
342
343         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
344         Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
345         PropertyReference.cs, BuildProperty.cs: Changed Expression to
346         OldExpression and changed To* functions to one ConvertTo ().
347         * TaskEngine.cs: Fixed PublishOutput ().
348         * OldExpression.cs: Added. It will be temporarily used before
349         LiteralExpression will be written using Tokenizer.
350         * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
351         ExpressionParseException.cs, LiteralExpression.cs: Added.
352
353 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
354
355         * ImportedProject.cs: Removed warning.
356         * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
357         default tasks.
358
359 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
360
361         * Project.cs: Removed unnecessary variable.
362         * Engine.cs: Added fixme.
363
364 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
365
366         * BuildItem.cs: Moved checking if metadata name is reserved to internal
367         class (Mono.XBuild.Utilities.ReservedNameUtils).
368                 
369 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
370
371         * BuildTask.cs: Removed unnecessary variable.
372         * Engine.cs: Added logging of the build start.
373         * Project.cs: Removed unnecessary variable.
374
375 2006-04-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
376
377         * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
378
379 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
380
381         * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
382
383 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
384         
385         * BuildItem.cs: Fix typo?
386
387 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
388
389         * InternalLoggerException.cs, InvalidProjectFileException.cs,
390         Engine.cs, Project.cs: Coding style fixes.
391
392 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
393         
394         * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
395
396 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
397         
398         * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
399         to pass tests. Wrote serialization constructor.
400         * Engine.cs, Project.cs: Global engine and project unloading, test and
401         formatting fixes.
402
403 2006-03-28  Marek Sieradzki  <marek.sieradzki@gmail.com>
404
405         * UsingTask.cs: Formatting changes.
406
407 2006-03-27  Crestez Leonard  <cdleonard@gmail.com>
408
409         * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
410         to lists instead of hashtables.
411         * Import.cs: Cleaned up, moved importing from Project.cs
412         * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
413         * Engine.cs: Cleaned up properties.
414         * Project.cs: Moved importing to Import.cs, cleaned up properties,
415         Separated evaluation and loading.
416         
417 2006-03-21  Crestez Leonard  <cdleonard@gmail.com>
418
419         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
420         BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
421         Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
422         binding and evaluation, merge xml binding in constructors.
423         * DirectoryScanner.cs: Includes CAN be empty.
424         * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
425         * ConsoleLogger.cs: Fix compilation warning.
426
427 2006-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
428
429         * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
430
431 2006-03-18  Marek Sieradzki  <marek.sieradzki@gmail.com> 
432
433         * Engine.cs: API cleanup.
434
435 2006-03-18  Crestez Leonard  <cdleonard@gmail.com>
436
437         * Project.cs: Cleaned up add.
438         * Expression.cs: Hacked to transform \ and / to path separators.
439         * BuildPropertyGroup.cs: Small cleanup.
440         * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
441         reference.
442         
443 2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com> 
444
445         * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
446         * BuildItem.cs: Updated for new API and fixed crashing on non-existent
447         files.
448         * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
449         BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
450         Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
451         API.
452         * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
453         * TaskElement.cs: Temporarily removed.
454         * Xml.cs: Changed to static.
455
456 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
457
458         * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
459         IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
460         ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
461         IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
462         ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
463         IBuildPropertyGroupCollection.cs: Removed.
464
465 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com> 
466
467         * BuildItem.cs: Removed IBuildItem references.
468         * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
469         IBuildItemGroup references. Changed Evaluate to internal.
470         * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
471         reference and hidden constructors.
472         * BuildProperty.cs: Removed IBuildProperty reference.
473         * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
474         IBuildPropertyGroup references. Changed Evaluate to internal.
475         * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
476         reference and hidden constructors.
477         * ConsoleLogger.cs: Updated names of event handlers.
478         * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
479         Escape. Added UnloadAllProjects () and UnloadProject ().
480         * FileLogger.cs: Removed ApplyParameter ().
481         * GroupingCollection.cs: Hidden.
482         * InvalidProjectFileException.cs: Removed HasBeenLogged property.
483         * ItemPropertyGroupingBase.cs: Commented.
484         * ProcessingPass.cs: Hidden.
485         * Project.cs: Removed IProject reference. Changed CurrentEncoding to
486         Encoding.
487         * Target.cs: Removed ITarget reference.
488         * TargetCollection.cs: Removed ITargetCollection reference.
489         * TaskElement.cs: Removed ITaskElement reference.
490         * TaskEngineAssemblyResolver.cs: Hidden.
491         * Utilities.cs: Made static class, removed CheckPath (),
492         ValidateCulture (), GetSupportedCultures () and added Escape ().
493
494 2006-02-24  Marek Sieradzki <marek.sieradzki@gmail.com> 
495
496         * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
497         API.
498
499 2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
500
501         * Project.cs: Added MonoTODO attributes.
502         * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
503         ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
504         IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
505         BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
506         SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
507         BuildItemGroup.cs, InvalidProjectFileException.cs,
508         BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
509         Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
510         PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
511         ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
512         IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
513         IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
514         ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
515         ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
516         IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
517         IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
518         BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
519         ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
520
521 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
522
523         * TaskDatabase.cs: Change Shared to Framework.
524         * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
525         CaseInsensitiveHashCodeProvider
526
527 2005-09-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
528
529         * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
530         * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
531         property.
532
533 2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
534
535         * InternalLoggerException.cs: Changed protected fields to private.
536
537 2005-09-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
538
539         * Engine.cs: Added check for globalProperties.
540         * Project.cs: Added using path from importedProject.FullFileName when
541         adding UsingTask elements.
542
543 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
544
545         * TaskElement.cs: Changed ReflectedType to PropertyType.
546         * ChangeType.cs (TransformToString): Changed to pass proper Type to
547         TemporaryTransform. 
548
549 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
550
551         * BuildPropertyGroup.cs: Added check for PropertyType when adding a
552         new property.
553         * BuildProperty.cs: Organized PropertyType enum.
554         * Engine.cs: Added setting CommandLine PropertyType of global
555         properties.
556
557 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
558
559         * InvalidProjectFileException.cs: Changed Message property.
560         * ChangeType.cs (TransformToString): Added separator between items.
561         * TaskEngineAssemblyResolver.cs: Formatting.
562
563 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
564
565         * DirectoryScanner.cs: Added.
566         * BuildItem.cs: Moved file scanning code to DirectoryScanner.
567         * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
568         * Project.cs: Removed Evalute* ().
569
570 2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
571
572         * Target.cs: Formatting.
573         * Expression.cs: Added check if array == null.
574         * BuildItem.cs: Removed 'break' to remove warnings.
575         * ConsoleLogger.cs: Formatting.
576         * Engine.cs: Added handling of default target(s).
577         * Project.cs: Added handling of default target(s).
578
579 2005-08-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
580
581         * TaskElement.cs: Added check for parameters.
582         * Target.cs: Added logging of target skipping.
583         * Expression.cs: Changed returning object[] to string[], bool[]... in
584         ToArray ().
585         * ItemReference.cs: Fixed for item references without custom
586         separators.
587         * BatchingImpl.cs: Added real inputs/outputs checking.
588         * Engine.cs: Moved global properties setting.
589         * Project.cs: Moved global properties setting.
590
591 2005-08-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
592
593         * Target.cs: Added checks for target existence.
594         * BuildItemGroup.cs: Changed to use transforms.
595         * MetadataReference.cs: Wrote real implementation.
596         * ItemReference.cs: Rewritten to use transforms.
597         * BuildItem.cs: Changes for transforms and metadata.
598         * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
599         formatting.
600         * Project.cs: Fixed project importing.
601         * ImportedProject.cs: Changed to throw exceptions instead of returning
602         bool.
603
604 2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
605
606         * Engine.cs: Removed FIXME.
607         * Project.cs: Splitted ProcessElements and added project importing.
608         * ImportedProject.cs: Rewritten.
609
610 2005-08-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
611
612         * TaskElement.cs: Added getting of objects of every type.
613         * BuildItemGroup.cs: Added ToITaskItemArray ().
614         * Expression.cs: Implemented part that is not using metadata.
615         * ItemReference.cs: Implemented parsing item references. Need to fix
616         validity checking.
617         * BuildItem.cs: Fixed ToITaskItem ().
618         * PropertyReference.cs: Implemented parsing property references. This
619         also needs validity checking.
620
621 2005-08-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
622
623         * TaskElement.cs: Added Output element handling.
624         * Target.cs: Cleaned up.
625         * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
626         * Expression.cs, MetadataReference.cs, PropertyReference.cs,
627         ItemReference.cs, ChangeType.cs: Added.
628         * BuildItem.cs: Added creating BuildItem from TaskItem.
629         * BuildPropertyGroup.cs: Small changes.
630         * BatchingImpl.cs: Fixed to return real task execution result.
631         * BuildProperty.cs: Fixed FinalValue property.
632         * Engine.cs: Reformatted logging.
633         * Project.cs: Added check to EvaluateProperty.
634
635 2005-08-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
636
637         * TaskElement.cs: Added part of execution engine.
638         * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
639         * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
640         * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
641         * BuildItem.cs: Added handling of built-in metadata and referencing
642         Items by name not FullName.
643         * BatchingImpl.cs: Added temporary task "batching".
644         * ConsoleLogger.cs: Added temporary workaround to not show sender.
645         * Project.cs: Added Evaluate. It will be moved to separate class.
646
647 2005-08-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
648
649         * EventSource.cs, Engine.cs: Added CriticalEvents.
650         * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
651         Project.cs: Added some support for items.
652         * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
653
654 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
655
656         * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
657         of properties.
658
659 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
660
661         * BatchingImpl.cs: Added.
662         * BuildWhen.cs, BuildEngine.cs, Target.cs,
663         BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
664         BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
665         TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
666         GroupingCollection.cs: Updated.
667
668 2005-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
669
670         * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
671         BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
672         BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
673         BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
674         EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
675         GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
676         InternalLoggerException.cs, InvalidProjectFileException.cs,
677         ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
678         ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
679         TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
680         TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
681         Initial check-in of implementations.
682
683 2005-07-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
684
685         * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
686         IBuildItemGroupCollection.cs, IBuildProperty.cs,
687         IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
688         ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
689         IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
690         IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
691         Initial check-in of interfaces and a syntax file, real classes are
692         changing a lot so I'll wait a moment with checking them in.