1 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
3 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
4 set property in persisted property group.
6 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
8 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
11 * ConsoleLogger.cs (TargetFinishedHandler)
12 (TaskFinishedHandler): Increment error count.
14 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
16 * BuildItem.cs (RemoveMetadata): Remove from XML.
17 (SetMetadata): Trigger project reevaluation.
19 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
21 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
24 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
26 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
27 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
28 BatchingImpl.cs, BuildProperty.cs: Track API changes.
30 * Expression.cs (Parse): Added allowItems parameter and made regexes
33 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
34 will try to import a.ext when given a.EXT.
36 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
38 * BuildItemGroup.cs: Store information saying what is the last item
39 group that contains build item name.
41 * Project.cs (Build): Pass empty array (build default targets).
43 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
45 * Token.cs: Commented Transform and LiteralSubExpression and added
48 * ConditionParser.cs: Removed redundant casts, rewrote
49 ParseFactorExpression () and added parsing of '!'.
51 * ConditionTokenizer.cs: Always skip whitespaces when getting next
52 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
53 Moved ReadChar () in front of all ifs.
55 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
57 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
58 from XML. (not to escape items that have parents twice).
60 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
62 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
63 (Project): Renamed to ParentProject.
66 (CopyCustomMetadata): Add null check.
68 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
69 (RemoveProperty): Added null check.
71 * TargetCollection.cs (RemoveTarget): Added null check.
73 * Engine.cs (UnloadProject): Added null check.
75 * GroupingCollection.cs (Remove): Check if removed group belongs to
78 * Project.cs (AddNewItem): Implemented.
79 (RemoveItem): Reorganized.
80 (SetProjectExtensions): Added null check.
82 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
84 * BuildItemGroup.cs (Detach): Added.
86 (RemoveItemAt): Used Detach ().
88 * BuildItem.cs: Made FromXml and HasParent internal and added
89 ParentItem and ParentItemGroup properties (internal).
92 * GroupingCollection.cs (Remove): Used Detach ().
94 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
96 (GetEvaluatedItemsByNameIgnoringCondition)
97 (GetEvaluatedItemsByName)
98 (GetEvaluatedProperty): Reevaluate if needed.
100 (RemoveAllItemGroups)
101 (RemoveAllPropertyGroups): Implemented.
102 (DoLoad): Added closing of TextReader.
104 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
106 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
107 change but just mark that it needs it.
109 * Project.cs: Reevaluate when it needs reevaluation and one of
110 Evaluated* properties is used.
112 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
114 * Target.cs: Throw an exception when <OnError> is not last element in
117 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
119 * TargetCollection.cs: If a target is already there replace it with
122 * BuildProperty.cs: Added XmlElement property.
124 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
126 * ImportCollection.cs: Don't add imports that are already added.
128 * BuildItemGroup.cs: MonoTODOs.
130 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
131 condition can't be evaluated to bool.
133 * BuildPropertyGroup.cs (Evaluate): Simplify.
135 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
137 * BuildWhen.cs: Moved BindToXml () code to ctor.
139 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
140 property needed for removing groups.
142 * Engine.cs: Added StartBuild () that logs build start when Build ()
145 * GroupingCollection.cs: Added Remove () for item and property groups.
147 * Project.cs (AddNewImport): Implemented.
148 (AddNewItemGroup): Implemented.
149 (AddNewPropertyGroup): Implemented.
150 (AddNewUsingTaskFromAssemblyFile): Implemented.
151 (AddNewUsingTaskFromAssemblyName): Implemented.
152 (RemoveItemGroup): Implemented.
153 (RemovePropertyGroup): Implemented.
155 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
157 * BuildItemGroup.cs (Clear): Remove from XML.
159 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
160 to Project.EvaluatedProperties.
161 (Clear): Remove from XML.
163 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
165 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
168 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
170 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
171 Add () calls when processing a project from Import and
172 evaluate_iterator for evaluation.
174 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
176 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
177 and prepend relative directory of importing project to full path of
180 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
182 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
183 BuildItemGroupCollection.cs, Project.cs: Track API changes.
185 * GroupingCollection.cs: Now it needs Project reference so added it.
187 * BuildTask.cs: Formatting.
189 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
191 * ConditionParser.cs (ParseAndEvaluate): Added.
193 * BuildItem.cs: Changed exception message.
195 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
197 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
198 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
199 GroupingCollection doesn't need Project reference.
201 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
203 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
204 (Project.EvaluatedItems is a read only item group.)
205 (ReplaceWith): Added.
207 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
208 global property group causes reevaluation of its project.
210 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
213 * OldExpression.cs: Removed.
215 * BuildProperty.cs (Evaluate): Simplified.
217 * ChangeType.cs (TemporaryTransform): Simplified.
219 * BuildItem.cs: There are now 3 types of build items: from XML, having
220 parent from XML, virtual. Added SplitParentItem ().
222 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
224 * Utilities.cs: Added Unescape ().
226 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
227 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
228 groups (at the moment just unescape).
230 * Expression.cs (CopyToExpressionList): Unescape strings.
232 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
234 * Target.cs (ctor): Added ImportedProject argument and removed
236 (AddNewTask): Implemented.
238 * TargetCollection.cs (AddNewTarget): Implemented.
240 * Project.cs: Track API changes.
242 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
244 * Target.cs (Build): Don't throw anything in case of error, just
247 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
250 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
253 * BuildProperty.cs (ToString): Throw an exception if property is not
255 (op_Explicit): Added a null check.
257 * Engine.cs: Better error message.
259 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
260 IndexOutOfRangeException.
262 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
263 (MarkProjectAsDirty): Set time.
265 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
267 * BuildItemGroup.cs (Clone): Throw exception.
269 * Project.cs (Load): Throw InvalidProjectFileException if anything
272 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
274 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
275 and ConvertToITaskItemArray ().
277 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
279 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
280 classes that were public in Beta 2 and aren't used.
282 * Expression.cs: Added replacement for parsing expressions char by
283 char. It uses regexes to find item/property/metadata references in
286 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
287 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
288 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
290 * ConditionRelationalExpression.cs: Formatting.
292 * OldExpression.cs: Commented everything.
294 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
295 parsing to Expression.
297 * BuildItem.cs: Check if project is from XML in set_Condition and
300 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
303 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
304 can evaluate expression in CanEvaluateToBool ().
306 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
308 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
309 which item group is imported.
311 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
313 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
315 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
316 BuildItemGroupCollection.cs: Little changes related to
319 * ImportCollection.cs: Use GroupingCollection not an internal list.
321 * Import.cs (Evaluate): Split to functions and check if
322 EvaluatedProjectPath is empty.
324 * GroupingCollection.cs, Project.cs: Move evaluation to
325 GroupingCollection. Change algorithm to use 2 passes: first for property
326 groups and imports and second for item groups.
328 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
330 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
331 BuildItemGroup> not IDictionary.
333 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
334 evaluated to false because we want to add every item to
335 Project.EvaluatedItemsByNameIgnoringCondition.
337 * Project.cs (Build): Don't throw an exception just return false.
338 (GetEvaluatedProperty): Avoid NullReferenceException.
339 (SetProjectExtensions): Implemented.
341 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
343 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
345 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
346 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
347 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
349 * ImportCollection.cs: Added a note.
351 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
353 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
355 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
356 (UsingTask[] array, int index)
358 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
359 items to Project.EvaluatedItems in PublishItemGroup ();
361 * BuildItemGroup.cs: Added [MonoTODO].
363 * UsingTask.cs: Used expression for AssemblyFile to get around
364 problems with '\' and '/'.
366 * BuildItem.cs (ctor): Added null checks.
367 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
368 (SetMetadata): Don't escape evaluatedMetadata and escape
369 unevaluatedMetadata only when treatPropertyValueAsLiteral.
371 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
372 FromXml () instead of null checks.
373 (SetProperty): Escape propertyValue when it is literal.
375 * BuildProperty.cs: Changed exception message.
377 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
379 (GetProjectExtensions): Implemented.
381 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
383 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
384 GetParameterValue (), use expressions in ContinueOnError.
385 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
386 instead of InvalidOperationException ().
387 * ImportCollection.cs: Implement CopyTo ().
388 * Target.cs: Remove redundant variables (XmlAttributes), return
389 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
390 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
391 * Import.cs: Throw an exception when file does not exist.
392 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
393 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
394 need to treat item as a token probably
396 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
398 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
400 * BuildItemGroupCollection.cs: Changed exception types.
402 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
404 * Engine.cs: Removed redundant cast.
406 * UsingTaskCollection.cs:
410 * TargetCollection.cs: Comment unused variable.
411 * ConditionTokenizer.cs: Simplified checking if current token is a
413 * Target.cs: Removed old code.
415 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
417 * Target.cs: Changed "" to String.Empty.
418 * TaskEngine.cs: Don't try to convert a parameter to specific type if
419 string was evaluated to String.Empty.
420 * InternalLoggerException.cs:
421 * InvalidProjectFileException.cs: Added LinkDemand before
423 * ConsoleLogger.cs: Changed "" to String.Empty.
424 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
425 with change to generics).
426 * Project.cs: Made Build () throw more meaningful exception.
428 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
430 * Target.cs: Reformatted.
431 * TaskEngine.cs: Removed redundant code.
432 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
433 * Engine.cs: Made BuildProjectFile () load project file if it's not
436 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
438 * ConditionRelationalExpression.cs: Change comparers to case
440 * ImportCollection.cs: Add NotImplementedExceptions.
441 * BuildPropertyGroup.cs: Reformatted a bit.
442 * BuildProperty.cs: The same.
443 * Project.cs: Moved evaluation of imports before evaluation of
444 properties. This may "work" until importing projects is redesigned but
445 probably isn't correct.
447 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
449 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
451 * BuildItemGroup.cs: Change return to continue.
453 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
455 * ConditionParser.cs: Copyright note.
456 * ExpressionCollection.cs: Fixed arrays passing.
458 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
460 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
461 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
462 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
463 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
465 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
467 * Token.cs: Changed names: removed "than".
468 * ConditionRelationalExpression.cs: Added.
469 * ConditionFactorExpression.cs: Added.
470 * BuildItemGroup.cs: Changed Condition property return value to return
471 String.Empty instead of null.
472 * ConditionParser.cs: Added support for parsing relational expressions
474 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
475 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
476 and CanEvaluateToBool (), CanEvaluateToNumber () and
477 CanEvaluateToString ().
478 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
479 appropriately to ConditionExpression base class.
480 * ConditionTokenizer.cs: Added null check and changed names in enums:
482 * ConditionNotExpression.cs: Added.
483 * BatchingImpl.cs: Changed to use BoolEvaluate ().
484 * Project.cs: Added checks for condition.
486 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
488 * ConditionalTokenizer.cs, ConditionalExpression.cs,
489 ConditionalParser.cs: Changed name,
491 * ConditionExpression.cs: Added Evaluate ().
492 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
493 * BatchingImpl.cs: Added check if task should be executed.
495 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
497 * UsingTask.cs: Changed properties to return null on empty attribute.
498 * UsingTaskCollection.cs: Added object to SyncRoot.
499 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
501 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
503 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
504 BuildPropertyGroupCollection.cs: Fixed to match the tests.
506 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
508 * Utilities.cs: Implemented Escape ().
509 * BuildItem.cs: Added null checks.
510 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
511 * Project.cs: Commented out redundant Evaluate ().
512 * BuildChoose.cs: Minor changes.
514 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
516 * Token: Added new few missing tokens.
517 * Target.cs, Project.cs: Patch from Matthew Metnesky.
518 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
519 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
520 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
522 Removed literal expression parsing based on tokenizer and
523 parser. It needs to be done by regex.
525 Moved tokenizer to ConditionalTokenizer.cs.
527 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
529 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
530 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
531 methods converting reference to string from ToString () to
532 ConvertToString () to avoid mistakes like using ToString () provided
535 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
537 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
538 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
539 PropertyReference.cs, BuildProperty.cs: Changed Expression to
540 OldExpression and changed To* functions to one ConvertTo ().
541 * TaskEngine.cs: Fixed PublishOutput ().
542 * OldExpression.cs: Added. It will be temporarily used before
543 LiteralExpression will be written using Tokenizer.
544 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
545 ExpressionParseException.cs, LiteralExpression.cs: Added.
547 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
549 * ImportedProject.cs: Removed warning.
550 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
553 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
555 * Project.cs: Removed unnecessary variable.
556 * Engine.cs: Added fixme.
558 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
560 * BuildItem.cs: Moved checking if metadata name is reserved to internal
561 class (Mono.XBuild.Utilities.ReservedNameUtils).
563 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
565 * BuildTask.cs: Removed unnecessary variable.
566 * Engine.cs: Added logging of the build start.
567 * Project.cs: Removed unnecessary variable.
569 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
571 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
573 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
575 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
577 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
579 * BuildItem.cs: Fix typo?
581 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
583 * InternalLoggerException.cs, InvalidProjectFileException.cs,
584 Engine.cs, Project.cs: Coding style fixes.
586 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
588 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
590 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
592 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
593 to pass tests. Wrote serialization constructor.
594 * Engine.cs, Project.cs: Global engine and project unloading, test and
597 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
599 * UsingTask.cs: Formatting changes.
601 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
603 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
604 to lists instead of hashtables.
605 * Import.cs: Cleaned up, moved importing from Project.cs
606 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
607 * Engine.cs: Cleaned up properties.
608 * Project.cs: Moved importing to Import.cs, cleaned up properties,
609 Separated evaluation and loading.
611 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
613 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
614 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
615 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
616 binding and evaluation, merge xml binding in constructors.
617 * DirectoryScanner.cs: Includes CAN be empty.
618 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
619 * ConsoleLogger.cs: Fix compilation warning.
621 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
623 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
625 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
627 * Engine.cs: API cleanup.
629 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
631 * Project.cs: Cleaned up add.
632 * Expression.cs: Hacked to transform \ and / to path separators.
633 * BuildPropertyGroup.cs: Small cleanup.
634 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
637 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
639 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
640 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
642 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
643 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
644 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
646 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
647 * TaskElement.cs: Temporarily removed.
648 * Xml.cs: Changed to static.
650 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
652 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
653 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
654 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
655 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
656 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
657 IBuildPropertyGroupCollection.cs: Removed.
659 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
661 * BuildItem.cs: Removed IBuildItem references.
662 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
663 IBuildItemGroup references. Changed Evaluate to internal.
664 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
665 reference and hidden constructors.
666 * BuildProperty.cs: Removed IBuildProperty reference.
667 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
668 IBuildPropertyGroup references. Changed Evaluate to internal.
669 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
670 reference and hidden constructors.
671 * ConsoleLogger.cs: Updated names of event handlers.
672 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
673 Escape. Added UnloadAllProjects () and UnloadProject ().
674 * FileLogger.cs: Removed ApplyParameter ().
675 * GroupingCollection.cs: Hidden.
676 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
677 * ItemPropertyGroupingBase.cs: Commented.
678 * ProcessingPass.cs: Hidden.
679 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
681 * Target.cs: Removed ITarget reference.
682 * TargetCollection.cs: Removed ITargetCollection reference.
683 * TaskElement.cs: Removed ITaskElement reference.
684 * TaskEngineAssemblyResolver.cs: Hidden.
685 * Utilities.cs: Made static class, removed CheckPath (),
686 ValidateCulture (), GetSupportedCultures () and added Escape ().
688 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
690 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
693 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
695 * Project.cs: Added MonoTODO attributes.
696 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
697 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
698 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
699 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
700 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
701 BuildItemGroup.cs, InvalidProjectFileException.cs,
702 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
703 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
704 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
705 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
706 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
707 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
708 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
709 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
710 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
711 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
712 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
713 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
715 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
717 * TaskDatabase.cs: Change Shared to Framework.
718 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
719 CaseInsensitiveHashCodeProvider
721 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
723 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
724 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
727 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
729 * InternalLoggerException.cs: Changed protected fields to private.
731 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
733 * Engine.cs: Added check for globalProperties.
734 * Project.cs: Added using path from importedProject.FullFileName when
735 adding UsingTask elements.
737 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
739 * TaskElement.cs: Changed ReflectedType to PropertyType.
740 * ChangeType.cs (TransformToString): Changed to pass proper Type to
743 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
745 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
747 * BuildProperty.cs: Organized PropertyType enum.
748 * Engine.cs: Added setting CommandLine PropertyType of global
751 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
753 * InvalidProjectFileException.cs: Changed Message property.
754 * ChangeType.cs (TransformToString): Added separator between items.
755 * TaskEngineAssemblyResolver.cs: Formatting.
757 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
759 * DirectoryScanner.cs: Added.
760 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
761 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
762 * Project.cs: Removed Evalute* ().
764 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
766 * Target.cs: Formatting.
767 * Expression.cs: Added check if array == null.
768 * BuildItem.cs: Removed 'break' to remove warnings.
769 * ConsoleLogger.cs: Formatting.
770 * Engine.cs: Added handling of default target(s).
771 * Project.cs: Added handling of default target(s).
773 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
775 * TaskElement.cs: Added check for parameters.
776 * Target.cs: Added logging of target skipping.
777 * Expression.cs: Changed returning object[] to string[], bool[]... in
779 * ItemReference.cs: Fixed for item references without custom
781 * BatchingImpl.cs: Added real inputs/outputs checking.
782 * Engine.cs: Moved global properties setting.
783 * Project.cs: Moved global properties setting.
785 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
787 * Target.cs: Added checks for target existence.
788 * BuildItemGroup.cs: Changed to use transforms.
789 * MetadataReference.cs: Wrote real implementation.
790 * ItemReference.cs: Rewritten to use transforms.
791 * BuildItem.cs: Changes for transforms and metadata.
792 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
794 * Project.cs: Fixed project importing.
795 * ImportedProject.cs: Changed to throw exceptions instead of returning
798 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
800 * Engine.cs: Removed FIXME.
801 * Project.cs: Splitted ProcessElements and added project importing.
802 * ImportedProject.cs: Rewritten.
804 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
806 * TaskElement.cs: Added getting of objects of every type.
807 * BuildItemGroup.cs: Added ToITaskItemArray ().
808 * Expression.cs: Implemented part that is not using metadata.
809 * ItemReference.cs: Implemented parsing item references. Need to fix
811 * BuildItem.cs: Fixed ToITaskItem ().
812 * PropertyReference.cs: Implemented parsing property references. This
813 also needs validity checking.
815 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
817 * TaskElement.cs: Added Output element handling.
818 * Target.cs: Cleaned up.
819 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
820 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
821 ItemReference.cs, ChangeType.cs: Added.
822 * BuildItem.cs: Added creating BuildItem from TaskItem.
823 * BuildPropertyGroup.cs: Small changes.
824 * BatchingImpl.cs: Fixed to return real task execution result.
825 * BuildProperty.cs: Fixed FinalValue property.
826 * Engine.cs: Reformatted logging.
827 * Project.cs: Added check to EvaluateProperty.
829 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
831 * TaskElement.cs: Added part of execution engine.
832 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
833 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
834 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
835 * BuildItem.cs: Added handling of built-in metadata and referencing
836 Items by name not FullName.
837 * BatchingImpl.cs: Added temporary task "batching".
838 * ConsoleLogger.cs: Added temporary workaround to not show sender.
839 * Project.cs: Added Evaluate. It will be moved to separate class.
841 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
843 * EventSource.cs, Engine.cs: Added CriticalEvents.
844 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
845 Project.cs: Added some support for items.
846 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
848 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
850 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
853 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
855 * BatchingImpl.cs: Added.
856 * BuildWhen.cs, BuildEngine.cs, Target.cs,
857 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
858 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
859 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
860 GroupingCollection.cs: Updated.
862 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
864 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
865 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
866 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
867 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
868 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
869 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
870 InternalLoggerException.cs, InvalidProjectFileException.cs,
871 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
872 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
873 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
874 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
875 Initial check-in of implementations.
877 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
879 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
880 IBuildItemGroupCollection.cs, IBuildProperty.cs,
881 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
882 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
883 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
884 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
885 Initial check-in of interfaces and a syntax file, real classes are
886 changing a lot so I'll wait a moment with checking them in.