2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / ChangeLog
1 2006-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
2
3         * ConditionRelationalExpression.cs: Change comparers to case
4         insensitive.
5         * ImportCollection.cs: Add NotImplementedExceptions.
6         * BuildPropertyGroup.cs: Reformatted a bit.
7         * BuildProperty.cs: The same.
8         * Project.cs: Moved evaluation of imports before evaluation of
9         properties. This may "work" until importing projects is redesigned but
10         probably isn't correct.
11
12 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
13
14         * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
15         (like comments)
16         * BuildItemGroup.cs: Change return to continue.
17
18 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
19
20         * ConditionParser.cs: Copyright note.
21         * ExpressionCollection.cs: Fixed arrays passing.
22
23 2006-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
24
25         * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
26         Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
27         BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
28         TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
29
30 2006-06-25  Marek Sieradzki  <marek.sieradzki@gmail.com>
31
32         * Token.cs: Changed names: removed "than".
33         * ConditionRelationalExpression.cs: Added.
34         * ConditionFactorExpression.cs: Added.
35         * BuildItemGroup.cs: Changed Condition property return value to return
36         String.Empty instead of null.
37         * ConditionParser.cs: Added support for parsing relational expressions
38         and factors.
39         * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
40         abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
41         and CanEvaluateToBool (), CanEvaluateToNumber () and
42         CanEvaluateToString ().
43         * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
44         appropriately to ConditionExpression base class.
45         * ConditionTokenizer.cs: Added null check and changed names in enums:
46         removed "than".
47         * ConditionNotExpression.cs: Added.
48         * BatchingImpl.cs: Changed to use BoolEvaluate ().
49         * Project.cs: Added checks for condition.
50
51 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
52
53         * ConditionalTokenizer.cs, ConditionalExpression.cs,
54         ConditionalParser.cs: Changed name,
55         removed -al.
56         * ConditionExpression.cs: Added Evaluate ().
57         * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
58         * BatchingImpl.cs: Added check if task should be executed.
59
60 2006-06-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
61
62         * UsingTask.cs: Changed properties to return null on empty attribute.
63         * UsingTaskCollection.cs: Added object to SyncRoot.
64         * BuildPropertyGroup.cs: Added NotImplementedException throwing.
65
66 2006-06-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
67
68         * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
69         BuildPropertyGroupCollection.cs: Fixed to match the tests.
70
71 2006-05-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
72
73         * Utilities.cs: Implemented Escape ().
74         * BuildItem.cs: Added null checks.
75         * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
76         * Project.cs: Commented out redundant Evaluate ().
77         * BuildChoose.cs: Minor changes.
78
79 2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
80
81         * Token: Added new few missing tokens.
82         * Target.cs, Project.cs: Patch from Matthew Metnesky.
83         * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
84         ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
85         ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
86         LiteralTokenizer.cs:
87         Removed literal expression parsing based on tokenizer and
88         parser. It needs to be done by regex.
89         
90         Moved tokenizer to ConditionalTokenizer.cs.
91
92 2006-05-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
93
94         * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
95         ItemReference.cs, PropertyReference.cs: Changed name of *Reference
96         methods converting reference to string from ToString () to
97         ConvertToString () to avoid mistakes like using ToString () provided
98         by default.
99
100 2006-05-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
101
102         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
103         Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
104         PropertyReference.cs, BuildProperty.cs: Changed Expression to
105         OldExpression and changed To* functions to one ConvertTo ().
106         * TaskEngine.cs: Fixed PublishOutput ().
107         * OldExpression.cs: Added. It will be temporarily used before
108         LiteralExpression will be written using Tokenizer.
109         * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
110         ExpressionParseException.cs, LiteralExpression.cs: Added.
111
112 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
113
114         * ImportedProject.cs: Removed warning.
115         * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
116         default tasks.
117
118 2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
119
120         * Project.cs: Removed unnecessary variable.
121         * Engine.cs: Added fixme.
122
123 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
124
125         * BuildItem.cs: Moved checking if metadata name is reserved to internal
126         class (Mono.XBuild.Utilities.ReservedNameUtils).
127                 
128 2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
129
130         * BuildTask.cs: Removed unnecessary variable.
131         * Engine.cs: Added logging of the build start.
132         * Project.cs: Removed unnecessary variable.
133
134 2006-04-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
135
136         * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
137
138 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
139
140         * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
141
142 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
143         
144         * BuildItem.cs: Fix typo?
145
146 2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
147
148         * InternalLoggerException.cs, InvalidProjectFileException.cs,
149         Engine.cs, Project.cs: Coding style fixes.
150
151 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
152         
153         * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
154
155 2006-03-29  Crestez Leonard  <cdleonard@gmail.com>
156         
157         * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
158         to pass tests. Wrote serialization constructor.
159         * Engine.cs, Project.cs: Global engine and project unloading, test and
160         formatting fixes.
161
162 2006-03-28  Marek Sieradzki  <marek.sieradzki@gmail.com>
163
164         * UsingTask.cs: Formatting changes.
165
166 2006-03-27  Crestez Leonard  <cdleonard@gmail.com>
167
168         * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
169         to lists instead of hashtables.
170         * Import.cs: Cleaned up, moved importing from Project.cs
171         * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
172         * Engine.cs: Cleaned up properties.
173         * Project.cs: Moved importing to Import.cs, cleaned up properties,
174         Separated evaluation and loading.
175         
176 2006-03-21  Crestez Leonard  <cdleonard@gmail.com>
177
178         * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
179         BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
180         Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
181         binding and evaluation, merge xml binding in constructors.
182         * DirectoryScanner.cs: Includes CAN be empty.
183         * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
184         * ConsoleLogger.cs: Fix compilation warning.
185
186 2006-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
187
188         * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
189
190 2006-03-18  Marek Sieradzki  <marek.sieradzki@gmail.com> 
191
192         * Engine.cs: API cleanup.
193
194 2006-03-18  Crestez Leonard  <cdleonard@gmail.com>
195
196         * Project.cs: Cleaned up add.
197         * Expression.cs: Hacked to transform \ and / to path separators.
198         * BuildPropertyGroup.cs: Small cleanup.
199         * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
200         reference.
201         
202 2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com> 
203
204         * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
205         * BuildItem.cs: Updated for new API and fixed crashing on non-existent
206         files.
207         * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
208         BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
209         Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
210         API.
211         * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
212         * TaskElement.cs: Temporarily removed.
213         * Xml.cs: Changed to static.
214
215 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>
216
217         * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
218         IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
219         ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
220         IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
221         ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
222         IBuildPropertyGroupCollection.cs: Removed.
223
224 2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com> 
225
226         * BuildItem.cs: Removed IBuildItem references.
227         * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
228         IBuildItemGroup references. Changed Evaluate to internal.
229         * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
230         reference and hidden constructors.
231         * BuildProperty.cs: Removed IBuildProperty reference.
232         * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
233         IBuildPropertyGroup references. Changed Evaluate to internal.
234         * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
235         reference and hidden constructors.
236         * ConsoleLogger.cs: Updated names of event handlers.
237         * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
238         Escape. Added UnloadAllProjects () and UnloadProject ().
239         * FileLogger.cs: Removed ApplyParameter ().
240         * GroupingCollection.cs: Hidden.
241         * InvalidProjectFileException.cs: Removed HasBeenLogged property.
242         * ItemPropertyGroupingBase.cs: Commented.
243         * ProcessingPass.cs: Hidden.
244         * Project.cs: Removed IProject reference. Changed CurrentEncoding to
245         Encoding.
246         * Target.cs: Removed ITarget reference.
247         * TargetCollection.cs: Removed ITargetCollection reference.
248         * TaskElement.cs: Removed ITaskElement reference.
249         * TaskEngineAssemblyResolver.cs: Hidden.
250         * Utilities.cs: Made static class, removed CheckPath (),
251         ValidateCulture (), GetSupportedCultures () and added Escape ().
252
253 2006-02-24  Marek Sieradzki <marek.sieradzki@gmail.com> 
254
255         * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
256         API.
257
258 2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
259
260         * Project.cs: Added MonoTODO attributes.
261         * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
262         ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
263         IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
264         BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
265         SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
266         BuildItemGroup.cs, InvalidProjectFileException.cs,
267         BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
268         Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
269         PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
270         ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
271         IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
272         IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
273         ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
274         ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
275         IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
276         IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
277         BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
278         ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
279
280 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
281
282         * TaskDatabase.cs: Change Shared to Framework.
283         * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
284         CaseInsensitiveHashCodeProvider
285
286 2005-09-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
287
288         * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
289         * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
290         property.
291
292 2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
293
294         * InternalLoggerException.cs: Changed protected fields to private.
295
296 2005-09-03  Marek Sieradzki  <marek.sieradzki@gmail.com>
297
298         * Engine.cs: Added check for globalProperties.
299         * Project.cs: Added using path from importedProject.FullFileName when
300         adding UsingTask elements.
301
302 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
303
304         * TaskElement.cs: Changed ReflectedType to PropertyType.
305         * ChangeType.cs (TransformToString): Changed to pass proper Type to
306         TemporaryTransform. 
307
308 2005-09-01  Marek Sieradzki  <marek.sieradzki@gmail.com>
309
310         * BuildPropertyGroup.cs: Added check for PropertyType when adding a
311         new property.
312         * BuildProperty.cs: Organized PropertyType enum.
313         * Engine.cs: Added setting CommandLine PropertyType of global
314         properties.
315
316 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
317
318         * InvalidProjectFileException.cs: Changed Message property.
319         * ChangeType.cs (TransformToString): Added separator between items.
320         * TaskEngineAssemblyResolver.cs: Formatting.
321
322 2005-08-31  Marek Sieradzki  <marek.sieradzki@gmail.com>
323
324         * DirectoryScanner.cs: Added.
325         * BuildItem.cs: Moved file scanning code to DirectoryScanner.
326         * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
327         * Project.cs: Removed Evalute* ().
328
329 2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
330
331         * Target.cs: Formatting.
332         * Expression.cs: Added check if array == null.
333         * BuildItem.cs: Removed 'break' to remove warnings.
334         * ConsoleLogger.cs: Formatting.
335         * Engine.cs: Added handling of default target(s).
336         * Project.cs: Added handling of default target(s).
337
338 2005-08-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
339
340         * TaskElement.cs: Added check for parameters.
341         * Target.cs: Added logging of target skipping.
342         * Expression.cs: Changed returning object[] to string[], bool[]... in
343         ToArray ().
344         * ItemReference.cs: Fixed for item references without custom
345         separators.
346         * BatchingImpl.cs: Added real inputs/outputs checking.
347         * Engine.cs: Moved global properties setting.
348         * Project.cs: Moved global properties setting.
349
350 2005-08-27  Marek Sieradzki  <marek.sieradzki@gmail.com>
351
352         * Target.cs: Added checks for target existence.
353         * BuildItemGroup.cs: Changed to use transforms.
354         * MetadataReference.cs: Wrote real implementation.
355         * ItemReference.cs: Rewritten to use transforms.
356         * BuildItem.cs: Changes for transforms and metadata.
357         * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
358         formatting.
359         * Project.cs: Fixed project importing.
360         * ImportedProject.cs: Changed to throw exceptions instead of returning
361         bool.
362
363 2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
364
365         * Engine.cs: Removed FIXME.
366         * Project.cs: Splitted ProcessElements and added project importing.
367         * ImportedProject.cs: Rewritten.
368
369 2005-08-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
370
371         * TaskElement.cs: Added getting of objects of every type.
372         * BuildItemGroup.cs: Added ToITaskItemArray ().
373         * Expression.cs: Implemented part that is not using metadata.
374         * ItemReference.cs: Implemented parsing item references. Need to fix
375         validity checking.
376         * BuildItem.cs: Fixed ToITaskItem ().
377         * PropertyReference.cs: Implemented parsing property references. This
378         also needs validity checking.
379
380 2005-08-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
381
382         * TaskElement.cs: Added Output element handling.
383         * Target.cs: Cleaned up.
384         * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
385         * Expression.cs, MetadataReference.cs, PropertyReference.cs,
386         ItemReference.cs, ChangeType.cs: Added.
387         * BuildItem.cs: Added creating BuildItem from TaskItem.
388         * BuildPropertyGroup.cs: Small changes.
389         * BatchingImpl.cs: Fixed to return real task execution result.
390         * BuildProperty.cs: Fixed FinalValue property.
391         * Engine.cs: Reformatted logging.
392         * Project.cs: Added check to EvaluateProperty.
393
394 2005-08-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
395
396         * TaskElement.cs: Added part of execution engine.
397         * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
398         * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
399         * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
400         * BuildItem.cs: Added handling of built-in metadata and referencing
401         Items by name not FullName.
402         * BatchingImpl.cs: Added temporary task "batching".
403         * ConsoleLogger.cs: Added temporary workaround to not show sender.
404         * Project.cs: Added Evaluate. It will be moved to separate class.
405
406 2005-08-14  Marek Sieradzki  <marek.sieradzki@gmail.com>
407
408         * EventSource.cs, Engine.cs: Added CriticalEvents.
409         * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
410         Project.cs: Added some support for items.
411         * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
412
413 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
414
415         * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
416         of properties.
417
418 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
419
420         * BatchingImpl.cs: Added.
421         * BuildWhen.cs, BuildEngine.cs, Target.cs,
422         BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
423         BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
424         TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
425         GroupingCollection.cs: Updated.
426
427 2005-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
428
429         * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
430         BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
431         BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
432         BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
433         EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
434         GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
435         InternalLoggerException.cs, InvalidProjectFileException.cs,
436         ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
437         ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
438         TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
439         TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
440         Initial check-in of implementations.
441
442 2005-07-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
443
444         * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
445         IBuildItemGroupCollection.cs, IBuildProperty.cs,
446         IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
447         ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
448         IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
449         IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
450         Initial check-in of interfaces and a syntax file, real classes are
451         changing a lot so I'll wait a moment with checking them in.