1 2009-07-23 Ankit Jain <jankit@novell.com>
4 * Project.cs (ExtensionsPath): New.
5 (InitializeProperties): Set "MSBuildExtensionsPath" property.
7 2009-06-12 Ankit Jain <jankit@novell.com>
10 * ExpressionCollection.cs (ConvertToITaskItemArray): Whitespace around a
11 itemref is allowed if the prev/next element is ";".
13 2009-06-12 Ankit Jain <jankit@novell.com>
15 * Utilities.cs (FromMSBuildPath): Return null if the path contains
16 "drive:" only on windows.
18 2009-06-07 Ankit Jain <jankit@novell.com>
20 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
23 2009-05-29 Ankit Jain <jankit@novell.com>
25 Correctly handle global properties. Correctly log
28 * BuildPropertyGroup.cs (Clone): Implement.
29 * Engine.cs (globalProperties): Rename to ..
30 (global_properties): .. this.
31 (currentlyBuildingProjectsStack): New. Used to correctly
32 log and raise project/build start/finish events.
33 (BuildProjectFile): Override any project global properties
34 with explicitly specified ones, here in the param @globalProperties.
35 Mark project for reevaluation, which will update the engine's
36 global properties also.
37 Reset both engine and project's old global properties at the end.
38 (UnregisterAllLoggers): Log build finished only if we are currently
40 (StartBuild): Rename to ..
41 (StartProjectBuild): .. this. Keeps track of the projects being built
42 in the new stack, and logs project and build events accordingly.
43 (EndProjectBuild): New. Uses the stack to keep track of projects
44 finishing builds, and raises project and build events accordingly.
45 (LogProjectStarted): Move here from Project.cs
46 (LogProjectFinished): Likewise.
48 * Project.cs (Build): Log start of project build.
49 Set current directory to the project file's dir, and reset at end.
50 (BuildInternal): Don't log here, its done in Build.
51 (BuildTarget): Already built targets are keyed by the set of global
52 properties that they were built with.
53 (GlobalPropertiesToString): New.
54 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
55 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
56 (Evaluate): Remove built targets only if we are currently building and
57 build settings are None.
58 Merge project's global properties with those of the parent engine.
59 Add missing properties from engine's global properties.
60 (LogTargetSkipped): Fix format string, add the reqd argument.
62 2009-05-29 Ankit Jain <jankit@novell.com>
64 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
65 (HasTrailingSlash): New.
67 2009-05-12 Ankit Jain <jankit@novell.com>
69 * Project.cs (.ctor): Init timeOfLastDirty.
71 2009-05-05 Miguel de Icaza <miguel@novell.com>
73 * Contribution from Martin Brenn to fix #498154.
75 2009-04-27 Ankit Jain <jankit@novell.com>
78 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
79 one passed as argument.
81 2009-04-27 Ankit Jain <jankit@novell.com>
83 * TaskEngine.cs (Prepare): Emit a useful error message property value
84 can't be converted to required type.
86 2009-04-27 Ankit Jain <jankit@novell.com>
88 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
89 as valid true values for bool, and corresponding for false.
91 2009-03-27 Jonathan Chambers <joncham@gmail.com>
93 * BuildWhen.cs: Add basic implementation.
94 * BuildChoose.cs: Add basic implementation.
95 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
96 EvaluatedItemsIgnoringCondition.
97 * GroupingCollection.cs: Add evaluation of BuildChoose items.
99 2009-03-26 Jonathan Chambers <joncham@gmail.com>
101 * TaskDatabase.cs (RegisterTask): Search for class by name
102 if task was not found using GetType (which uses namespace).
104 2009-02-26 Ankit Jain <jankit@novell.com>
106 * Target.cs: Handle target with no tasks. Log errors.
108 2009-02-24 Ankit Jain <jankit@novell.com>
110 Lazily load UsingTask tasks.
111 * UsingTask.cs (Evaluate): Register 'this' with task database,
112 but don't load it yet. Register only if condition evaluates to true.
113 Move the load logic to ..
114 (Load): .. here. Register with the specified task database.
115 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
116 in a table keyed by task name, but don't load it yet.
117 (GetTypeFromClassName): Try to load UsingTask if task is not already
118 loaded. Move loading logic to ..
119 (GetTypeFromClassNameInternal): .. here.
120 (CopyTasks): Copy the usingTasks table also.
122 2009-02-23 Ankit Jain <jankit@novell.com>
124 * BuildItem.cs (AddMetadata): Allow overwriting older values.
126 2009-02-22 Ankit Jain <jankit@novell.com>
128 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
129 instead of XmlElement. Eg. XmlComment
131 2009-02-21 Ankit Jain <jankit@novell.com>
133 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
134 * Project.cs (Load): Use FromMSBuildPath on the path.
135 (InitializeProperties): Set "MSBuildToolsPath" also.
137 2009-02-20 Ankit Jain <jankit@novell.com>
140 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
141 transforms) in conditions.
142 * ConditionParser.cs: Parse unquoted item, property references.
143 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
144 * Token.cs (Token.ToString): Override.
145 (TokenType.Transform): Uncomment.
147 2009-02-12 Jonathan Chambers <joncham@gmail.com>
149 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
150 no XmlElement.InnerText. This allows properties to be additional
153 2009-02-01 Ankit Jain <jankit@novell.com>
155 * BuildEngine.cs (BuildProjectFile): Use
156 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
157 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
158 built. Move logging of project start/finish to ..
159 * Project.cs: .. here. Build a target only if hasn't been built already.
160 Keep track of target outputs, and return those even if an already built
161 target has been invoked again.
162 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
164 2009-01-31 Ankit Jain <jankit@novell.com>
166 * BatchingImpl.cs: Split into ..
167 * BatchingImplBase.cs: .. this,
168 * TaskBatchingImpl.cs: .. this ..
169 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
171 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
172 (Log*): Move to TargetBatchingImpl .
176 2009-01-30 Ankit Jain <jankit@novell.com>
178 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
181 2009-01-29 Ankit Jain <jankit@novell.com>
183 * BuildItem.cs (child_items): Change type from BuildItemGroup to
185 (HasParent): Rename to ..
186 (HasParentItem): .. this.
187 (ParentItemGroup): Add setter.
189 * BuildItemGroup.cs (.ctor): Add overload with @project param.
191 (AddItem): Correctly set the ParentItemGroup for new build items.
192 (ParentProject): Add setter.
193 * Project.cs: Set the project for new BuildItemGroup instances.
194 * TaskEngine.cs (PublishItemGroup): Likewise.
196 2009-01-06 Ankit Jain <jankit@novell.com>
198 * Project.cs (Build): Honor InitialTargets list.
200 2009-01-06 Ankit Jain <jankit@novell.com>
202 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
203 the property type also.
204 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
207 2009-01-06 Ankit Jain <jankit@novell.com>
209 * Project.cs (Build): Correctly handle null targetNames argument.
211 2009-01-06 Ankit Jain <jankit@novell.com>
213 * Engine.cs (LogProjectStarted): Add a null check.
215 2009-01-01 Ankit Jain <jankit@novell.com>
217 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
218 * ChangeType (ToBuildItemGroup): Add 'split' param.
220 * Expression.cs (Parse): Add a new overload with a 'split' param.
221 * ExpressionCollection.cs (Add): Add new overload for IReference,
222 remove the ones for Item/Metadata/PropertyReference.
223 (ConvertToArray): Implement correctly.
224 (ConvertToString): Track api changes.
225 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
226 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
227 (AddItemsToArray): New.
228 (ConvertToITaskItemArrayFromString): Refactor a bit.
229 (ThrowCantConcatError): New.
230 * ItemReference.cs: Update.
231 * MetadataReference.cs: Update.
232 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
234 * BuildPropertyGroup.cs: Track api changes.
235 * TaskEngine.cs (PublishOutput): Improve exception message.
236 * Project.cs (DoLoad): Improve exception message. Add a null check.
238 2008-12-30 Ankit Jain <jankit@novell.com>
240 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
241 metadata values for unqualified references.
242 (BuildItemGroupToITaskItemArray): Rename to ..
243 (BuildItemGroupToITaskItems): .. this.
246 2008-12-18 Ankit Jain <jankit@novell.com>
248 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
250 2008-12-17 Ankit Jain <jankit@novell.com>
252 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
253 only one instance of unique metadata value is required.
255 2008-11-22 Ankit Jain <jankit@novell.com>
257 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
259 * MetadataReference.cs (ConvertToITaskItemArray): New.
260 * Project.cs (GetAllItemGroups): New.
262 2008-11-21 Ankit Jain <jankit@novell.com>
264 * BatchingImpl.cs: Add task batching implementation.
265 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
266 * ExpressionCollection.cs (Count): New.
267 (ConvertToString): Handle MetadataReference.
268 * ItemReference.cs (ConvertToString):
269 (ConvertToITaskItemArray): Use the batching api.
271 * MetadataReference.cs (ConvertToString): New.
273 * Project.cs: Add api for accessing batched items and metadata.
274 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
277 2008-10-01 Ankit Jain <jankit@novell.com>
279 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
280 (BuildProjectFile): If filename is null (project.LoadXml) then use
282 * BuildTask.cs (InitializeTask): Track api change.
283 * Expression.cs (Parse): Skip empty entries in the expression.
285 2008-09-24 Ankit Jain <jankit@novell.com>
287 * Engine.cs: Add argument checks.
288 * Project.cs: Likewise.
290 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
292 * Project.cs (Build): Add outputs to targetOutputs.
294 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
296 * ExpressionCollection.cs (ConvertToArray): Simplify.
298 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
300 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
301 simplified. It still needs tests and refactoring.
303 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
305 * BuildEngine.cs (BuildProjectFile): Don't crash on null
308 * Target.cs: Add Outputs property.
310 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
312 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
313 (). Support condition.
315 * BatchingImpl.cs (BatchBuildTask): Simplify.
317 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
319 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
322 * ConditionFunctionExpression.cs: Removed warnings.
324 * BuildTask.cs (Execute): Write exceptions to std err (they should be
325 logged but it's better than swallowing).
327 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
329 * ConditionTokenizer.cs: Add Putback ().
331 * ConditionParser.cs: Add parsing of functions.
333 * ConditionFunctionExpression.cs: Add.
335 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
337 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
338 set property in persisted property group.
340 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
342 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
345 * ConsoleLogger.cs (TargetFinishedHandler)
346 (TaskFinishedHandler): Increment error count.
348 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
350 * BuildItem.cs (RemoveMetadata): Remove from XML.
351 (SetMetadata): Trigger project reevaluation.
353 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
355 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
358 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
360 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
361 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
362 BatchingImpl.cs, BuildProperty.cs: Track API changes.
364 * Expression.cs (Parse): Added allowItems parameter and made regexes
367 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
368 will try to import a.ext when given a.EXT.
370 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
372 * BuildItemGroup.cs: Store information saying what is the last item
373 group that contains build item name.
375 * Project.cs (Build): Pass empty array (build default targets).
377 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
379 * Token.cs: Commented Transform and LiteralSubExpression and added
382 * ConditionParser.cs: Removed redundant casts, rewrote
383 ParseFactorExpression () and added parsing of '!'.
385 * ConditionTokenizer.cs: Always skip whitespaces when getting next
386 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
387 Moved ReadChar () in front of all ifs.
389 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
391 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
392 from XML. (not to escape items that have parents twice).
394 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
396 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
397 (Project): Renamed to ParentProject.
399 * BuildItem.cs (ctor)
400 (CopyCustomMetadata): Add null check.
402 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
403 (RemoveProperty): Added null check.
405 * TargetCollection.cs (RemoveTarget): Added null check.
407 * Engine.cs (UnloadProject): Added null check.
409 * GroupingCollection.cs (Remove): Check if removed group belongs to
412 * Project.cs (AddNewItem): Implemented.
413 (RemoveItem): Reorganized.
414 (SetProjectExtensions): Added null check.
416 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
418 * BuildItemGroup.cs (Detach): Added.
420 (RemoveItemAt): Used Detach ().
422 * BuildItem.cs: Made FromXml and HasParent internal and added
423 ParentItem and ParentItemGroup properties (internal).
426 * GroupingCollection.cs (Remove): Used Detach ().
428 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
430 (GetEvaluatedItemsByNameIgnoringCondition)
431 (GetEvaluatedItemsByName)
432 (GetEvaluatedProperty): Reevaluate if needed.
434 (RemoveAllItemGroups)
435 (RemoveAllPropertyGroups): Implemented.
436 (DoLoad): Added closing of TextReader.
438 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
440 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
441 change but just mark that it needs it.
443 * Project.cs: Reevaluate when it needs reevaluation and one of
444 Evaluated* properties is used.
446 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
448 * Target.cs: Throw an exception when <OnError> is not last element in
451 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
453 * TargetCollection.cs: If a target is already there replace it with
456 * BuildProperty.cs: Added XmlElement property.
458 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
460 * ImportCollection.cs: Don't add imports that are already added.
462 * BuildItemGroup.cs: MonoTODOs.
464 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
465 condition can't be evaluated to bool.
467 * BuildPropertyGroup.cs (Evaluate): Simplify.
469 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
471 * BuildWhen.cs: Moved BindToXml () code to ctor.
473 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
474 property needed for removing groups.
476 * Engine.cs: Added StartBuild () that logs build start when Build ()
479 * GroupingCollection.cs: Added Remove () for item and property groups.
481 * Project.cs (AddNewImport): Implemented.
482 (AddNewItemGroup): Implemented.
483 (AddNewPropertyGroup): Implemented.
484 (AddNewUsingTaskFromAssemblyFile): Implemented.
485 (AddNewUsingTaskFromAssemblyName): Implemented.
486 (RemoveItemGroup): Implemented.
487 (RemovePropertyGroup): Implemented.
489 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
491 * BuildItemGroup.cs (Clear): Remove from XML.
493 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
494 to Project.EvaluatedProperties.
495 (Clear): Remove from XML.
497 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
499 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
502 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
504 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
505 Add () calls when processing a project from Import and
506 evaluate_iterator for evaluation.
508 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
510 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
511 and prepend relative directory of importing project to full path of
514 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
516 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
517 BuildItemGroupCollection.cs, Project.cs: Track API changes.
519 * GroupingCollection.cs: Now it needs Project reference so added it.
521 * BuildTask.cs: Formatting.
523 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
525 * ConditionParser.cs (ParseAndEvaluate): Added.
527 * BuildItem.cs: Changed exception message.
529 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
531 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
532 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
533 GroupingCollection doesn't need Project reference.
535 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
537 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
538 (Project.EvaluatedItems is a read only item group.)
539 (ReplaceWith): Added.
541 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
542 global property group causes reevaluation of its project.
544 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
547 * OldExpression.cs: Removed.
549 * BuildProperty.cs (Evaluate): Simplified.
551 * ChangeType.cs (TemporaryTransform): Simplified.
553 * BuildItem.cs: There are now 3 types of build items: from XML, having
554 parent from XML, virtual. Added SplitParentItem ().
556 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
558 * Utilities.cs: Added Unescape ().
560 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
561 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
562 groups (at the moment just unescape).
564 * Expression.cs (CopyToExpressionList): Unescape strings.
566 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
568 * Target.cs (ctor): Added ImportedProject argument and removed
570 (AddNewTask): Implemented.
572 * TargetCollection.cs (AddNewTarget): Implemented.
574 * Project.cs: Track API changes.
576 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
578 * Target.cs (Build): Don't throw anything in case of error, just
581 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
584 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
587 * BuildProperty.cs (ToString): Throw an exception if property is not
589 (op_Explicit): Added a null check.
591 * Engine.cs: Better error message.
593 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
594 IndexOutOfRangeException.
596 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
597 (MarkProjectAsDirty): Set time.
599 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
601 * BuildItemGroup.cs (Clone): Throw exception.
603 * Project.cs (Load): Throw InvalidProjectFileException if anything
606 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
608 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
609 and ConvertToITaskItemArray ().
611 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
613 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
614 classes that were public in Beta 2 and aren't used.
616 * Expression.cs: Added replacement for parsing expressions char by
617 char. It uses regexes to find item/property/metadata references in
620 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
621 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
622 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
624 * ConditionRelationalExpression.cs: Formatting.
626 * OldExpression.cs: Commented everything.
628 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
629 parsing to Expression.
631 * BuildItem.cs: Check if project is from XML in set_Condition and
634 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
637 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
638 can evaluate expression in CanEvaluateToBool ().
640 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
642 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
643 which item group is imported.
645 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
647 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
649 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
650 BuildItemGroupCollection.cs: Little changes related to
653 * ImportCollection.cs: Use GroupingCollection not an internal list.
655 * Import.cs (Evaluate): Split to functions and check if
656 EvaluatedProjectPath is empty.
658 * GroupingCollection.cs, Project.cs: Move evaluation to
659 GroupingCollection. Change algorithm to use 2 passes: first for property
660 groups and imports and second for item groups.
662 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
664 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
665 BuildItemGroup> not IDictionary.
667 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
668 evaluated to false because we want to add every item to
669 Project.EvaluatedItemsByNameIgnoringCondition.
671 * Project.cs (Build): Don't throw an exception just return false.
672 (GetEvaluatedProperty): Avoid NullReferenceException.
673 (SetProjectExtensions): Implemented.
675 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
677 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
679 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
680 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
681 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
683 * ImportCollection.cs: Added a note.
685 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
687 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
689 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
690 (UsingTask[] array, int index)
692 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
693 items to Project.EvaluatedItems in PublishItemGroup ();
695 * BuildItemGroup.cs: Added [MonoTODO].
697 * UsingTask.cs: Used expression for AssemblyFile to get around
698 problems with '\' and '/'.
700 * BuildItem.cs (ctor): Added null checks.
701 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
702 (SetMetadata): Don't escape evaluatedMetadata and escape
703 unevaluatedMetadata only when treatPropertyValueAsLiteral.
705 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
706 FromXml () instead of null checks.
707 (SetProperty): Escape propertyValue when it is literal.
709 * BuildProperty.cs: Changed exception message.
711 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
713 (GetProjectExtensions): Implemented.
715 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
717 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
718 GetParameterValue (), use expressions in ContinueOnError.
719 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
720 instead of InvalidOperationException ().
721 * ImportCollection.cs: Implement CopyTo ().
722 * Target.cs: Remove redundant variables (XmlAttributes), return
723 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
724 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
725 * Import.cs: Throw an exception when file does not exist.
726 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
727 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
728 need to treat item as a token probably
730 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
732 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
734 * BuildItemGroupCollection.cs: Changed exception types.
736 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
738 * Engine.cs: Removed redundant cast.
740 * UsingTaskCollection.cs:
744 * TargetCollection.cs: Comment unused variable.
745 * ConditionTokenizer.cs: Simplified checking if current token is a
747 * Target.cs: Removed old code.
749 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
751 * Target.cs: Changed "" to String.Empty.
752 * TaskEngine.cs: Don't try to convert a parameter to specific type if
753 string was evaluated to String.Empty.
754 * InternalLoggerException.cs:
755 * InvalidProjectFileException.cs: Added LinkDemand before
757 * ConsoleLogger.cs: Changed "" to String.Empty.
758 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
759 with change to generics).
760 * Project.cs: Made Build () throw more meaningful exception.
762 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
764 * Target.cs: Reformatted.
765 * TaskEngine.cs: Removed redundant code.
766 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
767 * Engine.cs: Made BuildProjectFile () load project file if it's not
770 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
772 * ConditionRelationalExpression.cs: Change comparers to case
774 * ImportCollection.cs: Add NotImplementedExceptions.
775 * BuildPropertyGroup.cs: Reformatted a bit.
776 * BuildProperty.cs: The same.
777 * Project.cs: Moved evaluation of imports before evaluation of
778 properties. This may "work" until importing projects is redesigned but
779 probably isn't correct.
781 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
783 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
785 * BuildItemGroup.cs: Change return to continue.
787 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
789 * ConditionParser.cs: Copyright note.
790 * ExpressionCollection.cs: Fixed arrays passing.
792 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
794 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
795 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
796 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
797 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
799 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
801 * Token.cs: Changed names: removed "than".
802 * ConditionRelationalExpression.cs: Added.
803 * ConditionFactorExpression.cs: Added.
804 * BuildItemGroup.cs: Changed Condition property return value to return
805 String.Empty instead of null.
806 * ConditionParser.cs: Added support for parsing relational expressions
808 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
809 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
810 and CanEvaluateToBool (), CanEvaluateToNumber () and
811 CanEvaluateToString ().
812 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
813 appropriately to ConditionExpression base class.
814 * ConditionTokenizer.cs: Added null check and changed names in enums:
816 * ConditionNotExpression.cs: Added.
817 * BatchingImpl.cs: Changed to use BoolEvaluate ().
818 * Project.cs: Added checks for condition.
820 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
822 * ConditionalTokenizer.cs, ConditionalExpression.cs,
823 ConditionalParser.cs: Changed name,
825 * ConditionExpression.cs: Added Evaluate ().
826 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
827 * BatchingImpl.cs: Added check if task should be executed.
829 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
831 * UsingTask.cs: Changed properties to return null on empty attribute.
832 * UsingTaskCollection.cs: Added object to SyncRoot.
833 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
835 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
837 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
838 BuildPropertyGroupCollection.cs: Fixed to match the tests.
840 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
842 * Utilities.cs: Implemented Escape ().
843 * BuildItem.cs: Added null checks.
844 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
845 * Project.cs: Commented out redundant Evaluate ().
846 * BuildChoose.cs: Minor changes.
848 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
850 * Token: Added new few missing tokens.
851 * Target.cs, Project.cs: Patch from Matthew Metnesky.
852 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
853 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
854 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
856 Removed literal expression parsing based on tokenizer and
857 parser. It needs to be done by regex.
859 Moved tokenizer to ConditionalTokenizer.cs.
861 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
863 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
864 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
865 methods converting reference to string from ToString () to
866 ConvertToString () to avoid mistakes like using ToString () provided
869 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
871 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
872 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
873 PropertyReference.cs, BuildProperty.cs: Changed Expression to
874 OldExpression and changed To* functions to one ConvertTo ().
875 * TaskEngine.cs: Fixed PublishOutput ().
876 * OldExpression.cs: Added. It will be temporarily used before
877 LiteralExpression will be written using Tokenizer.
878 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
879 ExpressionParseException.cs, LiteralExpression.cs: Added.
881 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
883 * ImportedProject.cs: Removed warning.
884 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
887 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
889 * Project.cs: Removed unnecessary variable.
890 * Engine.cs: Added fixme.
892 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
894 * BuildItem.cs: Moved checking if metadata name is reserved to internal
895 class (Mono.XBuild.Utilities.ReservedNameUtils).
897 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
899 * BuildTask.cs: Removed unnecessary variable.
900 * Engine.cs: Added logging of the build start.
901 * Project.cs: Removed unnecessary variable.
903 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
905 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
907 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
909 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
911 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
913 * BuildItem.cs: Fix typo?
915 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
917 * InternalLoggerException.cs, InvalidProjectFileException.cs,
918 Engine.cs, Project.cs: Coding style fixes.
920 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
922 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
924 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
926 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
927 to pass tests. Wrote serialization constructor.
928 * Engine.cs, Project.cs: Global engine and project unloading, test and
931 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
933 * UsingTask.cs: Formatting changes.
935 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
937 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
938 to lists instead of hashtables.
939 * Import.cs: Cleaned up, moved importing from Project.cs
940 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
941 * Engine.cs: Cleaned up properties.
942 * Project.cs: Moved importing to Import.cs, cleaned up properties,
943 Separated evaluation and loading.
945 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
947 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
948 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
949 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
950 binding and evaluation, merge xml binding in constructors.
951 * DirectoryScanner.cs: Includes CAN be empty.
952 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
953 * ConsoleLogger.cs: Fix compilation warning.
955 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
957 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
959 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
961 * Engine.cs: API cleanup.
963 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
965 * Project.cs: Cleaned up add.
966 * Expression.cs: Hacked to transform \ and / to path separators.
967 * BuildPropertyGroup.cs: Small cleanup.
968 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
971 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
973 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
974 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
976 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
977 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
978 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
980 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
981 * TaskElement.cs: Temporarily removed.
982 * Xml.cs: Changed to static.
984 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
986 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
987 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
988 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
989 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
990 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
991 IBuildPropertyGroupCollection.cs: Removed.
993 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
995 * BuildItem.cs: Removed IBuildItem references.
996 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
997 IBuildItemGroup references. Changed Evaluate to internal.
998 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
999 reference and hidden constructors.
1000 * BuildProperty.cs: Removed IBuildProperty reference.
1001 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
1002 IBuildPropertyGroup references. Changed Evaluate to internal.
1003 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
1004 reference and hidden constructors.
1005 * ConsoleLogger.cs: Updated names of event handlers.
1006 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
1007 Escape. Added UnloadAllProjects () and UnloadProject ().
1008 * FileLogger.cs: Removed ApplyParameter ().
1009 * GroupingCollection.cs: Hidden.
1010 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
1011 * ItemPropertyGroupingBase.cs: Commented.
1012 * ProcessingPass.cs: Hidden.
1013 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1015 * Target.cs: Removed ITarget reference.
1016 * TargetCollection.cs: Removed ITargetCollection reference.
1017 * TaskElement.cs: Removed ITaskElement reference.
1018 * TaskEngineAssemblyResolver.cs: Hidden.
1019 * Utilities.cs: Made static class, removed CheckPath (),
1020 ValidateCulture (), GetSupportedCultures () and added Escape ().
1022 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1024 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1027 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1029 * Project.cs: Added MonoTODO attributes.
1030 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1031 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1032 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1033 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1034 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1035 BuildItemGroup.cs, InvalidProjectFileException.cs,
1036 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1037 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1038 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1039 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1040 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1041 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1042 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1043 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1044 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1045 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1046 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1047 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1049 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1051 * TaskDatabase.cs: Change Shared to Framework.
1052 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1053 CaseInsensitiveHashCodeProvider
1055 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1057 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1058 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1061 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1063 * InternalLoggerException.cs: Changed protected fields to private.
1065 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1067 * Engine.cs: Added check for globalProperties.
1068 * Project.cs: Added using path from importedProject.FullFileName when
1069 adding UsingTask elements.
1071 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1073 * TaskElement.cs: Changed ReflectedType to PropertyType.
1074 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1077 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1079 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1081 * BuildProperty.cs: Organized PropertyType enum.
1082 * Engine.cs: Added setting CommandLine PropertyType of global
1085 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1087 * InvalidProjectFileException.cs: Changed Message property.
1088 * ChangeType.cs (TransformToString): Added separator between items.
1089 * TaskEngineAssemblyResolver.cs: Formatting.
1091 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1093 * DirectoryScanner.cs: Added.
1094 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1095 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1096 * Project.cs: Removed Evalute* ().
1098 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1100 * Target.cs: Formatting.
1101 * Expression.cs: Added check if array == null.
1102 * BuildItem.cs: Removed 'break' to remove warnings.
1103 * ConsoleLogger.cs: Formatting.
1104 * Engine.cs: Added handling of default target(s).
1105 * Project.cs: Added handling of default target(s).
1107 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1109 * TaskElement.cs: Added check for parameters.
1110 * Target.cs: Added logging of target skipping.
1111 * Expression.cs: Changed returning object[] to string[], bool[]... in
1113 * ItemReference.cs: Fixed for item references without custom
1115 * BatchingImpl.cs: Added real inputs/outputs checking.
1116 * Engine.cs: Moved global properties setting.
1117 * Project.cs: Moved global properties setting.
1119 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1121 * Target.cs: Added checks for target existence.
1122 * BuildItemGroup.cs: Changed to use transforms.
1123 * MetadataReference.cs: Wrote real implementation.
1124 * ItemReference.cs: Rewritten to use transforms.
1125 * BuildItem.cs: Changes for transforms and metadata.
1126 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1128 * Project.cs: Fixed project importing.
1129 * ImportedProject.cs: Changed to throw exceptions instead of returning
1132 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1134 * Engine.cs: Removed FIXME.
1135 * Project.cs: Splitted ProcessElements and added project importing.
1136 * ImportedProject.cs: Rewritten.
1138 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1140 * TaskElement.cs: Added getting of objects of every type.
1141 * BuildItemGroup.cs: Added ToITaskItemArray ().
1142 * Expression.cs: Implemented part that is not using metadata.
1143 * ItemReference.cs: Implemented parsing item references. Need to fix
1145 * BuildItem.cs: Fixed ToITaskItem ().
1146 * PropertyReference.cs: Implemented parsing property references. This
1147 also needs validity checking.
1149 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1151 * TaskElement.cs: Added Output element handling.
1152 * Target.cs: Cleaned up.
1153 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1154 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1155 ItemReference.cs, ChangeType.cs: Added.
1156 * BuildItem.cs: Added creating BuildItem from TaskItem.
1157 * BuildPropertyGroup.cs: Small changes.
1158 * BatchingImpl.cs: Fixed to return real task execution result.
1159 * BuildProperty.cs: Fixed FinalValue property.
1160 * Engine.cs: Reformatted logging.
1161 * Project.cs: Added check to EvaluateProperty.
1163 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1165 * TaskElement.cs: Added part of execution engine.
1166 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1167 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1168 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1169 * BuildItem.cs: Added handling of built-in metadata and referencing
1170 Items by name not FullName.
1171 * BatchingImpl.cs: Added temporary task "batching".
1172 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1173 * Project.cs: Added Evaluate. It will be moved to separate class.
1175 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1177 * EventSource.cs, Engine.cs: Added CriticalEvents.
1178 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1179 Project.cs: Added some support for items.
1180 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1182 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1184 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1187 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1189 * BatchingImpl.cs: Added.
1190 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1191 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1192 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1193 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1194 GroupingCollection.cs: Updated.
1196 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1198 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1199 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1200 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1201 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1202 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1203 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1204 InternalLoggerException.cs, InvalidProjectFileException.cs,
1205 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1206 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1207 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1208 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1209 Initial check-in of implementations.
1211 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1213 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1214 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1215 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1216 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1217 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1218 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1219 Initial check-in of interfaces and a syntax file, real classes are
1220 changing a lot so I'll wait a moment with checking them in.