1 2008-11-21 Ankit Jain <jankit@novell.com>
3 * BatchingImpl.cs: Add task batching implementation.
4 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
5 * ExpressionCollection.cs (Count): New.
6 (ConvertToString): Handle MetadataReference.
7 * ItemReference.cs (ConvertToString):
8 (ConvertToITaskItemArray): Use the batching api.
10 * MetadataReference.cs (ConvertToString): New.
12 * Project.cs: Add api for accessing batched items and metadata.
13 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
16 2008-10-01 Ankit Jain <jankit@novell.com>
18 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
19 (BuildProjectFile): If filename is null (project.LoadXml) then use
21 * BuildTask.cs (InitializeTask): Track api change.
22 * Expression.cs (Parse): Skip empty entries in the expression.
24 2008-09-24 Ankit Jain <jankit@novell.com>
26 * Engine.cs: Add argument checks.
27 * Project.cs: Likewise.
29 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
31 * Project.cs (Build): Add outputs to targetOutputs.
33 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
35 * ExpressionCollection.cs (ConvertToArray): Simplify.
37 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
39 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
40 simplified. It still needs tests and refactoring.
42 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
44 * BuildEngine.cs (BuildProjectFile): Don't crash on null
47 * Target.cs: Add Outputs property.
49 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
51 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
52 (). Support condition.
54 * BatchingImpl.cs (BatchBuildTask): Simplify.
56 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
58 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
61 * ConditionFunctionExpression.cs: Removed warnings.
63 * BuildTask.cs (Execute): Write exceptions to std err (they should be
64 logged but it's better than swallowing).
66 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
68 * ConditionTokenizer.cs: Add Putback ().
70 * ConditionParser.cs: Add parsing of functions.
72 * ConditionFunctionExpression.cs: Add.
74 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
76 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
77 set property in persisted property group.
79 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
81 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
84 * ConsoleLogger.cs (TargetFinishedHandler)
85 (TaskFinishedHandler): Increment error count.
87 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
89 * BuildItem.cs (RemoveMetadata): Remove from XML.
90 (SetMetadata): Trigger project reevaluation.
92 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
94 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
97 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
99 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
100 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
101 BatchingImpl.cs, BuildProperty.cs: Track API changes.
103 * Expression.cs (Parse): Added allowItems parameter and made regexes
106 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
107 will try to import a.ext when given a.EXT.
109 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
111 * BuildItemGroup.cs: Store information saying what is the last item
112 group that contains build item name.
114 * Project.cs (Build): Pass empty array (build default targets).
116 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
118 * Token.cs: Commented Transform and LiteralSubExpression and added
121 * ConditionParser.cs: Removed redundant casts, rewrote
122 ParseFactorExpression () and added parsing of '!'.
124 * ConditionTokenizer.cs: Always skip whitespaces when getting next
125 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
126 Moved ReadChar () in front of all ifs.
128 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
130 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
131 from XML. (not to escape items that have parents twice).
133 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
135 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
136 (Project): Renamed to ParentProject.
138 * BuildItem.cs (ctor)
139 (CopyCustomMetadata): Add null check.
141 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
142 (RemoveProperty): Added null check.
144 * TargetCollection.cs (RemoveTarget): Added null check.
146 * Engine.cs (UnloadProject): Added null check.
148 * GroupingCollection.cs (Remove): Check if removed group belongs to
151 * Project.cs (AddNewItem): Implemented.
152 (RemoveItem): Reorganized.
153 (SetProjectExtensions): Added null check.
155 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
157 * BuildItemGroup.cs (Detach): Added.
159 (RemoveItemAt): Used Detach ().
161 * BuildItem.cs: Made FromXml and HasParent internal and added
162 ParentItem and ParentItemGroup properties (internal).
165 * GroupingCollection.cs (Remove): Used Detach ().
167 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
169 (GetEvaluatedItemsByNameIgnoringCondition)
170 (GetEvaluatedItemsByName)
171 (GetEvaluatedProperty): Reevaluate if needed.
173 (RemoveAllItemGroups)
174 (RemoveAllPropertyGroups): Implemented.
175 (DoLoad): Added closing of TextReader.
177 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
179 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
180 change but just mark that it needs it.
182 * Project.cs: Reevaluate when it needs reevaluation and one of
183 Evaluated* properties is used.
185 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
187 * Target.cs: Throw an exception when <OnError> is not last element in
190 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
192 * TargetCollection.cs: If a target is already there replace it with
195 * BuildProperty.cs: Added XmlElement property.
197 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
199 * ImportCollection.cs: Don't add imports that are already added.
201 * BuildItemGroup.cs: MonoTODOs.
203 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
204 condition can't be evaluated to bool.
206 * BuildPropertyGroup.cs (Evaluate): Simplify.
208 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
210 * BuildWhen.cs: Moved BindToXml () code to ctor.
212 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
213 property needed for removing groups.
215 * Engine.cs: Added StartBuild () that logs build start when Build ()
218 * GroupingCollection.cs: Added Remove () for item and property groups.
220 * Project.cs (AddNewImport): Implemented.
221 (AddNewItemGroup): Implemented.
222 (AddNewPropertyGroup): Implemented.
223 (AddNewUsingTaskFromAssemblyFile): Implemented.
224 (AddNewUsingTaskFromAssemblyName): Implemented.
225 (RemoveItemGroup): Implemented.
226 (RemovePropertyGroup): Implemented.
228 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
230 * BuildItemGroup.cs (Clear): Remove from XML.
232 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
233 to Project.EvaluatedProperties.
234 (Clear): Remove from XML.
236 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
238 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
241 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
243 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
244 Add () calls when processing a project from Import and
245 evaluate_iterator for evaluation.
247 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
249 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
250 and prepend relative directory of importing project to full path of
253 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
255 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
256 BuildItemGroupCollection.cs, Project.cs: Track API changes.
258 * GroupingCollection.cs: Now it needs Project reference so added it.
260 * BuildTask.cs: Formatting.
262 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
264 * ConditionParser.cs (ParseAndEvaluate): Added.
266 * BuildItem.cs: Changed exception message.
268 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
270 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
271 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
272 GroupingCollection doesn't need Project reference.
274 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
276 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
277 (Project.EvaluatedItems is a read only item group.)
278 (ReplaceWith): Added.
280 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
281 global property group causes reevaluation of its project.
283 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
286 * OldExpression.cs: Removed.
288 * BuildProperty.cs (Evaluate): Simplified.
290 * ChangeType.cs (TemporaryTransform): Simplified.
292 * BuildItem.cs: There are now 3 types of build items: from XML, having
293 parent from XML, virtual. Added SplitParentItem ().
295 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
297 * Utilities.cs: Added Unescape ().
299 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
300 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
301 groups (at the moment just unescape).
303 * Expression.cs (CopyToExpressionList): Unescape strings.
305 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
307 * Target.cs (ctor): Added ImportedProject argument and removed
309 (AddNewTask): Implemented.
311 * TargetCollection.cs (AddNewTarget): Implemented.
313 * Project.cs: Track API changes.
315 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
317 * Target.cs (Build): Don't throw anything in case of error, just
320 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
323 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
326 * BuildProperty.cs (ToString): Throw an exception if property is not
328 (op_Explicit): Added a null check.
330 * Engine.cs: Better error message.
332 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
333 IndexOutOfRangeException.
335 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
336 (MarkProjectAsDirty): Set time.
338 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
340 * BuildItemGroup.cs (Clone): Throw exception.
342 * Project.cs (Load): Throw InvalidProjectFileException if anything
345 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
347 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
348 and ConvertToITaskItemArray ().
350 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
352 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
353 classes that were public in Beta 2 and aren't used.
355 * Expression.cs: Added replacement for parsing expressions char by
356 char. It uses regexes to find item/property/metadata references in
359 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
360 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
361 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
363 * ConditionRelationalExpression.cs: Formatting.
365 * OldExpression.cs: Commented everything.
367 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
368 parsing to Expression.
370 * BuildItem.cs: Check if project is from XML in set_Condition and
373 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
376 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
377 can evaluate expression in CanEvaluateToBool ().
379 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
381 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
382 which item group is imported.
384 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
386 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
388 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
389 BuildItemGroupCollection.cs: Little changes related to
392 * ImportCollection.cs: Use GroupingCollection not an internal list.
394 * Import.cs (Evaluate): Split to functions and check if
395 EvaluatedProjectPath is empty.
397 * GroupingCollection.cs, Project.cs: Move evaluation to
398 GroupingCollection. Change algorithm to use 2 passes: first for property
399 groups and imports and second for item groups.
401 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
403 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
404 BuildItemGroup> not IDictionary.
406 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
407 evaluated to false because we want to add every item to
408 Project.EvaluatedItemsByNameIgnoringCondition.
410 * Project.cs (Build): Don't throw an exception just return false.
411 (GetEvaluatedProperty): Avoid NullReferenceException.
412 (SetProjectExtensions): Implemented.
414 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
416 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
418 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
419 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
420 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
422 * ImportCollection.cs: Added a note.
424 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
426 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
428 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
429 (UsingTask[] array, int index)
431 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
432 items to Project.EvaluatedItems in PublishItemGroup ();
434 * BuildItemGroup.cs: Added [MonoTODO].
436 * UsingTask.cs: Used expression for AssemblyFile to get around
437 problems with '\' and '/'.
439 * BuildItem.cs (ctor): Added null checks.
440 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
441 (SetMetadata): Don't escape evaluatedMetadata and escape
442 unevaluatedMetadata only when treatPropertyValueAsLiteral.
444 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
445 FromXml () instead of null checks.
446 (SetProperty): Escape propertyValue when it is literal.
448 * BuildProperty.cs: Changed exception message.
450 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
452 (GetProjectExtensions): Implemented.
454 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
456 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
457 GetParameterValue (), use expressions in ContinueOnError.
458 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
459 instead of InvalidOperationException ().
460 * ImportCollection.cs: Implement CopyTo ().
461 * Target.cs: Remove redundant variables (XmlAttributes), return
462 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
463 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
464 * Import.cs: Throw an exception when file does not exist.
465 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
466 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
467 need to treat item as a token probably
469 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
471 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
473 * BuildItemGroupCollection.cs: Changed exception types.
475 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
477 * Engine.cs: Removed redundant cast.
479 * UsingTaskCollection.cs:
483 * TargetCollection.cs: Comment unused variable.
484 * ConditionTokenizer.cs: Simplified checking if current token is a
486 * Target.cs: Removed old code.
488 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
490 * Target.cs: Changed "" to String.Empty.
491 * TaskEngine.cs: Don't try to convert a parameter to specific type if
492 string was evaluated to String.Empty.
493 * InternalLoggerException.cs:
494 * InvalidProjectFileException.cs: Added LinkDemand before
496 * ConsoleLogger.cs: Changed "" to String.Empty.
497 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
498 with change to generics).
499 * Project.cs: Made Build () throw more meaningful exception.
501 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
503 * Target.cs: Reformatted.
504 * TaskEngine.cs: Removed redundant code.
505 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
506 * Engine.cs: Made BuildProjectFile () load project file if it's not
509 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
511 * ConditionRelationalExpression.cs: Change comparers to case
513 * ImportCollection.cs: Add NotImplementedExceptions.
514 * BuildPropertyGroup.cs: Reformatted a bit.
515 * BuildProperty.cs: The same.
516 * Project.cs: Moved evaluation of imports before evaluation of
517 properties. This may "work" until importing projects is redesigned but
518 probably isn't correct.
520 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
522 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
524 * BuildItemGroup.cs: Change return to continue.
526 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
528 * ConditionParser.cs: Copyright note.
529 * ExpressionCollection.cs: Fixed arrays passing.
531 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
533 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
534 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
535 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
536 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
538 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
540 * Token.cs: Changed names: removed "than".
541 * ConditionRelationalExpression.cs: Added.
542 * ConditionFactorExpression.cs: Added.
543 * BuildItemGroup.cs: Changed Condition property return value to return
544 String.Empty instead of null.
545 * ConditionParser.cs: Added support for parsing relational expressions
547 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
548 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
549 and CanEvaluateToBool (), CanEvaluateToNumber () and
550 CanEvaluateToString ().
551 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
552 appropriately to ConditionExpression base class.
553 * ConditionTokenizer.cs: Added null check and changed names in enums:
555 * ConditionNotExpression.cs: Added.
556 * BatchingImpl.cs: Changed to use BoolEvaluate ().
557 * Project.cs: Added checks for condition.
559 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
561 * ConditionalTokenizer.cs, ConditionalExpression.cs,
562 ConditionalParser.cs: Changed name,
564 * ConditionExpression.cs: Added Evaluate ().
565 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
566 * BatchingImpl.cs: Added check if task should be executed.
568 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
570 * UsingTask.cs: Changed properties to return null on empty attribute.
571 * UsingTaskCollection.cs: Added object to SyncRoot.
572 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
574 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
576 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
577 BuildPropertyGroupCollection.cs: Fixed to match the tests.
579 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
581 * Utilities.cs: Implemented Escape ().
582 * BuildItem.cs: Added null checks.
583 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
584 * Project.cs: Commented out redundant Evaluate ().
585 * BuildChoose.cs: Minor changes.
587 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
589 * Token: Added new few missing tokens.
590 * Target.cs, Project.cs: Patch from Matthew Metnesky.
591 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
592 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
593 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
595 Removed literal expression parsing based on tokenizer and
596 parser. It needs to be done by regex.
598 Moved tokenizer to ConditionalTokenizer.cs.
600 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
602 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
603 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
604 methods converting reference to string from ToString () to
605 ConvertToString () to avoid mistakes like using ToString () provided
608 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
610 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
611 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
612 PropertyReference.cs, BuildProperty.cs: Changed Expression to
613 OldExpression and changed To* functions to one ConvertTo ().
614 * TaskEngine.cs: Fixed PublishOutput ().
615 * OldExpression.cs: Added. It will be temporarily used before
616 LiteralExpression will be written using Tokenizer.
617 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
618 ExpressionParseException.cs, LiteralExpression.cs: Added.
620 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
622 * ImportedProject.cs: Removed warning.
623 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
626 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
628 * Project.cs: Removed unnecessary variable.
629 * Engine.cs: Added fixme.
631 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
633 * BuildItem.cs: Moved checking if metadata name is reserved to internal
634 class (Mono.XBuild.Utilities.ReservedNameUtils).
636 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
638 * BuildTask.cs: Removed unnecessary variable.
639 * Engine.cs: Added logging of the build start.
640 * Project.cs: Removed unnecessary variable.
642 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
644 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
646 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
648 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
650 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
652 * BuildItem.cs: Fix typo?
654 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
656 * InternalLoggerException.cs, InvalidProjectFileException.cs,
657 Engine.cs, Project.cs: Coding style fixes.
659 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
661 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
663 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
665 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
666 to pass tests. Wrote serialization constructor.
667 * Engine.cs, Project.cs: Global engine and project unloading, test and
670 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
672 * UsingTask.cs: Formatting changes.
674 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
676 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
677 to lists instead of hashtables.
678 * Import.cs: Cleaned up, moved importing from Project.cs
679 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
680 * Engine.cs: Cleaned up properties.
681 * Project.cs: Moved importing to Import.cs, cleaned up properties,
682 Separated evaluation and loading.
684 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
686 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
687 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
688 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
689 binding and evaluation, merge xml binding in constructors.
690 * DirectoryScanner.cs: Includes CAN be empty.
691 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
692 * ConsoleLogger.cs: Fix compilation warning.
694 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
696 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
698 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
700 * Engine.cs: API cleanup.
702 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
704 * Project.cs: Cleaned up add.
705 * Expression.cs: Hacked to transform \ and / to path separators.
706 * BuildPropertyGroup.cs: Small cleanup.
707 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
710 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
712 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
713 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
715 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
716 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
717 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
719 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
720 * TaskElement.cs: Temporarily removed.
721 * Xml.cs: Changed to static.
723 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
725 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
726 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
727 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
728 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
729 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
730 IBuildPropertyGroupCollection.cs: Removed.
732 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
734 * BuildItem.cs: Removed IBuildItem references.
735 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
736 IBuildItemGroup references. Changed Evaluate to internal.
737 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
738 reference and hidden constructors.
739 * BuildProperty.cs: Removed IBuildProperty reference.
740 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
741 IBuildPropertyGroup references. Changed Evaluate to internal.
742 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
743 reference and hidden constructors.
744 * ConsoleLogger.cs: Updated names of event handlers.
745 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
746 Escape. Added UnloadAllProjects () and UnloadProject ().
747 * FileLogger.cs: Removed ApplyParameter ().
748 * GroupingCollection.cs: Hidden.
749 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
750 * ItemPropertyGroupingBase.cs: Commented.
751 * ProcessingPass.cs: Hidden.
752 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
754 * Target.cs: Removed ITarget reference.
755 * TargetCollection.cs: Removed ITargetCollection reference.
756 * TaskElement.cs: Removed ITaskElement reference.
757 * TaskEngineAssemblyResolver.cs: Hidden.
758 * Utilities.cs: Made static class, removed CheckPath (),
759 ValidateCulture (), GetSupportedCultures () and added Escape ().
761 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
763 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
766 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
768 * Project.cs: Added MonoTODO attributes.
769 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
770 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
771 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
772 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
773 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
774 BuildItemGroup.cs, InvalidProjectFileException.cs,
775 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
776 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
777 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
778 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
779 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
780 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
781 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
782 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
783 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
784 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
785 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
786 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
788 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
790 * TaskDatabase.cs: Change Shared to Framework.
791 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
792 CaseInsensitiveHashCodeProvider
794 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
796 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
797 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
800 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
802 * InternalLoggerException.cs: Changed protected fields to private.
804 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
806 * Engine.cs: Added check for globalProperties.
807 * Project.cs: Added using path from importedProject.FullFileName when
808 adding UsingTask elements.
810 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
812 * TaskElement.cs: Changed ReflectedType to PropertyType.
813 * ChangeType.cs (TransformToString): Changed to pass proper Type to
816 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
818 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
820 * BuildProperty.cs: Organized PropertyType enum.
821 * Engine.cs: Added setting CommandLine PropertyType of global
824 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
826 * InvalidProjectFileException.cs: Changed Message property.
827 * ChangeType.cs (TransformToString): Added separator between items.
828 * TaskEngineAssemblyResolver.cs: Formatting.
830 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
832 * DirectoryScanner.cs: Added.
833 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
834 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
835 * Project.cs: Removed Evalute* ().
837 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
839 * Target.cs: Formatting.
840 * Expression.cs: Added check if array == null.
841 * BuildItem.cs: Removed 'break' to remove warnings.
842 * ConsoleLogger.cs: Formatting.
843 * Engine.cs: Added handling of default target(s).
844 * Project.cs: Added handling of default target(s).
846 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
848 * TaskElement.cs: Added check for parameters.
849 * Target.cs: Added logging of target skipping.
850 * Expression.cs: Changed returning object[] to string[], bool[]... in
852 * ItemReference.cs: Fixed for item references without custom
854 * BatchingImpl.cs: Added real inputs/outputs checking.
855 * Engine.cs: Moved global properties setting.
856 * Project.cs: Moved global properties setting.
858 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
860 * Target.cs: Added checks for target existence.
861 * BuildItemGroup.cs: Changed to use transforms.
862 * MetadataReference.cs: Wrote real implementation.
863 * ItemReference.cs: Rewritten to use transforms.
864 * BuildItem.cs: Changes for transforms and metadata.
865 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
867 * Project.cs: Fixed project importing.
868 * ImportedProject.cs: Changed to throw exceptions instead of returning
871 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
873 * Engine.cs: Removed FIXME.
874 * Project.cs: Splitted ProcessElements and added project importing.
875 * ImportedProject.cs: Rewritten.
877 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
879 * TaskElement.cs: Added getting of objects of every type.
880 * BuildItemGroup.cs: Added ToITaskItemArray ().
881 * Expression.cs: Implemented part that is not using metadata.
882 * ItemReference.cs: Implemented parsing item references. Need to fix
884 * BuildItem.cs: Fixed ToITaskItem ().
885 * PropertyReference.cs: Implemented parsing property references. This
886 also needs validity checking.
888 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
890 * TaskElement.cs: Added Output element handling.
891 * Target.cs: Cleaned up.
892 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
893 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
894 ItemReference.cs, ChangeType.cs: Added.
895 * BuildItem.cs: Added creating BuildItem from TaskItem.
896 * BuildPropertyGroup.cs: Small changes.
897 * BatchingImpl.cs: Fixed to return real task execution result.
898 * BuildProperty.cs: Fixed FinalValue property.
899 * Engine.cs: Reformatted logging.
900 * Project.cs: Added check to EvaluateProperty.
902 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
904 * TaskElement.cs: Added part of execution engine.
905 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
906 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
907 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
908 * BuildItem.cs: Added handling of built-in metadata and referencing
909 Items by name not FullName.
910 * BatchingImpl.cs: Added temporary task "batching".
911 * ConsoleLogger.cs: Added temporary workaround to not show sender.
912 * Project.cs: Added Evaluate. It will be moved to separate class.
914 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
916 * EventSource.cs, Engine.cs: Added CriticalEvents.
917 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
918 Project.cs: Added some support for items.
919 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
921 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
923 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
926 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
928 * BatchingImpl.cs: Added.
929 * BuildWhen.cs, BuildEngine.cs, Target.cs,
930 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
931 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
932 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
933 GroupingCollection.cs: Updated.
935 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
937 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
938 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
939 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
940 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
941 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
942 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
943 InternalLoggerException.cs, InvalidProjectFileException.cs,
944 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
945 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
946 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
947 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
948 Initial check-in of implementations.
950 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
952 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
953 IBuildItemGroupCollection.cs, IBuildProperty.cs,
954 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
955 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
956 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
957 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
958 Initial check-in of interfaces and a syntax file, real classes are
959 changing a lot so I'll wait a moment with checking them in.