1 2009-06-12 Ankit Jain <jankit@novell.com>
3 * Utilities.cs (FromMSBuildPath): Return null if the path contains
4 "drive:" only on windows.
6 2009-06-07 Ankit Jain <jankit@novell.com>
8 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
11 2009-05-29 Ankit Jain <jankit@novell.com>
13 Correctly handle global properties. Correctly log
16 * BuildPropertyGroup.cs (Clone): Implement.
17 * Engine.cs (globalProperties): Rename to ..
18 (global_properties): .. this.
19 (currentlyBuildingProjectsStack): New. Used to correctly
20 log and raise project/build start/finish events.
21 (BuildProjectFile): Override any project global properties
22 with explicitly specified ones, here in the param @globalProperties.
23 Mark project for reevaluation, which will update the engine's
24 global properties also.
25 Reset both engine and project's old global properties at the end.
26 (UnregisterAllLoggers): Log build finished only if we are currently
28 (StartBuild): Rename to ..
29 (StartProjectBuild): .. this. Keeps track of the projects being built
30 in the new stack, and logs project and build events accordingly.
31 (EndProjectBuild): New. Uses the stack to keep track of projects
32 finishing builds, and raises project and build events accordingly.
33 (LogProjectStarted): Move here from Project.cs
34 (LogProjectFinished): Likewise.
36 * Project.cs (Build): Log start of project build.
37 Set current directory to the project file's dir, and reset at end.
38 (BuildInternal): Don't log here, its done in Build.
39 (BuildTarget): Already built targets are keyed by the set of global
40 properties that they were built with.
41 (GlobalPropertiesToString): New.
42 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
43 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
44 (Evaluate): Remove built targets only if we are currently building and
45 build settings are None.
46 Merge project's global properties with those of the parent engine.
47 Add missing properties from engine's global properties.
48 (LogTargetSkipped): Fix format string, add the reqd argument.
50 2009-05-29 Ankit Jain <jankit@novell.com>
52 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
53 (HasTrailingSlash): New.
55 2009-05-12 Ankit Jain <jankit@novell.com>
57 * Project.cs (.ctor): Init timeOfLastDirty.
59 2009-05-05 Miguel de Icaza <miguel@novell.com>
61 * Contribution from Martin Brenn to fix #498154.
63 2009-04-27 Ankit Jain <jankit@novell.com>
66 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
67 one passed as argument.
69 2009-04-27 Ankit Jain <jankit@novell.com>
71 * TaskEngine.cs (Prepare): Emit a useful error message property value
72 can't be converted to required type.
74 2009-04-27 Ankit Jain <jankit@novell.com>
76 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
77 as valid true values for bool, and corresponding for false.
79 2009-03-27 Jonathan Chambers <joncham@gmail.com>
81 * BuildWhen.cs: Add basic implementation.
82 * BuildChoose.cs: Add basic implementation.
83 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
84 EvaluatedItemsIgnoringCondition.
85 * GroupingCollection.cs: Add evaluation of BuildChoose items.
87 2009-03-26 Jonathan Chambers <joncham@gmail.com>
89 * TaskDatabase.cs (RegisterTask): Search for class by name
90 if task was not found using GetType (which uses namespace).
92 2009-02-26 Ankit Jain <jankit@novell.com>
94 * Target.cs: Handle target with no tasks. Log errors.
96 2009-02-24 Ankit Jain <jankit@novell.com>
98 Lazily load UsingTask tasks.
99 * UsingTask.cs (Evaluate): Register 'this' with task database,
100 but don't load it yet. Register only if condition evaluates to true.
101 Move the load logic to ..
102 (Load): .. here. Register with the specified task database.
103 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
104 in a table keyed by task name, but don't load it yet.
105 (GetTypeFromClassName): Try to load UsingTask if task is not already
106 loaded. Move loading logic to ..
107 (GetTypeFromClassNameInternal): .. here.
108 (CopyTasks): Copy the usingTasks table also.
110 2009-02-23 Ankit Jain <jankit@novell.com>
112 * BuildItem.cs (AddMetadata): Allow overwriting older values.
114 2009-02-22 Ankit Jain <jankit@novell.com>
116 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
117 instead of XmlElement. Eg. XmlComment
119 2009-02-21 Ankit Jain <jankit@novell.com>
121 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
122 * Project.cs (Load): Use FromMSBuildPath on the path.
123 (InitializeProperties): Set "MSBuildToolsPath" also.
125 2009-02-20 Ankit Jain <jankit@novell.com>
128 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
129 transforms) in conditions.
130 * ConditionParser.cs: Parse unquoted item, property references.
131 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
132 * Token.cs (Token.ToString): Override.
133 (TokenType.Transform): Uncomment.
135 2009-02-12 Jonathan Chambers <joncham@gmail.com>
137 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
138 no XmlElement.InnerText. This allows properties to be additional
141 2009-02-01 Ankit Jain <jankit@novell.com>
143 * BuildEngine.cs (BuildProjectFile): Use
144 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
145 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
146 built. Move logging of project start/finish to ..
147 * Project.cs: .. here. Build a target only if hasn't been built already.
148 Keep track of target outputs, and return those even if an already built
149 target has been invoked again.
150 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
152 2009-01-31 Ankit Jain <jankit@novell.com>
154 * BatchingImpl.cs: Split into ..
155 * BatchingImplBase.cs: .. this,
156 * TaskBatchingImpl.cs: .. this ..
157 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
159 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
160 (Log*): Move to TargetBatchingImpl .
164 2009-01-30 Ankit Jain <jankit@novell.com>
166 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
169 2009-01-29 Ankit Jain <jankit@novell.com>
171 * BuildItem.cs (child_items): Change type from BuildItemGroup to
173 (HasParent): Rename to ..
174 (HasParentItem): .. this.
175 (ParentItemGroup): Add setter.
177 * BuildItemGroup.cs (.ctor): Add overload with @project param.
179 (AddItem): Correctly set the ParentItemGroup for new build items.
180 (ParentProject): Add setter.
181 * Project.cs: Set the project for new BuildItemGroup instances.
182 * TaskEngine.cs (PublishItemGroup): Likewise.
184 2009-01-06 Ankit Jain <jankit@novell.com>
186 * Project.cs (Build): Honor InitialTargets list.
188 2009-01-06 Ankit Jain <jankit@novell.com>
190 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
191 the property type also.
192 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
195 2009-01-06 Ankit Jain <jankit@novell.com>
197 * Project.cs (Build): Correctly handle null targetNames argument.
199 2009-01-06 Ankit Jain <jankit@novell.com>
201 * Engine.cs (LogProjectStarted): Add a null check.
203 2009-01-01 Ankit Jain <jankit@novell.com>
205 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
206 * ChangeType (ToBuildItemGroup): Add 'split' param.
208 * Expression.cs (Parse): Add a new overload with a 'split' param.
209 * ExpressionCollection.cs (Add): Add new overload for IReference,
210 remove the ones for Item/Metadata/PropertyReference.
211 (ConvertToArray): Implement correctly.
212 (ConvertToString): Track api changes.
213 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
214 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
215 (AddItemsToArray): New.
216 (ConvertToITaskItemArrayFromString): Refactor a bit.
217 (ThrowCantConcatError): New.
218 * ItemReference.cs: Update.
219 * MetadataReference.cs: Update.
220 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
222 * BuildPropertyGroup.cs: Track api changes.
223 * TaskEngine.cs (PublishOutput): Improve exception message.
224 * Project.cs (DoLoad): Improve exception message. Add a null check.
226 2008-12-30 Ankit Jain <jankit@novell.com>
228 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
229 metadata values for unqualified references.
230 (BuildItemGroupToITaskItemArray): Rename to ..
231 (BuildItemGroupToITaskItems): .. this.
234 2008-12-18 Ankit Jain <jankit@novell.com>
236 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
238 2008-12-17 Ankit Jain <jankit@novell.com>
240 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
241 only one instance of unique metadata value is required.
243 2008-11-22 Ankit Jain <jankit@novell.com>
245 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
247 * MetadataReference.cs (ConvertToITaskItemArray): New.
248 * Project.cs (GetAllItemGroups): New.
250 2008-11-21 Ankit Jain <jankit@novell.com>
252 * BatchingImpl.cs: Add task batching implementation.
253 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
254 * ExpressionCollection.cs (Count): New.
255 (ConvertToString): Handle MetadataReference.
256 * ItemReference.cs (ConvertToString):
257 (ConvertToITaskItemArray): Use the batching api.
259 * MetadataReference.cs (ConvertToString): New.
261 * Project.cs: Add api for accessing batched items and metadata.
262 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
265 2008-10-01 Ankit Jain <jankit@novell.com>
267 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
268 (BuildProjectFile): If filename is null (project.LoadXml) then use
270 * BuildTask.cs (InitializeTask): Track api change.
271 * Expression.cs (Parse): Skip empty entries in the expression.
273 2008-09-24 Ankit Jain <jankit@novell.com>
275 * Engine.cs: Add argument checks.
276 * Project.cs: Likewise.
278 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
280 * Project.cs (Build): Add outputs to targetOutputs.
282 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
284 * ExpressionCollection.cs (ConvertToArray): Simplify.
286 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
288 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
289 simplified. It still needs tests and refactoring.
291 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
293 * BuildEngine.cs (BuildProjectFile): Don't crash on null
296 * Target.cs: Add Outputs property.
298 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
300 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
301 (). Support condition.
303 * BatchingImpl.cs (BatchBuildTask): Simplify.
305 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
307 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
310 * ConditionFunctionExpression.cs: Removed warnings.
312 * BuildTask.cs (Execute): Write exceptions to std err (they should be
313 logged but it's better than swallowing).
315 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
317 * ConditionTokenizer.cs: Add Putback ().
319 * ConditionParser.cs: Add parsing of functions.
321 * ConditionFunctionExpression.cs: Add.
323 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
325 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
326 set property in persisted property group.
328 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
330 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
333 * ConsoleLogger.cs (TargetFinishedHandler)
334 (TaskFinishedHandler): Increment error count.
336 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
338 * BuildItem.cs (RemoveMetadata): Remove from XML.
339 (SetMetadata): Trigger project reevaluation.
341 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
343 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
346 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
348 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
349 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
350 BatchingImpl.cs, BuildProperty.cs: Track API changes.
352 * Expression.cs (Parse): Added allowItems parameter and made regexes
355 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
356 will try to import a.ext when given a.EXT.
358 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
360 * BuildItemGroup.cs: Store information saying what is the last item
361 group that contains build item name.
363 * Project.cs (Build): Pass empty array (build default targets).
365 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
367 * Token.cs: Commented Transform and LiteralSubExpression and added
370 * ConditionParser.cs: Removed redundant casts, rewrote
371 ParseFactorExpression () and added parsing of '!'.
373 * ConditionTokenizer.cs: Always skip whitespaces when getting next
374 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
375 Moved ReadChar () in front of all ifs.
377 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
379 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
380 from XML. (not to escape items that have parents twice).
382 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
384 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
385 (Project): Renamed to ParentProject.
387 * BuildItem.cs (ctor)
388 (CopyCustomMetadata): Add null check.
390 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
391 (RemoveProperty): Added null check.
393 * TargetCollection.cs (RemoveTarget): Added null check.
395 * Engine.cs (UnloadProject): Added null check.
397 * GroupingCollection.cs (Remove): Check if removed group belongs to
400 * Project.cs (AddNewItem): Implemented.
401 (RemoveItem): Reorganized.
402 (SetProjectExtensions): Added null check.
404 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
406 * BuildItemGroup.cs (Detach): Added.
408 (RemoveItemAt): Used Detach ().
410 * BuildItem.cs: Made FromXml and HasParent internal and added
411 ParentItem and ParentItemGroup properties (internal).
414 * GroupingCollection.cs (Remove): Used Detach ().
416 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
418 (GetEvaluatedItemsByNameIgnoringCondition)
419 (GetEvaluatedItemsByName)
420 (GetEvaluatedProperty): Reevaluate if needed.
422 (RemoveAllItemGroups)
423 (RemoveAllPropertyGroups): Implemented.
424 (DoLoad): Added closing of TextReader.
426 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
428 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
429 change but just mark that it needs it.
431 * Project.cs: Reevaluate when it needs reevaluation and one of
432 Evaluated* properties is used.
434 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
436 * Target.cs: Throw an exception when <OnError> is not last element in
439 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
441 * TargetCollection.cs: If a target is already there replace it with
444 * BuildProperty.cs: Added XmlElement property.
446 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
448 * ImportCollection.cs: Don't add imports that are already added.
450 * BuildItemGroup.cs: MonoTODOs.
452 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
453 condition can't be evaluated to bool.
455 * BuildPropertyGroup.cs (Evaluate): Simplify.
457 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
459 * BuildWhen.cs: Moved BindToXml () code to ctor.
461 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
462 property needed for removing groups.
464 * Engine.cs: Added StartBuild () that logs build start when Build ()
467 * GroupingCollection.cs: Added Remove () for item and property groups.
469 * Project.cs (AddNewImport): Implemented.
470 (AddNewItemGroup): Implemented.
471 (AddNewPropertyGroup): Implemented.
472 (AddNewUsingTaskFromAssemblyFile): Implemented.
473 (AddNewUsingTaskFromAssemblyName): Implemented.
474 (RemoveItemGroup): Implemented.
475 (RemovePropertyGroup): Implemented.
477 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
479 * BuildItemGroup.cs (Clear): Remove from XML.
481 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
482 to Project.EvaluatedProperties.
483 (Clear): Remove from XML.
485 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
487 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
490 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
492 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
493 Add () calls when processing a project from Import and
494 evaluate_iterator for evaluation.
496 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
498 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
499 and prepend relative directory of importing project to full path of
502 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
504 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
505 BuildItemGroupCollection.cs, Project.cs: Track API changes.
507 * GroupingCollection.cs: Now it needs Project reference so added it.
509 * BuildTask.cs: Formatting.
511 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
513 * ConditionParser.cs (ParseAndEvaluate): Added.
515 * BuildItem.cs: Changed exception message.
517 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
519 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
520 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
521 GroupingCollection doesn't need Project reference.
523 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
525 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
526 (Project.EvaluatedItems is a read only item group.)
527 (ReplaceWith): Added.
529 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
530 global property group causes reevaluation of its project.
532 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
535 * OldExpression.cs: Removed.
537 * BuildProperty.cs (Evaluate): Simplified.
539 * ChangeType.cs (TemporaryTransform): Simplified.
541 * BuildItem.cs: There are now 3 types of build items: from XML, having
542 parent from XML, virtual. Added SplitParentItem ().
544 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
546 * Utilities.cs: Added Unescape ().
548 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
549 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
550 groups (at the moment just unescape).
552 * Expression.cs (CopyToExpressionList): Unescape strings.
554 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
556 * Target.cs (ctor): Added ImportedProject argument and removed
558 (AddNewTask): Implemented.
560 * TargetCollection.cs (AddNewTarget): Implemented.
562 * Project.cs: Track API changes.
564 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
566 * Target.cs (Build): Don't throw anything in case of error, just
569 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
572 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
575 * BuildProperty.cs (ToString): Throw an exception if property is not
577 (op_Explicit): Added a null check.
579 * Engine.cs: Better error message.
581 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
582 IndexOutOfRangeException.
584 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
585 (MarkProjectAsDirty): Set time.
587 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
589 * BuildItemGroup.cs (Clone): Throw exception.
591 * Project.cs (Load): Throw InvalidProjectFileException if anything
594 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
596 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
597 and ConvertToITaskItemArray ().
599 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
601 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
602 classes that were public in Beta 2 and aren't used.
604 * Expression.cs: Added replacement for parsing expressions char by
605 char. It uses regexes to find item/property/metadata references in
608 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
609 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
610 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
612 * ConditionRelationalExpression.cs: Formatting.
614 * OldExpression.cs: Commented everything.
616 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
617 parsing to Expression.
619 * BuildItem.cs: Check if project is from XML in set_Condition and
622 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
625 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
626 can evaluate expression in CanEvaluateToBool ().
628 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
630 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
631 which item group is imported.
633 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
635 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
637 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
638 BuildItemGroupCollection.cs: Little changes related to
641 * ImportCollection.cs: Use GroupingCollection not an internal list.
643 * Import.cs (Evaluate): Split to functions and check if
644 EvaluatedProjectPath is empty.
646 * GroupingCollection.cs, Project.cs: Move evaluation to
647 GroupingCollection. Change algorithm to use 2 passes: first for property
648 groups and imports and second for item groups.
650 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
652 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
653 BuildItemGroup> not IDictionary.
655 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
656 evaluated to false because we want to add every item to
657 Project.EvaluatedItemsByNameIgnoringCondition.
659 * Project.cs (Build): Don't throw an exception just return false.
660 (GetEvaluatedProperty): Avoid NullReferenceException.
661 (SetProjectExtensions): Implemented.
663 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
665 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
667 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
668 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
669 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
671 * ImportCollection.cs: Added a note.
673 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
675 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
677 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
678 (UsingTask[] array, int index)
680 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
681 items to Project.EvaluatedItems in PublishItemGroup ();
683 * BuildItemGroup.cs: Added [MonoTODO].
685 * UsingTask.cs: Used expression for AssemblyFile to get around
686 problems with '\' and '/'.
688 * BuildItem.cs (ctor): Added null checks.
689 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
690 (SetMetadata): Don't escape evaluatedMetadata and escape
691 unevaluatedMetadata only when treatPropertyValueAsLiteral.
693 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
694 FromXml () instead of null checks.
695 (SetProperty): Escape propertyValue when it is literal.
697 * BuildProperty.cs: Changed exception message.
699 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
701 (GetProjectExtensions): Implemented.
703 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
705 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
706 GetParameterValue (), use expressions in ContinueOnError.
707 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
708 instead of InvalidOperationException ().
709 * ImportCollection.cs: Implement CopyTo ().
710 * Target.cs: Remove redundant variables (XmlAttributes), return
711 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
712 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
713 * Import.cs: Throw an exception when file does not exist.
714 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
715 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
716 need to treat item as a token probably
718 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
720 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
722 * BuildItemGroupCollection.cs: Changed exception types.
724 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
726 * Engine.cs: Removed redundant cast.
728 * UsingTaskCollection.cs:
732 * TargetCollection.cs: Comment unused variable.
733 * ConditionTokenizer.cs: Simplified checking if current token is a
735 * Target.cs: Removed old code.
737 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
739 * Target.cs: Changed "" to String.Empty.
740 * TaskEngine.cs: Don't try to convert a parameter to specific type if
741 string was evaluated to String.Empty.
742 * InternalLoggerException.cs:
743 * InvalidProjectFileException.cs: Added LinkDemand before
745 * ConsoleLogger.cs: Changed "" to String.Empty.
746 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
747 with change to generics).
748 * Project.cs: Made Build () throw more meaningful exception.
750 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
752 * Target.cs: Reformatted.
753 * TaskEngine.cs: Removed redundant code.
754 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
755 * Engine.cs: Made BuildProjectFile () load project file if it's not
758 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
760 * ConditionRelationalExpression.cs: Change comparers to case
762 * ImportCollection.cs: Add NotImplementedExceptions.
763 * BuildPropertyGroup.cs: Reformatted a bit.
764 * BuildProperty.cs: The same.
765 * Project.cs: Moved evaluation of imports before evaluation of
766 properties. This may "work" until importing projects is redesigned but
767 probably isn't correct.
769 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
771 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
773 * BuildItemGroup.cs: Change return to continue.
775 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
777 * ConditionParser.cs: Copyright note.
778 * ExpressionCollection.cs: Fixed arrays passing.
780 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
782 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
783 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
784 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
785 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
787 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
789 * Token.cs: Changed names: removed "than".
790 * ConditionRelationalExpression.cs: Added.
791 * ConditionFactorExpression.cs: Added.
792 * BuildItemGroup.cs: Changed Condition property return value to return
793 String.Empty instead of null.
794 * ConditionParser.cs: Added support for parsing relational expressions
796 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
797 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
798 and CanEvaluateToBool (), CanEvaluateToNumber () and
799 CanEvaluateToString ().
800 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
801 appropriately to ConditionExpression base class.
802 * ConditionTokenizer.cs: Added null check and changed names in enums:
804 * ConditionNotExpression.cs: Added.
805 * BatchingImpl.cs: Changed to use BoolEvaluate ().
806 * Project.cs: Added checks for condition.
808 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
810 * ConditionalTokenizer.cs, ConditionalExpression.cs,
811 ConditionalParser.cs: Changed name,
813 * ConditionExpression.cs: Added Evaluate ().
814 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
815 * BatchingImpl.cs: Added check if task should be executed.
817 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
819 * UsingTask.cs: Changed properties to return null on empty attribute.
820 * UsingTaskCollection.cs: Added object to SyncRoot.
821 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
823 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
825 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
826 BuildPropertyGroupCollection.cs: Fixed to match the tests.
828 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
830 * Utilities.cs: Implemented Escape ().
831 * BuildItem.cs: Added null checks.
832 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
833 * Project.cs: Commented out redundant Evaluate ().
834 * BuildChoose.cs: Minor changes.
836 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
838 * Token: Added new few missing tokens.
839 * Target.cs, Project.cs: Patch from Matthew Metnesky.
840 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
841 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
842 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
844 Removed literal expression parsing based on tokenizer and
845 parser. It needs to be done by regex.
847 Moved tokenizer to ConditionalTokenizer.cs.
849 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
851 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
852 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
853 methods converting reference to string from ToString () to
854 ConvertToString () to avoid mistakes like using ToString () provided
857 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
859 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
860 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
861 PropertyReference.cs, BuildProperty.cs: Changed Expression to
862 OldExpression and changed To* functions to one ConvertTo ().
863 * TaskEngine.cs: Fixed PublishOutput ().
864 * OldExpression.cs: Added. It will be temporarily used before
865 LiteralExpression will be written using Tokenizer.
866 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
867 ExpressionParseException.cs, LiteralExpression.cs: Added.
869 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
871 * ImportedProject.cs: Removed warning.
872 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
875 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
877 * Project.cs: Removed unnecessary variable.
878 * Engine.cs: Added fixme.
880 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
882 * BuildItem.cs: Moved checking if metadata name is reserved to internal
883 class (Mono.XBuild.Utilities.ReservedNameUtils).
885 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
887 * BuildTask.cs: Removed unnecessary variable.
888 * Engine.cs: Added logging of the build start.
889 * Project.cs: Removed unnecessary variable.
891 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
893 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
895 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
897 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
899 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
901 * BuildItem.cs: Fix typo?
903 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
905 * InternalLoggerException.cs, InvalidProjectFileException.cs,
906 Engine.cs, Project.cs: Coding style fixes.
908 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
910 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
912 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
914 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
915 to pass tests. Wrote serialization constructor.
916 * Engine.cs, Project.cs: Global engine and project unloading, test and
919 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
921 * UsingTask.cs: Formatting changes.
923 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
925 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
926 to lists instead of hashtables.
927 * Import.cs: Cleaned up, moved importing from Project.cs
928 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
929 * Engine.cs: Cleaned up properties.
930 * Project.cs: Moved importing to Import.cs, cleaned up properties,
931 Separated evaluation and loading.
933 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
935 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
936 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
937 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
938 binding and evaluation, merge xml binding in constructors.
939 * DirectoryScanner.cs: Includes CAN be empty.
940 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
941 * ConsoleLogger.cs: Fix compilation warning.
943 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
945 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
947 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
949 * Engine.cs: API cleanup.
951 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
953 * Project.cs: Cleaned up add.
954 * Expression.cs: Hacked to transform \ and / to path separators.
955 * BuildPropertyGroup.cs: Small cleanup.
956 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
959 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
961 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
962 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
964 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
965 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
966 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
968 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
969 * TaskElement.cs: Temporarily removed.
970 * Xml.cs: Changed to static.
972 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
974 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
975 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
976 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
977 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
978 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
979 IBuildPropertyGroupCollection.cs: Removed.
981 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
983 * BuildItem.cs: Removed IBuildItem references.
984 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
985 IBuildItemGroup references. Changed Evaluate to internal.
986 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
987 reference and hidden constructors.
988 * BuildProperty.cs: Removed IBuildProperty reference.
989 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
990 IBuildPropertyGroup references. Changed Evaluate to internal.
991 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
992 reference and hidden constructors.
993 * ConsoleLogger.cs: Updated names of event handlers.
994 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
995 Escape. Added UnloadAllProjects () and UnloadProject ().
996 * FileLogger.cs: Removed ApplyParameter ().
997 * GroupingCollection.cs: Hidden.
998 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
999 * ItemPropertyGroupingBase.cs: Commented.
1000 * ProcessingPass.cs: Hidden.
1001 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1003 * Target.cs: Removed ITarget reference.
1004 * TargetCollection.cs: Removed ITargetCollection reference.
1005 * TaskElement.cs: Removed ITaskElement reference.
1006 * TaskEngineAssemblyResolver.cs: Hidden.
1007 * Utilities.cs: Made static class, removed CheckPath (),
1008 ValidateCulture (), GetSupportedCultures () and added Escape ().
1010 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1012 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1015 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1017 * Project.cs: Added MonoTODO attributes.
1018 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1019 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1020 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1021 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1022 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1023 BuildItemGroup.cs, InvalidProjectFileException.cs,
1024 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1025 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1026 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1027 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1028 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1029 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1030 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1031 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1032 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1033 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1034 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1035 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1037 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1039 * TaskDatabase.cs: Change Shared to Framework.
1040 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1041 CaseInsensitiveHashCodeProvider
1043 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1045 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1046 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1049 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1051 * InternalLoggerException.cs: Changed protected fields to private.
1053 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1055 * Engine.cs: Added check for globalProperties.
1056 * Project.cs: Added using path from importedProject.FullFileName when
1057 adding UsingTask elements.
1059 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1061 * TaskElement.cs: Changed ReflectedType to PropertyType.
1062 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1065 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1067 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1069 * BuildProperty.cs: Organized PropertyType enum.
1070 * Engine.cs: Added setting CommandLine PropertyType of global
1073 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1075 * InvalidProjectFileException.cs: Changed Message property.
1076 * ChangeType.cs (TransformToString): Added separator between items.
1077 * TaskEngineAssemblyResolver.cs: Formatting.
1079 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1081 * DirectoryScanner.cs: Added.
1082 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1083 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1084 * Project.cs: Removed Evalute* ().
1086 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1088 * Target.cs: Formatting.
1089 * Expression.cs: Added check if array == null.
1090 * BuildItem.cs: Removed 'break' to remove warnings.
1091 * ConsoleLogger.cs: Formatting.
1092 * Engine.cs: Added handling of default target(s).
1093 * Project.cs: Added handling of default target(s).
1095 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1097 * TaskElement.cs: Added check for parameters.
1098 * Target.cs: Added logging of target skipping.
1099 * Expression.cs: Changed returning object[] to string[], bool[]... in
1101 * ItemReference.cs: Fixed for item references without custom
1103 * BatchingImpl.cs: Added real inputs/outputs checking.
1104 * Engine.cs: Moved global properties setting.
1105 * Project.cs: Moved global properties setting.
1107 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1109 * Target.cs: Added checks for target existence.
1110 * BuildItemGroup.cs: Changed to use transforms.
1111 * MetadataReference.cs: Wrote real implementation.
1112 * ItemReference.cs: Rewritten to use transforms.
1113 * BuildItem.cs: Changes for transforms and metadata.
1114 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1116 * Project.cs: Fixed project importing.
1117 * ImportedProject.cs: Changed to throw exceptions instead of returning
1120 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1122 * Engine.cs: Removed FIXME.
1123 * Project.cs: Splitted ProcessElements and added project importing.
1124 * ImportedProject.cs: Rewritten.
1126 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1128 * TaskElement.cs: Added getting of objects of every type.
1129 * BuildItemGroup.cs: Added ToITaskItemArray ().
1130 * Expression.cs: Implemented part that is not using metadata.
1131 * ItemReference.cs: Implemented parsing item references. Need to fix
1133 * BuildItem.cs: Fixed ToITaskItem ().
1134 * PropertyReference.cs: Implemented parsing property references. This
1135 also needs validity checking.
1137 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1139 * TaskElement.cs: Added Output element handling.
1140 * Target.cs: Cleaned up.
1141 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1142 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1143 ItemReference.cs, ChangeType.cs: Added.
1144 * BuildItem.cs: Added creating BuildItem from TaskItem.
1145 * BuildPropertyGroup.cs: Small changes.
1146 * BatchingImpl.cs: Fixed to return real task execution result.
1147 * BuildProperty.cs: Fixed FinalValue property.
1148 * Engine.cs: Reformatted logging.
1149 * Project.cs: Added check to EvaluateProperty.
1151 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1153 * TaskElement.cs: Added part of execution engine.
1154 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1155 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1156 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1157 * BuildItem.cs: Added handling of built-in metadata and referencing
1158 Items by name not FullName.
1159 * BatchingImpl.cs: Added temporary task "batching".
1160 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1161 * Project.cs: Added Evaluate. It will be moved to separate class.
1163 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1165 * EventSource.cs, Engine.cs: Added CriticalEvents.
1166 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1167 Project.cs: Added some support for items.
1168 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1170 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1172 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1175 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1177 * BatchingImpl.cs: Added.
1178 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1179 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1180 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1181 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1182 GroupingCollection.cs: Updated.
1184 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1186 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1187 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1188 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1189 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1190 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1191 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1192 InternalLoggerException.cs, InvalidProjectFileException.cs,
1193 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1194 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1195 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1196 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1197 Initial check-in of implementations.
1199 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1201 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1202 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1203 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1204 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1205 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1206 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1207 Initial check-in of interfaces and a syntax file, real classes are
1208 changing a lot so I'll wait a moment with checking them in.