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