1 2009-07-30 Ankit Jain <jankit@novell.com>
3 * Project.cs (InitializeProperties) Set 'MSBuildProjectFile' and
4 'MSBuildProjectName' properties.
6 2009-07-28 Ankit Jain <jankit@novell.com>
8 * TaskEngine.cs (Prepare): Fix formatting mistake.
9 * ConsoleLogger.cs: Emit "-- FAILED" also when project/target building
10 fails. Also, emit result of project at Normal verbosity level.
12 2009-07-23 Ankit Jain <jankit@novell.com>
15 * Project.cs (ExtensionsPath): New.
16 (InitializeProperties): Set "MSBuildExtensionsPath" property.
18 2009-06-12 Ankit Jain <jankit@novell.com>
21 * ExpressionCollection.cs (ConvertToITaskItemArray): Whitespace around a
22 itemref is allowed if the prev/next element is ";".
24 2009-06-12 Ankit Jain <jankit@novell.com>
26 * Utilities.cs (FromMSBuildPath): Return null if the path contains
27 "drive:" only on windows.
29 2009-06-07 Ankit Jain <jankit@novell.com>
31 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
34 2009-05-29 Ankit Jain <jankit@novell.com>
36 Correctly handle global properties. Correctly log
39 * BuildPropertyGroup.cs (Clone): Implement.
40 * Engine.cs (globalProperties): Rename to ..
41 (global_properties): .. this.
42 (currentlyBuildingProjectsStack): New. Used to correctly
43 log and raise project/build start/finish events.
44 (BuildProjectFile): Override any project global properties
45 with explicitly specified ones, here in the param @globalProperties.
46 Mark project for reevaluation, which will update the engine's
47 global properties also.
48 Reset both engine and project's old global properties at the end.
49 (UnregisterAllLoggers): Log build finished only if we are currently
51 (StartBuild): Rename to ..
52 (StartProjectBuild): .. this. Keeps track of the projects being built
53 in the new stack, and logs project and build events accordingly.
54 (EndProjectBuild): New. Uses the stack to keep track of projects
55 finishing builds, and raises project and build events accordingly.
56 (LogProjectStarted): Move here from Project.cs
57 (LogProjectFinished): Likewise.
59 * Project.cs (Build): Log start of project build.
60 Set current directory to the project file's dir, and reset at end.
61 (BuildInternal): Don't log here, its done in Build.
62 (BuildTarget): Already built targets are keyed by the set of global
63 properties that they were built with.
64 (GlobalPropertiesToString): New.
65 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
66 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
67 (Evaluate): Remove built targets only if we are currently building and
68 build settings are None.
69 Merge project's global properties with those of the parent engine.
70 Add missing properties from engine's global properties.
71 (LogTargetSkipped): Fix format string, add the reqd argument.
73 2009-05-29 Ankit Jain <jankit@novell.com>
75 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
76 (HasTrailingSlash): New.
78 2009-05-12 Ankit Jain <jankit@novell.com>
80 * Project.cs (.ctor): Init timeOfLastDirty.
82 2009-05-05 Miguel de Icaza <miguel@novell.com>
84 * Contribution from Martin Brenn to fix #498154.
86 2009-04-27 Ankit Jain <jankit@novell.com>
89 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
90 one passed as argument.
92 2009-04-27 Ankit Jain <jankit@novell.com>
94 * TaskEngine.cs (Prepare): Emit a useful error message property value
95 can't be converted to required type.
97 2009-04-27 Ankit Jain <jankit@novell.com>
99 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
100 as valid true values for bool, and corresponding for false.
102 2009-03-27 Jonathan Chambers <joncham@gmail.com>
104 * BuildWhen.cs: Add basic implementation.
105 * BuildChoose.cs: Add basic implementation.
106 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
107 EvaluatedItemsIgnoringCondition.
108 * GroupingCollection.cs: Add evaluation of BuildChoose items.
110 2009-03-26 Jonathan Chambers <joncham@gmail.com>
112 * TaskDatabase.cs (RegisterTask): Search for class by name
113 if task was not found using GetType (which uses namespace).
115 2009-02-26 Ankit Jain <jankit@novell.com>
117 * Target.cs: Handle target with no tasks. Log errors.
119 2009-02-24 Ankit Jain <jankit@novell.com>
121 Lazily load UsingTask tasks.
122 * UsingTask.cs (Evaluate): Register 'this' with task database,
123 but don't load it yet. Register only if condition evaluates to true.
124 Move the load logic to ..
125 (Load): .. here. Register with the specified task database.
126 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
127 in a table keyed by task name, but don't load it yet.
128 (GetTypeFromClassName): Try to load UsingTask if task is not already
129 loaded. Move loading logic to ..
130 (GetTypeFromClassNameInternal): .. here.
131 (CopyTasks): Copy the usingTasks table also.
133 2009-02-23 Ankit Jain <jankit@novell.com>
135 * BuildItem.cs (AddMetadata): Allow overwriting older values.
137 2009-02-22 Ankit Jain <jankit@novell.com>
139 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
140 instead of XmlElement. Eg. XmlComment
142 2009-02-21 Ankit Jain <jankit@novell.com>
144 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
145 * Project.cs (Load): Use FromMSBuildPath on the path.
146 (InitializeProperties): Set "MSBuildToolsPath" also.
148 2009-02-20 Ankit Jain <jankit@novell.com>
151 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
152 transforms) in conditions.
153 * ConditionParser.cs: Parse unquoted item, property references.
154 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
155 * Token.cs (Token.ToString): Override.
156 (TokenType.Transform): Uncomment.
158 2009-02-12 Jonathan Chambers <joncham@gmail.com>
160 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
161 no XmlElement.InnerText. This allows properties to be additional
164 2009-02-01 Ankit Jain <jankit@novell.com>
166 * BuildEngine.cs (BuildProjectFile): Use
167 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
168 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
169 built. Move logging of project start/finish to ..
170 * Project.cs: .. here. Build a target only if hasn't been built already.
171 Keep track of target outputs, and return those even if an already built
172 target has been invoked again.
173 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
175 2009-01-31 Ankit Jain <jankit@novell.com>
177 * BatchingImpl.cs: Split into ..
178 * BatchingImplBase.cs: .. this,
179 * TaskBatchingImpl.cs: .. this ..
180 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
182 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
183 (Log*): Move to TargetBatchingImpl .
187 2009-01-30 Ankit Jain <jankit@novell.com>
189 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
192 2009-01-29 Ankit Jain <jankit@novell.com>
194 * BuildItem.cs (child_items): Change type from BuildItemGroup to
196 (HasParent): Rename to ..
197 (HasParentItem): .. this.
198 (ParentItemGroup): Add setter.
200 * BuildItemGroup.cs (.ctor): Add overload with @project param.
202 (AddItem): Correctly set the ParentItemGroup for new build items.
203 (ParentProject): Add setter.
204 * Project.cs: Set the project for new BuildItemGroup instances.
205 * TaskEngine.cs (PublishItemGroup): Likewise.
207 2009-01-06 Ankit Jain <jankit@novell.com>
209 * Project.cs (Build): Honor InitialTargets list.
211 2009-01-06 Ankit Jain <jankit@novell.com>
213 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
214 the property type also.
215 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
218 2009-01-06 Ankit Jain <jankit@novell.com>
220 * Project.cs (Build): Correctly handle null targetNames argument.
222 2009-01-06 Ankit Jain <jankit@novell.com>
224 * Engine.cs (LogProjectStarted): Add a null check.
226 2009-01-01 Ankit Jain <jankit@novell.com>
228 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
229 * ChangeType (ToBuildItemGroup): Add 'split' param.
231 * Expression.cs (Parse): Add a new overload with a 'split' param.
232 * ExpressionCollection.cs (Add): Add new overload for IReference,
233 remove the ones for Item/Metadata/PropertyReference.
234 (ConvertToArray): Implement correctly.
235 (ConvertToString): Track api changes.
236 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
237 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
238 (AddItemsToArray): New.
239 (ConvertToITaskItemArrayFromString): Refactor a bit.
240 (ThrowCantConcatError): New.
241 * ItemReference.cs: Update.
242 * MetadataReference.cs: Update.
243 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
245 * BuildPropertyGroup.cs: Track api changes.
246 * TaskEngine.cs (PublishOutput): Improve exception message.
247 * Project.cs (DoLoad): Improve exception message. Add a null check.
249 2008-12-30 Ankit Jain <jankit@novell.com>
251 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
252 metadata values for unqualified references.
253 (BuildItemGroupToITaskItemArray): Rename to ..
254 (BuildItemGroupToITaskItems): .. this.
257 2008-12-18 Ankit Jain <jankit@novell.com>
259 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
261 2008-12-17 Ankit Jain <jankit@novell.com>
263 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
264 only one instance of unique metadata value is required.
266 2008-11-22 Ankit Jain <jankit@novell.com>
268 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
270 * MetadataReference.cs (ConvertToITaskItemArray): New.
271 * Project.cs (GetAllItemGroups): New.
273 2008-11-21 Ankit Jain <jankit@novell.com>
275 * BatchingImpl.cs: Add task batching implementation.
276 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
277 * ExpressionCollection.cs (Count): New.
278 (ConvertToString): Handle MetadataReference.
279 * ItemReference.cs (ConvertToString):
280 (ConvertToITaskItemArray): Use the batching api.
282 * MetadataReference.cs (ConvertToString): New.
284 * Project.cs: Add api for accessing batched items and metadata.
285 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
288 2008-10-01 Ankit Jain <jankit@novell.com>
290 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
291 (BuildProjectFile): If filename is null (project.LoadXml) then use
293 * BuildTask.cs (InitializeTask): Track api change.
294 * Expression.cs (Parse): Skip empty entries in the expression.
296 2008-09-24 Ankit Jain <jankit@novell.com>
298 * Engine.cs: Add argument checks.
299 * Project.cs: Likewise.
301 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
303 * Project.cs (Build): Add outputs to targetOutputs.
305 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
307 * ExpressionCollection.cs (ConvertToArray): Simplify.
309 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
311 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
312 simplified. It still needs tests and refactoring.
314 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
316 * BuildEngine.cs (BuildProjectFile): Don't crash on null
319 * Target.cs: Add Outputs property.
321 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
323 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
324 (). Support condition.
326 * BatchingImpl.cs (BatchBuildTask): Simplify.
328 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
330 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
333 * ConditionFunctionExpression.cs: Removed warnings.
335 * BuildTask.cs (Execute): Write exceptions to std err (they should be
336 logged but it's better than swallowing).
338 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
340 * ConditionTokenizer.cs: Add Putback ().
342 * ConditionParser.cs: Add parsing of functions.
344 * ConditionFunctionExpression.cs: Add.
346 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
348 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
349 set property in persisted property group.
351 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
353 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
356 * ConsoleLogger.cs (TargetFinishedHandler)
357 (TaskFinishedHandler): Increment error count.
359 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
361 * BuildItem.cs (RemoveMetadata): Remove from XML.
362 (SetMetadata): Trigger project reevaluation.
364 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
366 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
369 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
371 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
372 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
373 BatchingImpl.cs, BuildProperty.cs: Track API changes.
375 * Expression.cs (Parse): Added allowItems parameter and made regexes
378 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
379 will try to import a.ext when given a.EXT.
381 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
383 * BuildItemGroup.cs: Store information saying what is the last item
384 group that contains build item name.
386 * Project.cs (Build): Pass empty array (build default targets).
388 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
390 * Token.cs: Commented Transform and LiteralSubExpression and added
393 * ConditionParser.cs: Removed redundant casts, rewrote
394 ParseFactorExpression () and added parsing of '!'.
396 * ConditionTokenizer.cs: Always skip whitespaces when getting next
397 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
398 Moved ReadChar () in front of all ifs.
400 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
402 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
403 from XML. (not to escape items that have parents twice).
405 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
407 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
408 (Project): Renamed to ParentProject.
410 * BuildItem.cs (ctor)
411 (CopyCustomMetadata): Add null check.
413 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
414 (RemoveProperty): Added null check.
416 * TargetCollection.cs (RemoveTarget): Added null check.
418 * Engine.cs (UnloadProject): Added null check.
420 * GroupingCollection.cs (Remove): Check if removed group belongs to
423 * Project.cs (AddNewItem): Implemented.
424 (RemoveItem): Reorganized.
425 (SetProjectExtensions): Added null check.
427 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
429 * BuildItemGroup.cs (Detach): Added.
431 (RemoveItemAt): Used Detach ().
433 * BuildItem.cs: Made FromXml and HasParent internal and added
434 ParentItem and ParentItemGroup properties (internal).
437 * GroupingCollection.cs (Remove): Used Detach ().
439 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
441 (GetEvaluatedItemsByNameIgnoringCondition)
442 (GetEvaluatedItemsByName)
443 (GetEvaluatedProperty): Reevaluate if needed.
445 (RemoveAllItemGroups)
446 (RemoveAllPropertyGroups): Implemented.
447 (DoLoad): Added closing of TextReader.
449 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
451 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
452 change but just mark that it needs it.
454 * Project.cs: Reevaluate when it needs reevaluation and one of
455 Evaluated* properties is used.
457 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
459 * Target.cs: Throw an exception when <OnError> is not last element in
462 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
464 * TargetCollection.cs: If a target is already there replace it with
467 * BuildProperty.cs: Added XmlElement property.
469 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
471 * ImportCollection.cs: Don't add imports that are already added.
473 * BuildItemGroup.cs: MonoTODOs.
475 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
476 condition can't be evaluated to bool.
478 * BuildPropertyGroup.cs (Evaluate): Simplify.
480 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
482 * BuildWhen.cs: Moved BindToXml () code to ctor.
484 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
485 property needed for removing groups.
487 * Engine.cs: Added StartBuild () that logs build start when Build ()
490 * GroupingCollection.cs: Added Remove () for item and property groups.
492 * Project.cs (AddNewImport): Implemented.
493 (AddNewItemGroup): Implemented.
494 (AddNewPropertyGroup): Implemented.
495 (AddNewUsingTaskFromAssemblyFile): Implemented.
496 (AddNewUsingTaskFromAssemblyName): Implemented.
497 (RemoveItemGroup): Implemented.
498 (RemovePropertyGroup): Implemented.
500 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
502 * BuildItemGroup.cs (Clear): Remove from XML.
504 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
505 to Project.EvaluatedProperties.
506 (Clear): Remove from XML.
508 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
510 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
513 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
515 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
516 Add () calls when processing a project from Import and
517 evaluate_iterator for evaluation.
519 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
521 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
522 and prepend relative directory of importing project to full path of
525 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
527 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
528 BuildItemGroupCollection.cs, Project.cs: Track API changes.
530 * GroupingCollection.cs: Now it needs Project reference so added it.
532 * BuildTask.cs: Formatting.
534 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
536 * ConditionParser.cs (ParseAndEvaluate): Added.
538 * BuildItem.cs: Changed exception message.
540 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
542 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
543 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
544 GroupingCollection doesn't need Project reference.
546 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
548 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
549 (Project.EvaluatedItems is a read only item group.)
550 (ReplaceWith): Added.
552 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
553 global property group causes reevaluation of its project.
555 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
558 * OldExpression.cs: Removed.
560 * BuildProperty.cs (Evaluate): Simplified.
562 * ChangeType.cs (TemporaryTransform): Simplified.
564 * BuildItem.cs: There are now 3 types of build items: from XML, having
565 parent from XML, virtual. Added SplitParentItem ().
567 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
569 * Utilities.cs: Added Unescape ().
571 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
572 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
573 groups (at the moment just unescape).
575 * Expression.cs (CopyToExpressionList): Unescape strings.
577 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
579 * Target.cs (ctor): Added ImportedProject argument and removed
581 (AddNewTask): Implemented.
583 * TargetCollection.cs (AddNewTarget): Implemented.
585 * Project.cs: Track API changes.
587 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
589 * Target.cs (Build): Don't throw anything in case of error, just
592 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
595 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
598 * BuildProperty.cs (ToString): Throw an exception if property is not
600 (op_Explicit): Added a null check.
602 * Engine.cs: Better error message.
604 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
605 IndexOutOfRangeException.
607 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
608 (MarkProjectAsDirty): Set time.
610 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
612 * BuildItemGroup.cs (Clone): Throw exception.
614 * Project.cs (Load): Throw InvalidProjectFileException if anything
617 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
619 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
620 and ConvertToITaskItemArray ().
622 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
624 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
625 classes that were public in Beta 2 and aren't used.
627 * Expression.cs: Added replacement for parsing expressions char by
628 char. It uses regexes to find item/property/metadata references in
631 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
632 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
633 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
635 * ConditionRelationalExpression.cs: Formatting.
637 * OldExpression.cs: Commented everything.
639 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
640 parsing to Expression.
642 * BuildItem.cs: Check if project is from XML in set_Condition and
645 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
648 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
649 can evaluate expression in CanEvaluateToBool ().
651 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
653 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
654 which item group is imported.
656 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
658 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
660 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
661 BuildItemGroupCollection.cs: Little changes related to
664 * ImportCollection.cs: Use GroupingCollection not an internal list.
666 * Import.cs (Evaluate): Split to functions and check if
667 EvaluatedProjectPath is empty.
669 * GroupingCollection.cs, Project.cs: Move evaluation to
670 GroupingCollection. Change algorithm to use 2 passes: first for property
671 groups and imports and second for item groups.
673 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
675 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
676 BuildItemGroup> not IDictionary.
678 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
679 evaluated to false because we want to add every item to
680 Project.EvaluatedItemsByNameIgnoringCondition.
682 * Project.cs (Build): Don't throw an exception just return false.
683 (GetEvaluatedProperty): Avoid NullReferenceException.
684 (SetProjectExtensions): Implemented.
686 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
688 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
690 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
691 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
692 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
694 * ImportCollection.cs: Added a note.
696 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
698 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
700 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
701 (UsingTask[] array, int index)
703 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
704 items to Project.EvaluatedItems in PublishItemGroup ();
706 * BuildItemGroup.cs: Added [MonoTODO].
708 * UsingTask.cs: Used expression for AssemblyFile to get around
709 problems with '\' and '/'.
711 * BuildItem.cs (ctor): Added null checks.
712 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
713 (SetMetadata): Don't escape evaluatedMetadata and escape
714 unevaluatedMetadata only when treatPropertyValueAsLiteral.
716 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
717 FromXml () instead of null checks.
718 (SetProperty): Escape propertyValue when it is literal.
720 * BuildProperty.cs: Changed exception message.
722 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
724 (GetProjectExtensions): Implemented.
726 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
728 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
729 GetParameterValue (), use expressions in ContinueOnError.
730 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
731 instead of InvalidOperationException ().
732 * ImportCollection.cs: Implement CopyTo ().
733 * Target.cs: Remove redundant variables (XmlAttributes), return
734 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
735 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
736 * Import.cs: Throw an exception when file does not exist.
737 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
738 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
739 need to treat item as a token probably
741 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
743 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
745 * BuildItemGroupCollection.cs: Changed exception types.
747 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
749 * Engine.cs: Removed redundant cast.
751 * UsingTaskCollection.cs:
755 * TargetCollection.cs: Comment unused variable.
756 * ConditionTokenizer.cs: Simplified checking if current token is a
758 * Target.cs: Removed old code.
760 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
762 * Target.cs: Changed "" to String.Empty.
763 * TaskEngine.cs: Don't try to convert a parameter to specific type if
764 string was evaluated to String.Empty.
765 * InternalLoggerException.cs:
766 * InvalidProjectFileException.cs: Added LinkDemand before
768 * ConsoleLogger.cs: Changed "" to String.Empty.
769 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
770 with change to generics).
771 * Project.cs: Made Build () throw more meaningful exception.
773 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
775 * Target.cs: Reformatted.
776 * TaskEngine.cs: Removed redundant code.
777 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
778 * Engine.cs: Made BuildProjectFile () load project file if it's not
781 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
783 * ConditionRelationalExpression.cs: Change comparers to case
785 * ImportCollection.cs: Add NotImplementedExceptions.
786 * BuildPropertyGroup.cs: Reformatted a bit.
787 * BuildProperty.cs: The same.
788 * Project.cs: Moved evaluation of imports before evaluation of
789 properties. This may "work" until importing projects is redesigned but
790 probably isn't correct.
792 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
794 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
796 * BuildItemGroup.cs: Change return to continue.
798 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
800 * ConditionParser.cs: Copyright note.
801 * ExpressionCollection.cs: Fixed arrays passing.
803 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
805 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
806 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
807 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
808 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
810 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
812 * Token.cs: Changed names: removed "than".
813 * ConditionRelationalExpression.cs: Added.
814 * ConditionFactorExpression.cs: Added.
815 * BuildItemGroup.cs: Changed Condition property return value to return
816 String.Empty instead of null.
817 * ConditionParser.cs: Added support for parsing relational expressions
819 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
820 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
821 and CanEvaluateToBool (), CanEvaluateToNumber () and
822 CanEvaluateToString ().
823 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
824 appropriately to ConditionExpression base class.
825 * ConditionTokenizer.cs: Added null check and changed names in enums:
827 * ConditionNotExpression.cs: Added.
828 * BatchingImpl.cs: Changed to use BoolEvaluate ().
829 * Project.cs: Added checks for condition.
831 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
833 * ConditionalTokenizer.cs, ConditionalExpression.cs,
834 ConditionalParser.cs: Changed name,
836 * ConditionExpression.cs: Added Evaluate ().
837 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
838 * BatchingImpl.cs: Added check if task should be executed.
840 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
842 * UsingTask.cs: Changed properties to return null on empty attribute.
843 * UsingTaskCollection.cs: Added object to SyncRoot.
844 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
846 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
848 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
849 BuildPropertyGroupCollection.cs: Fixed to match the tests.
851 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
853 * Utilities.cs: Implemented Escape ().
854 * BuildItem.cs: Added null checks.
855 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
856 * Project.cs: Commented out redundant Evaluate ().
857 * BuildChoose.cs: Minor changes.
859 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
861 * Token: Added new few missing tokens.
862 * Target.cs, Project.cs: Patch from Matthew Metnesky.
863 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
864 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
865 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
867 Removed literal expression parsing based on tokenizer and
868 parser. It needs to be done by regex.
870 Moved tokenizer to ConditionalTokenizer.cs.
872 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
874 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
875 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
876 methods converting reference to string from ToString () to
877 ConvertToString () to avoid mistakes like using ToString () provided
880 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
882 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
883 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
884 PropertyReference.cs, BuildProperty.cs: Changed Expression to
885 OldExpression and changed To* functions to one ConvertTo ().
886 * TaskEngine.cs: Fixed PublishOutput ().
887 * OldExpression.cs: Added. It will be temporarily used before
888 LiteralExpression will be written using Tokenizer.
889 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
890 ExpressionParseException.cs, LiteralExpression.cs: Added.
892 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
894 * ImportedProject.cs: Removed warning.
895 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
898 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
900 * Project.cs: Removed unnecessary variable.
901 * Engine.cs: Added fixme.
903 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
905 * BuildItem.cs: Moved checking if metadata name is reserved to internal
906 class (Mono.XBuild.Utilities.ReservedNameUtils).
908 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
910 * BuildTask.cs: Removed unnecessary variable.
911 * Engine.cs: Added logging of the build start.
912 * Project.cs: Removed unnecessary variable.
914 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
916 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
918 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
920 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
922 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
924 * BuildItem.cs: Fix typo?
926 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
928 * InternalLoggerException.cs, InvalidProjectFileException.cs,
929 Engine.cs, Project.cs: Coding style fixes.
931 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
933 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
935 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
937 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
938 to pass tests. Wrote serialization constructor.
939 * Engine.cs, Project.cs: Global engine and project unloading, test and
942 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
944 * UsingTask.cs: Formatting changes.
946 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
948 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
949 to lists instead of hashtables.
950 * Import.cs: Cleaned up, moved importing from Project.cs
951 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
952 * Engine.cs: Cleaned up properties.
953 * Project.cs: Moved importing to Import.cs, cleaned up properties,
954 Separated evaluation and loading.
956 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
958 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
959 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
960 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
961 binding and evaluation, merge xml binding in constructors.
962 * DirectoryScanner.cs: Includes CAN be empty.
963 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
964 * ConsoleLogger.cs: Fix compilation warning.
966 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
968 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
970 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
972 * Engine.cs: API cleanup.
974 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
976 * Project.cs: Cleaned up add.
977 * Expression.cs: Hacked to transform \ and / to path separators.
978 * BuildPropertyGroup.cs: Small cleanup.
979 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
982 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
984 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
985 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
987 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
988 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
989 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
991 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
992 * TaskElement.cs: Temporarily removed.
993 * Xml.cs: Changed to static.
995 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
997 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
998 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
999 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
1000 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
1001 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
1002 IBuildPropertyGroupCollection.cs: Removed.
1004 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1006 * BuildItem.cs: Removed IBuildItem references.
1007 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
1008 IBuildItemGroup references. Changed Evaluate to internal.
1009 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
1010 reference and hidden constructors.
1011 * BuildProperty.cs: Removed IBuildProperty reference.
1012 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
1013 IBuildPropertyGroup references. Changed Evaluate to internal.
1014 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
1015 reference and hidden constructors.
1016 * ConsoleLogger.cs: Updated names of event handlers.
1017 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
1018 Escape. Added UnloadAllProjects () and UnloadProject ().
1019 * FileLogger.cs: Removed ApplyParameter ().
1020 * GroupingCollection.cs: Hidden.
1021 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
1022 * ItemPropertyGroupingBase.cs: Commented.
1023 * ProcessingPass.cs: Hidden.
1024 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1026 * Target.cs: Removed ITarget reference.
1027 * TargetCollection.cs: Removed ITargetCollection reference.
1028 * TaskElement.cs: Removed ITaskElement reference.
1029 * TaskEngineAssemblyResolver.cs: Hidden.
1030 * Utilities.cs: Made static class, removed CheckPath (),
1031 ValidateCulture (), GetSupportedCultures () and added Escape ().
1033 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1035 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1038 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1040 * Project.cs: Added MonoTODO attributes.
1041 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1042 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1043 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1044 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1045 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1046 BuildItemGroup.cs, InvalidProjectFileException.cs,
1047 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1048 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1049 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1050 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1051 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1052 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1053 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1054 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1055 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1056 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1057 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1058 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1060 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1062 * TaskDatabase.cs: Change Shared to Framework.
1063 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1064 CaseInsensitiveHashCodeProvider
1066 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1068 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1069 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1072 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1074 * InternalLoggerException.cs: Changed protected fields to private.
1076 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1078 * Engine.cs: Added check for globalProperties.
1079 * Project.cs: Added using path from importedProject.FullFileName when
1080 adding UsingTask elements.
1082 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1084 * TaskElement.cs: Changed ReflectedType to PropertyType.
1085 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1088 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1090 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1092 * BuildProperty.cs: Organized PropertyType enum.
1093 * Engine.cs: Added setting CommandLine PropertyType of global
1096 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1098 * InvalidProjectFileException.cs: Changed Message property.
1099 * ChangeType.cs (TransformToString): Added separator between items.
1100 * TaskEngineAssemblyResolver.cs: Formatting.
1102 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1104 * DirectoryScanner.cs: Added.
1105 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1106 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1107 * Project.cs: Removed Evalute* ().
1109 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1111 * Target.cs: Formatting.
1112 * Expression.cs: Added check if array == null.
1113 * BuildItem.cs: Removed 'break' to remove warnings.
1114 * ConsoleLogger.cs: Formatting.
1115 * Engine.cs: Added handling of default target(s).
1116 * Project.cs: Added handling of default target(s).
1118 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1120 * TaskElement.cs: Added check for parameters.
1121 * Target.cs: Added logging of target skipping.
1122 * Expression.cs: Changed returning object[] to string[], bool[]... in
1124 * ItemReference.cs: Fixed for item references without custom
1126 * BatchingImpl.cs: Added real inputs/outputs checking.
1127 * Engine.cs: Moved global properties setting.
1128 * Project.cs: Moved global properties setting.
1130 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1132 * Target.cs: Added checks for target existence.
1133 * BuildItemGroup.cs: Changed to use transforms.
1134 * MetadataReference.cs: Wrote real implementation.
1135 * ItemReference.cs: Rewritten to use transforms.
1136 * BuildItem.cs: Changes for transforms and metadata.
1137 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1139 * Project.cs: Fixed project importing.
1140 * ImportedProject.cs: Changed to throw exceptions instead of returning
1143 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1145 * Engine.cs: Removed FIXME.
1146 * Project.cs: Splitted ProcessElements and added project importing.
1147 * ImportedProject.cs: Rewritten.
1149 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1151 * TaskElement.cs: Added getting of objects of every type.
1152 * BuildItemGroup.cs: Added ToITaskItemArray ().
1153 * Expression.cs: Implemented part that is not using metadata.
1154 * ItemReference.cs: Implemented parsing item references. Need to fix
1156 * BuildItem.cs: Fixed ToITaskItem ().
1157 * PropertyReference.cs: Implemented parsing property references. This
1158 also needs validity checking.
1160 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1162 * TaskElement.cs: Added Output element handling.
1163 * Target.cs: Cleaned up.
1164 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1165 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1166 ItemReference.cs, ChangeType.cs: Added.
1167 * BuildItem.cs: Added creating BuildItem from TaskItem.
1168 * BuildPropertyGroup.cs: Small changes.
1169 * BatchingImpl.cs: Fixed to return real task execution result.
1170 * BuildProperty.cs: Fixed FinalValue property.
1171 * Engine.cs: Reformatted logging.
1172 * Project.cs: Added check to EvaluateProperty.
1174 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1176 * TaskElement.cs: Added part of execution engine.
1177 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1178 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1179 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1180 * BuildItem.cs: Added handling of built-in metadata and referencing
1181 Items by name not FullName.
1182 * BatchingImpl.cs: Added temporary task "batching".
1183 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1184 * Project.cs: Added Evaluate. It will be moved to separate class.
1186 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1188 * EventSource.cs, Engine.cs: Added CriticalEvents.
1189 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1190 Project.cs: Added some support for items.
1191 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1193 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1195 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1198 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1200 * BatchingImpl.cs: Added.
1201 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1202 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1203 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1204 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1205 GroupingCollection.cs: Updated.
1207 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1209 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1210 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1211 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1212 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1213 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1214 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1215 InternalLoggerException.cs, InvalidProjectFileException.cs,
1216 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1217 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1218 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1219 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1220 Initial check-in of implementations.
1222 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1224 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1225 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1226 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1227 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1228 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1229 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1230 Initial check-in of interfaces and a syntax file, real classes are
1231 changing a lot so I'll wait a moment with checking them in.