1 2009-07-31 Ankit Jain <jankit@novell.com>
3 * Target.cs (Build): Log a message if a target is skipped.
5 * BuildTask.cs (Execute): Log error if task execution fails.
7 2009-07-30 Ankit Jain <jankit@novell.com>
9 * Engine.cs (.ctor): Set default BinPath. Currently this assumes
10 v2.0, this will change when multi-targeting lands.
12 2009-07-30 Ankit Jain <jankit@novell.com>
14 * Project.cs (InitializeProperties) Set 'MSBuildProjectFile' and
15 'MSBuildProjectName' properties.
17 2009-07-28 Ankit Jain <jankit@novell.com>
19 * TaskEngine.cs (Prepare): Fix formatting mistake.
20 * ConsoleLogger.cs: Emit "-- FAILED" also when project/target building
21 fails. Also, emit result of project at Normal verbosity level.
23 2009-07-23 Ankit Jain <jankit@novell.com>
26 * Project.cs (ExtensionsPath): New.
27 (InitializeProperties): Set "MSBuildExtensionsPath" property.
29 2009-06-12 Ankit Jain <jankit@novell.com>
32 * ExpressionCollection.cs (ConvertToITaskItemArray): Whitespace around a
33 itemref is allowed if the prev/next element is ";".
35 2009-06-12 Ankit Jain <jankit@novell.com>
37 * Utilities.cs (FromMSBuildPath): Return null if the path contains
38 "drive:" only on windows.
40 2009-06-07 Ankit Jain <jankit@novell.com>
42 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
45 2009-05-29 Ankit Jain <jankit@novell.com>
47 Correctly handle global properties. Correctly log
50 * BuildPropertyGroup.cs (Clone): Implement.
51 * Engine.cs (globalProperties): Rename to ..
52 (global_properties): .. this.
53 (currentlyBuildingProjectsStack): New. Used to correctly
54 log and raise project/build start/finish events.
55 (BuildProjectFile): Override any project global properties
56 with explicitly specified ones, here in the param @globalProperties.
57 Mark project for reevaluation, which will update the engine's
58 global properties also.
59 Reset both engine and project's old global properties at the end.
60 (UnregisterAllLoggers): Log build finished only if we are currently
62 (StartBuild): Rename to ..
63 (StartProjectBuild): .. this. Keeps track of the projects being built
64 in the new stack, and logs project and build events accordingly.
65 (EndProjectBuild): New. Uses the stack to keep track of projects
66 finishing builds, and raises project and build events accordingly.
67 (LogProjectStarted): Move here from Project.cs
68 (LogProjectFinished): Likewise.
70 * Project.cs (Build): Log start of project build.
71 Set current directory to the project file's dir, and reset at end.
72 (BuildInternal): Don't log here, its done in Build.
73 (BuildTarget): Already built targets are keyed by the set of global
74 properties that they were built with.
75 (GlobalPropertiesToString): New.
76 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
77 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
78 (Evaluate): Remove built targets only if we are currently building and
79 build settings are None.
80 Merge project's global properties with those of the parent engine.
81 Add missing properties from engine's global properties.
82 (LogTargetSkipped): Fix format string, add the reqd argument.
84 2009-05-29 Ankit Jain <jankit@novell.com>
86 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
87 (HasTrailingSlash): New.
89 2009-05-12 Ankit Jain <jankit@novell.com>
91 * Project.cs (.ctor): Init timeOfLastDirty.
93 2009-05-05 Miguel de Icaza <miguel@novell.com>
95 * Contribution from Martin Brenn to fix #498154.
97 2009-04-27 Ankit Jain <jankit@novell.com>
100 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
101 one passed as argument.
103 2009-04-27 Ankit Jain <jankit@novell.com>
105 * TaskEngine.cs (Prepare): Emit a useful error message property value
106 can't be converted to required type.
108 2009-04-27 Ankit Jain <jankit@novell.com>
110 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
111 as valid true values for bool, and corresponding for false.
113 2009-03-27 Jonathan Chambers <joncham@gmail.com>
115 * BuildWhen.cs: Add basic implementation.
116 * BuildChoose.cs: Add basic implementation.
117 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
118 EvaluatedItemsIgnoringCondition.
119 * GroupingCollection.cs: Add evaluation of BuildChoose items.
121 2009-03-26 Jonathan Chambers <joncham@gmail.com>
123 * TaskDatabase.cs (RegisterTask): Search for class by name
124 if task was not found using GetType (which uses namespace).
126 2009-02-26 Ankit Jain <jankit@novell.com>
128 * Target.cs: Handle target with no tasks. Log errors.
130 2009-02-24 Ankit Jain <jankit@novell.com>
132 Lazily load UsingTask tasks.
133 * UsingTask.cs (Evaluate): Register 'this' with task database,
134 but don't load it yet. Register only if condition evaluates to true.
135 Move the load logic to ..
136 (Load): .. here. Register with the specified task database.
137 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
138 in a table keyed by task name, but don't load it yet.
139 (GetTypeFromClassName): Try to load UsingTask if task is not already
140 loaded. Move loading logic to ..
141 (GetTypeFromClassNameInternal): .. here.
142 (CopyTasks): Copy the usingTasks table also.
144 2009-02-23 Ankit Jain <jankit@novell.com>
146 * BuildItem.cs (AddMetadata): Allow overwriting older values.
148 2009-02-22 Ankit Jain <jankit@novell.com>
150 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
151 instead of XmlElement. Eg. XmlComment
153 2009-02-21 Ankit Jain <jankit@novell.com>
155 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
156 * Project.cs (Load): Use FromMSBuildPath on the path.
157 (InitializeProperties): Set "MSBuildToolsPath" also.
159 2009-02-20 Ankit Jain <jankit@novell.com>
162 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
163 transforms) in conditions.
164 * ConditionParser.cs: Parse unquoted item, property references.
165 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
166 * Token.cs (Token.ToString): Override.
167 (TokenType.Transform): Uncomment.
169 2009-02-12 Jonathan Chambers <joncham@gmail.com>
171 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
172 no XmlElement.InnerText. This allows properties to be additional
175 2009-02-01 Ankit Jain <jankit@novell.com>
177 * BuildEngine.cs (BuildProjectFile): Use
178 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
179 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
180 built. Move logging of project start/finish to ..
181 * Project.cs: .. here. Build a target only if hasn't been built already.
182 Keep track of target outputs, and return those even if an already built
183 target has been invoked again.
184 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
186 2009-01-31 Ankit Jain <jankit@novell.com>
188 * BatchingImpl.cs: Split into ..
189 * BatchingImplBase.cs: .. this,
190 * TaskBatchingImpl.cs: .. this ..
191 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
193 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
194 (Log*): Move to TargetBatchingImpl .
198 2009-01-30 Ankit Jain <jankit@novell.com>
200 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
203 2009-01-29 Ankit Jain <jankit@novell.com>
205 * BuildItem.cs (child_items): Change type from BuildItemGroup to
207 (HasParent): Rename to ..
208 (HasParentItem): .. this.
209 (ParentItemGroup): Add setter.
211 * BuildItemGroup.cs (.ctor): Add overload with @project param.
213 (AddItem): Correctly set the ParentItemGroup for new build items.
214 (ParentProject): Add setter.
215 * Project.cs: Set the project for new BuildItemGroup instances.
216 * TaskEngine.cs (PublishItemGroup): Likewise.
218 2009-01-06 Ankit Jain <jankit@novell.com>
220 * Project.cs (Build): Honor InitialTargets list.
222 2009-01-06 Ankit Jain <jankit@novell.com>
224 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
225 the property type also.
226 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
229 2009-01-06 Ankit Jain <jankit@novell.com>
231 * Project.cs (Build): Correctly handle null targetNames argument.
233 2009-01-06 Ankit Jain <jankit@novell.com>
235 * Engine.cs (LogProjectStarted): Add a null check.
237 2009-01-01 Ankit Jain <jankit@novell.com>
239 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
240 * ChangeType (ToBuildItemGroup): Add 'split' param.
242 * Expression.cs (Parse): Add a new overload with a 'split' param.
243 * ExpressionCollection.cs (Add): Add new overload for IReference,
244 remove the ones for Item/Metadata/PropertyReference.
245 (ConvertToArray): Implement correctly.
246 (ConvertToString): Track api changes.
247 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
248 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
249 (AddItemsToArray): New.
250 (ConvertToITaskItemArrayFromString): Refactor a bit.
251 (ThrowCantConcatError): New.
252 * ItemReference.cs: Update.
253 * MetadataReference.cs: Update.
254 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
256 * BuildPropertyGroup.cs: Track api changes.
257 * TaskEngine.cs (PublishOutput): Improve exception message.
258 * Project.cs (DoLoad): Improve exception message. Add a null check.
260 2008-12-30 Ankit Jain <jankit@novell.com>
262 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
263 metadata values for unqualified references.
264 (BuildItemGroupToITaskItemArray): Rename to ..
265 (BuildItemGroupToITaskItems): .. this.
268 2008-12-18 Ankit Jain <jankit@novell.com>
270 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
272 2008-12-17 Ankit Jain <jankit@novell.com>
274 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
275 only one instance of unique metadata value is required.
277 2008-11-22 Ankit Jain <jankit@novell.com>
279 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
281 * MetadataReference.cs (ConvertToITaskItemArray): New.
282 * Project.cs (GetAllItemGroups): New.
284 2008-11-21 Ankit Jain <jankit@novell.com>
286 * BatchingImpl.cs: Add task batching implementation.
287 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
288 * ExpressionCollection.cs (Count): New.
289 (ConvertToString): Handle MetadataReference.
290 * ItemReference.cs (ConvertToString):
291 (ConvertToITaskItemArray): Use the batching api.
293 * MetadataReference.cs (ConvertToString): New.
295 * Project.cs: Add api for accessing batched items and metadata.
296 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
299 2008-10-01 Ankit Jain <jankit@novell.com>
301 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
302 (BuildProjectFile): If filename is null (project.LoadXml) then use
304 * BuildTask.cs (InitializeTask): Track api change.
305 * Expression.cs (Parse): Skip empty entries in the expression.
307 2008-09-24 Ankit Jain <jankit@novell.com>
309 * Engine.cs: Add argument checks.
310 * Project.cs: Likewise.
312 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
314 * Project.cs (Build): Add outputs to targetOutputs.
316 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
318 * ExpressionCollection.cs (ConvertToArray): Simplify.
320 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
322 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
323 simplified. It still needs tests and refactoring.
325 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
327 * BuildEngine.cs (BuildProjectFile): Don't crash on null
330 * Target.cs: Add Outputs property.
332 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
334 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
335 (). Support condition.
337 * BatchingImpl.cs (BatchBuildTask): Simplify.
339 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
341 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
344 * ConditionFunctionExpression.cs: Removed warnings.
346 * BuildTask.cs (Execute): Write exceptions to std err (they should be
347 logged but it's better than swallowing).
349 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
351 * ConditionTokenizer.cs: Add Putback ().
353 * ConditionParser.cs: Add parsing of functions.
355 * ConditionFunctionExpression.cs: Add.
357 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
359 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
360 set property in persisted property group.
362 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
364 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
367 * ConsoleLogger.cs (TargetFinishedHandler)
368 (TaskFinishedHandler): Increment error count.
370 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
372 * BuildItem.cs (RemoveMetadata): Remove from XML.
373 (SetMetadata): Trigger project reevaluation.
375 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
377 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
380 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
382 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
383 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
384 BatchingImpl.cs, BuildProperty.cs: Track API changes.
386 * Expression.cs (Parse): Added allowItems parameter and made regexes
389 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
390 will try to import a.ext when given a.EXT.
392 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
394 * BuildItemGroup.cs: Store information saying what is the last item
395 group that contains build item name.
397 * Project.cs (Build): Pass empty array (build default targets).
399 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
401 * Token.cs: Commented Transform and LiteralSubExpression and added
404 * ConditionParser.cs: Removed redundant casts, rewrote
405 ParseFactorExpression () and added parsing of '!'.
407 * ConditionTokenizer.cs: Always skip whitespaces when getting next
408 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
409 Moved ReadChar () in front of all ifs.
411 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
413 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
414 from XML. (not to escape items that have parents twice).
416 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
418 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
419 (Project): Renamed to ParentProject.
421 * BuildItem.cs (ctor)
422 (CopyCustomMetadata): Add null check.
424 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
425 (RemoveProperty): Added null check.
427 * TargetCollection.cs (RemoveTarget): Added null check.
429 * Engine.cs (UnloadProject): Added null check.
431 * GroupingCollection.cs (Remove): Check if removed group belongs to
434 * Project.cs (AddNewItem): Implemented.
435 (RemoveItem): Reorganized.
436 (SetProjectExtensions): Added null check.
438 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
440 * BuildItemGroup.cs (Detach): Added.
442 (RemoveItemAt): Used Detach ().
444 * BuildItem.cs: Made FromXml and HasParent internal and added
445 ParentItem and ParentItemGroup properties (internal).
448 * GroupingCollection.cs (Remove): Used Detach ().
450 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
452 (GetEvaluatedItemsByNameIgnoringCondition)
453 (GetEvaluatedItemsByName)
454 (GetEvaluatedProperty): Reevaluate if needed.
456 (RemoveAllItemGroups)
457 (RemoveAllPropertyGroups): Implemented.
458 (DoLoad): Added closing of TextReader.
460 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
462 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
463 change but just mark that it needs it.
465 * Project.cs: Reevaluate when it needs reevaluation and one of
466 Evaluated* properties is used.
468 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
470 * Target.cs: Throw an exception when <OnError> is not last element in
473 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
475 * TargetCollection.cs: If a target is already there replace it with
478 * BuildProperty.cs: Added XmlElement property.
480 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
482 * ImportCollection.cs: Don't add imports that are already added.
484 * BuildItemGroup.cs: MonoTODOs.
486 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
487 condition can't be evaluated to bool.
489 * BuildPropertyGroup.cs (Evaluate): Simplify.
491 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
493 * BuildWhen.cs: Moved BindToXml () code to ctor.
495 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
496 property needed for removing groups.
498 * Engine.cs: Added StartBuild () that logs build start when Build ()
501 * GroupingCollection.cs: Added Remove () for item and property groups.
503 * Project.cs (AddNewImport): Implemented.
504 (AddNewItemGroup): Implemented.
505 (AddNewPropertyGroup): Implemented.
506 (AddNewUsingTaskFromAssemblyFile): Implemented.
507 (AddNewUsingTaskFromAssemblyName): Implemented.
508 (RemoveItemGroup): Implemented.
509 (RemovePropertyGroup): Implemented.
511 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
513 * BuildItemGroup.cs (Clear): Remove from XML.
515 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
516 to Project.EvaluatedProperties.
517 (Clear): Remove from XML.
519 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
521 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
524 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
526 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
527 Add () calls when processing a project from Import and
528 evaluate_iterator for evaluation.
530 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
532 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
533 and prepend relative directory of importing project to full path of
536 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
538 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
539 BuildItemGroupCollection.cs, Project.cs: Track API changes.
541 * GroupingCollection.cs: Now it needs Project reference so added it.
543 * BuildTask.cs: Formatting.
545 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
547 * ConditionParser.cs (ParseAndEvaluate): Added.
549 * BuildItem.cs: Changed exception message.
551 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
553 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
554 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
555 GroupingCollection doesn't need Project reference.
557 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
559 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
560 (Project.EvaluatedItems is a read only item group.)
561 (ReplaceWith): Added.
563 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
564 global property group causes reevaluation of its project.
566 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
569 * OldExpression.cs: Removed.
571 * BuildProperty.cs (Evaluate): Simplified.
573 * ChangeType.cs (TemporaryTransform): Simplified.
575 * BuildItem.cs: There are now 3 types of build items: from XML, having
576 parent from XML, virtual. Added SplitParentItem ().
578 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
580 * Utilities.cs: Added Unescape ().
582 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
583 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
584 groups (at the moment just unescape).
586 * Expression.cs (CopyToExpressionList): Unescape strings.
588 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
590 * Target.cs (ctor): Added ImportedProject argument and removed
592 (AddNewTask): Implemented.
594 * TargetCollection.cs (AddNewTarget): Implemented.
596 * Project.cs: Track API changes.
598 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
600 * Target.cs (Build): Don't throw anything in case of error, just
603 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
606 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
609 * BuildProperty.cs (ToString): Throw an exception if property is not
611 (op_Explicit): Added a null check.
613 * Engine.cs: Better error message.
615 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
616 IndexOutOfRangeException.
618 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
619 (MarkProjectAsDirty): Set time.
621 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
623 * BuildItemGroup.cs (Clone): Throw exception.
625 * Project.cs (Load): Throw InvalidProjectFileException if anything
628 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
630 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
631 and ConvertToITaskItemArray ().
633 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
635 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
636 classes that were public in Beta 2 and aren't used.
638 * Expression.cs: Added replacement for parsing expressions char by
639 char. It uses regexes to find item/property/metadata references in
642 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
643 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
644 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
646 * ConditionRelationalExpression.cs: Formatting.
648 * OldExpression.cs: Commented everything.
650 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
651 parsing to Expression.
653 * BuildItem.cs: Check if project is from XML in set_Condition and
656 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
659 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
660 can evaluate expression in CanEvaluateToBool ().
662 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
664 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
665 which item group is imported.
667 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
669 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
671 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
672 BuildItemGroupCollection.cs: Little changes related to
675 * ImportCollection.cs: Use GroupingCollection not an internal list.
677 * Import.cs (Evaluate): Split to functions and check if
678 EvaluatedProjectPath is empty.
680 * GroupingCollection.cs, Project.cs: Move evaluation to
681 GroupingCollection. Change algorithm to use 2 passes: first for property
682 groups and imports and second for item groups.
684 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
686 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
687 BuildItemGroup> not IDictionary.
689 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
690 evaluated to false because we want to add every item to
691 Project.EvaluatedItemsByNameIgnoringCondition.
693 * Project.cs (Build): Don't throw an exception just return false.
694 (GetEvaluatedProperty): Avoid NullReferenceException.
695 (SetProjectExtensions): Implemented.
697 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
699 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
701 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
702 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
703 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
705 * ImportCollection.cs: Added a note.
707 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
709 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
711 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
712 (UsingTask[] array, int index)
714 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
715 items to Project.EvaluatedItems in PublishItemGroup ();
717 * BuildItemGroup.cs: Added [MonoTODO].
719 * UsingTask.cs: Used expression for AssemblyFile to get around
720 problems with '\' and '/'.
722 * BuildItem.cs (ctor): Added null checks.
723 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
724 (SetMetadata): Don't escape evaluatedMetadata and escape
725 unevaluatedMetadata only when treatPropertyValueAsLiteral.
727 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
728 FromXml () instead of null checks.
729 (SetProperty): Escape propertyValue when it is literal.
731 * BuildProperty.cs: Changed exception message.
733 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
735 (GetProjectExtensions): Implemented.
737 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
739 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
740 GetParameterValue (), use expressions in ContinueOnError.
741 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
742 instead of InvalidOperationException ().
743 * ImportCollection.cs: Implement CopyTo ().
744 * Target.cs: Remove redundant variables (XmlAttributes), return
745 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
746 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
747 * Import.cs: Throw an exception when file does not exist.
748 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
749 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
750 need to treat item as a token probably
752 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
754 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
756 * BuildItemGroupCollection.cs: Changed exception types.
758 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
760 * Engine.cs: Removed redundant cast.
762 * UsingTaskCollection.cs:
766 * TargetCollection.cs: Comment unused variable.
767 * ConditionTokenizer.cs: Simplified checking if current token is a
769 * Target.cs: Removed old code.
771 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
773 * Target.cs: Changed "" to String.Empty.
774 * TaskEngine.cs: Don't try to convert a parameter to specific type if
775 string was evaluated to String.Empty.
776 * InternalLoggerException.cs:
777 * InvalidProjectFileException.cs: Added LinkDemand before
779 * ConsoleLogger.cs: Changed "" to String.Empty.
780 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
781 with change to generics).
782 * Project.cs: Made Build () throw more meaningful exception.
784 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
786 * Target.cs: Reformatted.
787 * TaskEngine.cs: Removed redundant code.
788 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
789 * Engine.cs: Made BuildProjectFile () load project file if it's not
792 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
794 * ConditionRelationalExpression.cs: Change comparers to case
796 * ImportCollection.cs: Add NotImplementedExceptions.
797 * BuildPropertyGroup.cs: Reformatted a bit.
798 * BuildProperty.cs: The same.
799 * Project.cs: Moved evaluation of imports before evaluation of
800 properties. This may "work" until importing projects is redesigned but
801 probably isn't correct.
803 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
805 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
807 * BuildItemGroup.cs: Change return to continue.
809 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
811 * ConditionParser.cs: Copyright note.
812 * ExpressionCollection.cs: Fixed arrays passing.
814 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
816 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
817 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
818 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
819 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
821 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
823 * Token.cs: Changed names: removed "than".
824 * ConditionRelationalExpression.cs: Added.
825 * ConditionFactorExpression.cs: Added.
826 * BuildItemGroup.cs: Changed Condition property return value to return
827 String.Empty instead of null.
828 * ConditionParser.cs: Added support for parsing relational expressions
830 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
831 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
832 and CanEvaluateToBool (), CanEvaluateToNumber () and
833 CanEvaluateToString ().
834 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
835 appropriately to ConditionExpression base class.
836 * ConditionTokenizer.cs: Added null check and changed names in enums:
838 * ConditionNotExpression.cs: Added.
839 * BatchingImpl.cs: Changed to use BoolEvaluate ().
840 * Project.cs: Added checks for condition.
842 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
844 * ConditionalTokenizer.cs, ConditionalExpression.cs,
845 ConditionalParser.cs: Changed name,
847 * ConditionExpression.cs: Added Evaluate ().
848 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
849 * BatchingImpl.cs: Added check if task should be executed.
851 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
853 * UsingTask.cs: Changed properties to return null on empty attribute.
854 * UsingTaskCollection.cs: Added object to SyncRoot.
855 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
857 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
859 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
860 BuildPropertyGroupCollection.cs: Fixed to match the tests.
862 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
864 * Utilities.cs: Implemented Escape ().
865 * BuildItem.cs: Added null checks.
866 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
867 * Project.cs: Commented out redundant Evaluate ().
868 * BuildChoose.cs: Minor changes.
870 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
872 * Token: Added new few missing tokens.
873 * Target.cs, Project.cs: Patch from Matthew Metnesky.
874 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
875 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
876 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
878 Removed literal expression parsing based on tokenizer and
879 parser. It needs to be done by regex.
881 Moved tokenizer to ConditionalTokenizer.cs.
883 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
885 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
886 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
887 methods converting reference to string from ToString () to
888 ConvertToString () to avoid mistakes like using ToString () provided
891 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
893 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
894 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
895 PropertyReference.cs, BuildProperty.cs: Changed Expression to
896 OldExpression and changed To* functions to one ConvertTo ().
897 * TaskEngine.cs: Fixed PublishOutput ().
898 * OldExpression.cs: Added. It will be temporarily used before
899 LiteralExpression will be written using Tokenizer.
900 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
901 ExpressionParseException.cs, LiteralExpression.cs: Added.
903 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
905 * ImportedProject.cs: Removed warning.
906 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
909 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
911 * Project.cs: Removed unnecessary variable.
912 * Engine.cs: Added fixme.
914 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
916 * BuildItem.cs: Moved checking if metadata name is reserved to internal
917 class (Mono.XBuild.Utilities.ReservedNameUtils).
919 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
921 * BuildTask.cs: Removed unnecessary variable.
922 * Engine.cs: Added logging of the build start.
923 * Project.cs: Removed unnecessary variable.
925 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
927 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
929 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
931 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
933 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
935 * BuildItem.cs: Fix typo?
937 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
939 * InternalLoggerException.cs, InvalidProjectFileException.cs,
940 Engine.cs, Project.cs: Coding style fixes.
942 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
944 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
946 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
948 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
949 to pass tests. Wrote serialization constructor.
950 * Engine.cs, Project.cs: Global engine and project unloading, test and
953 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
955 * UsingTask.cs: Formatting changes.
957 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
959 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
960 to lists instead of hashtables.
961 * Import.cs: Cleaned up, moved importing from Project.cs
962 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
963 * Engine.cs: Cleaned up properties.
964 * Project.cs: Moved importing to Import.cs, cleaned up properties,
965 Separated evaluation and loading.
967 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
969 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
970 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
971 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
972 binding and evaluation, merge xml binding in constructors.
973 * DirectoryScanner.cs: Includes CAN be empty.
974 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
975 * ConsoleLogger.cs: Fix compilation warning.
977 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
979 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
981 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
983 * Engine.cs: API cleanup.
985 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
987 * Project.cs: Cleaned up add.
988 * Expression.cs: Hacked to transform \ and / to path separators.
989 * BuildPropertyGroup.cs: Small cleanup.
990 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
993 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
995 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
996 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
998 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
999 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
1000 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
1002 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
1003 * TaskElement.cs: Temporarily removed.
1004 * Xml.cs: Changed to static.
1006 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1008 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
1009 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
1010 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
1011 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
1012 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
1013 IBuildPropertyGroupCollection.cs: Removed.
1015 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1017 * BuildItem.cs: Removed IBuildItem references.
1018 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
1019 IBuildItemGroup references. Changed Evaluate to internal.
1020 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
1021 reference and hidden constructors.
1022 * BuildProperty.cs: Removed IBuildProperty reference.
1023 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
1024 IBuildPropertyGroup references. Changed Evaluate to internal.
1025 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
1026 reference and hidden constructors.
1027 * ConsoleLogger.cs: Updated names of event handlers.
1028 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
1029 Escape. Added UnloadAllProjects () and UnloadProject ().
1030 * FileLogger.cs: Removed ApplyParameter ().
1031 * GroupingCollection.cs: Hidden.
1032 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
1033 * ItemPropertyGroupingBase.cs: Commented.
1034 * ProcessingPass.cs: Hidden.
1035 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1037 * Target.cs: Removed ITarget reference.
1038 * TargetCollection.cs: Removed ITargetCollection reference.
1039 * TaskElement.cs: Removed ITaskElement reference.
1040 * TaskEngineAssemblyResolver.cs: Hidden.
1041 * Utilities.cs: Made static class, removed CheckPath (),
1042 ValidateCulture (), GetSupportedCultures () and added Escape ().
1044 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1046 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1049 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1051 * Project.cs: Added MonoTODO attributes.
1052 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1053 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1054 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1055 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1056 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1057 BuildItemGroup.cs, InvalidProjectFileException.cs,
1058 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1059 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1060 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1061 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1062 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1063 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1064 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1065 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1066 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1067 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1068 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1069 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1071 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1073 * TaskDatabase.cs: Change Shared to Framework.
1074 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1075 CaseInsensitiveHashCodeProvider
1077 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1079 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1080 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1083 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1085 * InternalLoggerException.cs: Changed protected fields to private.
1087 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1089 * Engine.cs: Added check for globalProperties.
1090 * Project.cs: Added using path from importedProject.FullFileName when
1091 adding UsingTask elements.
1093 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1095 * TaskElement.cs: Changed ReflectedType to PropertyType.
1096 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1099 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1101 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1103 * BuildProperty.cs: Organized PropertyType enum.
1104 * Engine.cs: Added setting CommandLine PropertyType of global
1107 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1109 * InvalidProjectFileException.cs: Changed Message property.
1110 * ChangeType.cs (TransformToString): Added separator between items.
1111 * TaskEngineAssemblyResolver.cs: Formatting.
1113 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1115 * DirectoryScanner.cs: Added.
1116 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1117 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1118 * Project.cs: Removed Evalute* ().
1120 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1122 * Target.cs: Formatting.
1123 * Expression.cs: Added check if array == null.
1124 * BuildItem.cs: Removed 'break' to remove warnings.
1125 * ConsoleLogger.cs: Formatting.
1126 * Engine.cs: Added handling of default target(s).
1127 * Project.cs: Added handling of default target(s).
1129 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1131 * TaskElement.cs: Added check for parameters.
1132 * Target.cs: Added logging of target skipping.
1133 * Expression.cs: Changed returning object[] to string[], bool[]... in
1135 * ItemReference.cs: Fixed for item references without custom
1137 * BatchingImpl.cs: Added real inputs/outputs checking.
1138 * Engine.cs: Moved global properties setting.
1139 * Project.cs: Moved global properties setting.
1141 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1143 * Target.cs: Added checks for target existence.
1144 * BuildItemGroup.cs: Changed to use transforms.
1145 * MetadataReference.cs: Wrote real implementation.
1146 * ItemReference.cs: Rewritten to use transforms.
1147 * BuildItem.cs: Changes for transforms and metadata.
1148 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1150 * Project.cs: Fixed project importing.
1151 * ImportedProject.cs: Changed to throw exceptions instead of returning
1154 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1156 * Engine.cs: Removed FIXME.
1157 * Project.cs: Splitted ProcessElements and added project importing.
1158 * ImportedProject.cs: Rewritten.
1160 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1162 * TaskElement.cs: Added getting of objects of every type.
1163 * BuildItemGroup.cs: Added ToITaskItemArray ().
1164 * Expression.cs: Implemented part that is not using metadata.
1165 * ItemReference.cs: Implemented parsing item references. Need to fix
1167 * BuildItem.cs: Fixed ToITaskItem ().
1168 * PropertyReference.cs: Implemented parsing property references. This
1169 also needs validity checking.
1171 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1173 * TaskElement.cs: Added Output element handling.
1174 * Target.cs: Cleaned up.
1175 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1176 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1177 ItemReference.cs, ChangeType.cs: Added.
1178 * BuildItem.cs: Added creating BuildItem from TaskItem.
1179 * BuildPropertyGroup.cs: Small changes.
1180 * BatchingImpl.cs: Fixed to return real task execution result.
1181 * BuildProperty.cs: Fixed FinalValue property.
1182 * Engine.cs: Reformatted logging.
1183 * Project.cs: Added check to EvaluateProperty.
1185 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1187 * TaskElement.cs: Added part of execution engine.
1188 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1189 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1190 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1191 * BuildItem.cs: Added handling of built-in metadata and referencing
1192 Items by name not FullName.
1193 * BatchingImpl.cs: Added temporary task "batching".
1194 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1195 * Project.cs: Added Evaluate. It will be moved to separate class.
1197 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1199 * EventSource.cs, Engine.cs: Added CriticalEvents.
1200 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1201 Project.cs: Added some support for items.
1202 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1204 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1206 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1209 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1211 * BatchingImpl.cs: Added.
1212 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1213 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1214 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1215 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1216 GroupingCollection.cs: Updated.
1218 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1220 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1221 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1222 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1223 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1224 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1225 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1226 InternalLoggerException.cs, InvalidProjectFileException.cs,
1227 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1228 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1229 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1230 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1231 Initial check-in of implementations.
1233 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1235 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1236 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1237 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1238 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1239 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1240 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1241 Initial check-in of interfaces and a syntax file, real classes are
1242 changing a lot so I'll wait a moment with checking them in.