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