1 2009-08-09 Miguel de Icaza <miguel@novell.com>
3 * ConsoleLogger.cs: Change the format of the error and warnings
4 strings to work when invoked inside Emacs by not rendering the
5 column if available, by using lowercase "error"/"warning" strings
6 instead of camelcased versions and to not have unnecessary padding.
8 2009-07-31 Ankit Jain <jankit@novell.com>
10 * ConsoleLogger.cs: Keep track of all the errors and warnings
11 and show them at the end.
13 2009-07-31 Ankit Jain <jankit@novell.com>
15 * Target.cs (Build): Log a message if a target is skipped.
17 * BuildTask.cs (Execute): Log error if task execution fails.
19 2009-07-30 Ankit Jain <jankit@novell.com>
21 * Engine.cs (.ctor): Set default BinPath. Currently this assumes
22 v2.0, this will change when multi-targeting lands.
24 2009-07-30 Ankit Jain <jankit@novell.com>
26 * Project.cs (InitializeProperties) Set 'MSBuildProjectFile' and
27 'MSBuildProjectName' properties.
29 2009-07-28 Ankit Jain <jankit@novell.com>
31 * TaskEngine.cs (Prepare): Fix formatting mistake.
32 * ConsoleLogger.cs: Emit "-- FAILED" also when project/target building
33 fails. Also, emit result of project at Normal verbosity level.
35 2009-07-23 Ankit Jain <jankit@novell.com>
38 * Project.cs (ExtensionsPath): New.
39 (InitializeProperties): Set "MSBuildExtensionsPath" property.
41 2009-06-12 Ankit Jain <jankit@novell.com>
44 * ExpressionCollection.cs (ConvertToITaskItemArray): Whitespace around a
45 itemref is allowed if the prev/next element is ";".
47 2009-06-12 Ankit Jain <jankit@novell.com>
49 * Utilities.cs (FromMSBuildPath): Return null if the path contains
50 "drive:" only on windows.
52 2009-06-07 Ankit Jain <jankit@novell.com>
54 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
57 2009-05-29 Ankit Jain <jankit@novell.com>
59 Correctly handle global properties. Correctly log
62 * BuildPropertyGroup.cs (Clone): Implement.
63 * Engine.cs (globalProperties): Rename to ..
64 (global_properties): .. this.
65 (currentlyBuildingProjectsStack): New. Used to correctly
66 log and raise project/build start/finish events.
67 (BuildProjectFile): Override any project global properties
68 with explicitly specified ones, here in the param @globalProperties.
69 Mark project for reevaluation, which will update the engine's
70 global properties also.
71 Reset both engine and project's old global properties at the end.
72 (UnregisterAllLoggers): Log build finished only if we are currently
74 (StartBuild): Rename to ..
75 (StartProjectBuild): .. this. Keeps track of the projects being built
76 in the new stack, and logs project and build events accordingly.
77 (EndProjectBuild): New. Uses the stack to keep track of projects
78 finishing builds, and raises project and build events accordingly.
79 (LogProjectStarted): Move here from Project.cs
80 (LogProjectFinished): Likewise.
82 * Project.cs (Build): Log start of project build.
83 Set current directory to the project file's dir, and reset at end.
84 (BuildInternal): Don't log here, its done in Build.
85 (BuildTarget): Already built targets are keyed by the set of global
86 properties that they were built with.
87 (GlobalPropertiesToString): New.
88 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
89 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
90 (Evaluate): Remove built targets only if we are currently building and
91 build settings are None.
92 Merge project's global properties with those of the parent engine.
93 Add missing properties from engine's global properties.
94 (LogTargetSkipped): Fix format string, add the reqd argument.
96 2009-05-29 Ankit Jain <jankit@novell.com>
98 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
99 (HasTrailingSlash): New.
101 2009-05-12 Ankit Jain <jankit@novell.com>
103 * Project.cs (.ctor): Init timeOfLastDirty.
105 2009-05-05 Miguel de Icaza <miguel@novell.com>
107 * Contribution from Martin Brenn to fix #498154.
109 2009-04-27 Ankit Jain <jankit@novell.com>
112 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
113 one passed as argument.
115 2009-04-27 Ankit Jain <jankit@novell.com>
117 * TaskEngine.cs (Prepare): Emit a useful error message property value
118 can't be converted to required type.
120 2009-04-27 Ankit Jain <jankit@novell.com>
122 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
123 as valid true values for bool, and corresponding for false.
125 2009-03-27 Jonathan Chambers <joncham@gmail.com>
127 * BuildWhen.cs: Add basic implementation.
128 * BuildChoose.cs: Add basic implementation.
129 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
130 EvaluatedItemsIgnoringCondition.
131 * GroupingCollection.cs: Add evaluation of BuildChoose items.
133 2009-03-26 Jonathan Chambers <joncham@gmail.com>
135 * TaskDatabase.cs (RegisterTask): Search for class by name
136 if task was not found using GetType (which uses namespace).
138 2009-02-26 Ankit Jain <jankit@novell.com>
140 * Target.cs: Handle target with no tasks. Log errors.
142 2009-02-24 Ankit Jain <jankit@novell.com>
144 Lazily load UsingTask tasks.
145 * UsingTask.cs (Evaluate): Register 'this' with task database,
146 but don't load it yet. Register only if condition evaluates to true.
147 Move the load logic to ..
148 (Load): .. here. Register with the specified task database.
149 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
150 in a table keyed by task name, but don't load it yet.
151 (GetTypeFromClassName): Try to load UsingTask if task is not already
152 loaded. Move loading logic to ..
153 (GetTypeFromClassNameInternal): .. here.
154 (CopyTasks): Copy the usingTasks table also.
156 2009-02-23 Ankit Jain <jankit@novell.com>
158 * BuildItem.cs (AddMetadata): Allow overwriting older values.
160 2009-02-22 Ankit Jain <jankit@novell.com>
162 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
163 instead of XmlElement. Eg. XmlComment
165 2009-02-21 Ankit Jain <jankit@novell.com>
167 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
168 * Project.cs (Load): Use FromMSBuildPath on the path.
169 (InitializeProperties): Set "MSBuildToolsPath" also.
171 2009-02-20 Ankit Jain <jankit@novell.com>
174 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
175 transforms) in conditions.
176 * ConditionParser.cs: Parse unquoted item, property references.
177 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
178 * Token.cs (Token.ToString): Override.
179 (TokenType.Transform): Uncomment.
181 2009-02-12 Jonathan Chambers <joncham@gmail.com>
183 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
184 no XmlElement.InnerText. This allows properties to be additional
187 2009-02-01 Ankit Jain <jankit@novell.com>
189 * BuildEngine.cs (BuildProjectFile): Use
190 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
191 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
192 built. Move logging of project start/finish to ..
193 * Project.cs: .. here. Build a target only if hasn't been built already.
194 Keep track of target outputs, and return those even if an already built
195 target has been invoked again.
196 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
198 2009-01-31 Ankit Jain <jankit@novell.com>
200 * BatchingImpl.cs: Split into ..
201 * BatchingImplBase.cs: .. this,
202 * TaskBatchingImpl.cs: .. this ..
203 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
205 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
206 (Log*): Move to TargetBatchingImpl .
210 2009-01-30 Ankit Jain <jankit@novell.com>
212 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
215 2009-01-29 Ankit Jain <jankit@novell.com>
217 * BuildItem.cs (child_items): Change type from BuildItemGroup to
219 (HasParent): Rename to ..
220 (HasParentItem): .. this.
221 (ParentItemGroup): Add setter.
223 * BuildItemGroup.cs (.ctor): Add overload with @project param.
225 (AddItem): Correctly set the ParentItemGroup for new build items.
226 (ParentProject): Add setter.
227 * Project.cs: Set the project for new BuildItemGroup instances.
228 * TaskEngine.cs (PublishItemGroup): Likewise.
230 2009-01-06 Ankit Jain <jankit@novell.com>
232 * Project.cs (Build): Honor InitialTargets list.
234 2009-01-06 Ankit Jain <jankit@novell.com>
236 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
237 the property type also.
238 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
241 2009-01-06 Ankit Jain <jankit@novell.com>
243 * Project.cs (Build): Correctly handle null targetNames argument.
245 2009-01-06 Ankit Jain <jankit@novell.com>
247 * Engine.cs (LogProjectStarted): Add a null check.
249 2009-01-01 Ankit Jain <jankit@novell.com>
251 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
252 * ChangeType (ToBuildItemGroup): Add 'split' param.
254 * Expression.cs (Parse): Add a new overload with a 'split' param.
255 * ExpressionCollection.cs (Add): Add new overload for IReference,
256 remove the ones for Item/Metadata/PropertyReference.
257 (ConvertToArray): Implement correctly.
258 (ConvertToString): Track api changes.
259 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
260 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
261 (AddItemsToArray): New.
262 (ConvertToITaskItemArrayFromString): Refactor a bit.
263 (ThrowCantConcatError): New.
264 * ItemReference.cs: Update.
265 * MetadataReference.cs: Update.
266 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
268 * BuildPropertyGroup.cs: Track api changes.
269 * TaskEngine.cs (PublishOutput): Improve exception message.
270 * Project.cs (DoLoad): Improve exception message. Add a null check.
272 2008-12-30 Ankit Jain <jankit@novell.com>
274 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
275 metadata values for unqualified references.
276 (BuildItemGroupToITaskItemArray): Rename to ..
277 (BuildItemGroupToITaskItems): .. this.
280 2008-12-18 Ankit Jain <jankit@novell.com>
282 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
284 2008-12-17 Ankit Jain <jankit@novell.com>
286 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
287 only one instance of unique metadata value is required.
289 2008-11-22 Ankit Jain <jankit@novell.com>
291 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
293 * MetadataReference.cs (ConvertToITaskItemArray): New.
294 * Project.cs (GetAllItemGroups): New.
296 2008-11-21 Ankit Jain <jankit@novell.com>
298 * BatchingImpl.cs: Add task batching implementation.
299 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
300 * ExpressionCollection.cs (Count): New.
301 (ConvertToString): Handle MetadataReference.
302 * ItemReference.cs (ConvertToString):
303 (ConvertToITaskItemArray): Use the batching api.
305 * MetadataReference.cs (ConvertToString): New.
307 * Project.cs: Add api for accessing batched items and metadata.
308 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
311 2008-10-01 Ankit Jain <jankit@novell.com>
313 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
314 (BuildProjectFile): If filename is null (project.LoadXml) then use
316 * BuildTask.cs (InitializeTask): Track api change.
317 * Expression.cs (Parse): Skip empty entries in the expression.
319 2008-09-24 Ankit Jain <jankit@novell.com>
321 * Engine.cs: Add argument checks.
322 * Project.cs: Likewise.
324 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
326 * Project.cs (Build): Add outputs to targetOutputs.
328 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
330 * ExpressionCollection.cs (ConvertToArray): Simplify.
332 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
334 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
335 simplified. It still needs tests and refactoring.
337 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
339 * BuildEngine.cs (BuildProjectFile): Don't crash on null
342 * Target.cs: Add Outputs property.
344 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
346 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
347 (). Support condition.
349 * BatchingImpl.cs (BatchBuildTask): Simplify.
351 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
353 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
356 * ConditionFunctionExpression.cs: Removed warnings.
358 * BuildTask.cs (Execute): Write exceptions to std err (they should be
359 logged but it's better than swallowing).
361 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
363 * ConditionTokenizer.cs: Add Putback ().
365 * ConditionParser.cs: Add parsing of functions.
367 * ConditionFunctionExpression.cs: Add.
369 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
371 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
372 set property in persisted property group.
374 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
376 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
379 * ConsoleLogger.cs (TargetFinishedHandler)
380 (TaskFinishedHandler): Increment error count.
382 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
384 * BuildItem.cs (RemoveMetadata): Remove from XML.
385 (SetMetadata): Trigger project reevaluation.
387 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
389 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
392 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
394 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
395 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
396 BatchingImpl.cs, BuildProperty.cs: Track API changes.
398 * Expression.cs (Parse): Added allowItems parameter and made regexes
401 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
402 will try to import a.ext when given a.EXT.
404 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
406 * BuildItemGroup.cs: Store information saying what is the last item
407 group that contains build item name.
409 * Project.cs (Build): Pass empty array (build default targets).
411 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
413 * Token.cs: Commented Transform and LiteralSubExpression and added
416 * ConditionParser.cs: Removed redundant casts, rewrote
417 ParseFactorExpression () and added parsing of '!'.
419 * ConditionTokenizer.cs: Always skip whitespaces when getting next
420 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
421 Moved ReadChar () in front of all ifs.
423 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
425 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
426 from XML. (not to escape items that have parents twice).
428 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
430 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
431 (Project): Renamed to ParentProject.
433 * BuildItem.cs (ctor)
434 (CopyCustomMetadata): Add null check.
436 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
437 (RemoveProperty): Added null check.
439 * TargetCollection.cs (RemoveTarget): Added null check.
441 * Engine.cs (UnloadProject): Added null check.
443 * GroupingCollection.cs (Remove): Check if removed group belongs to
446 * Project.cs (AddNewItem): Implemented.
447 (RemoveItem): Reorganized.
448 (SetProjectExtensions): Added null check.
450 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
452 * BuildItemGroup.cs (Detach): Added.
454 (RemoveItemAt): Used Detach ().
456 * BuildItem.cs: Made FromXml and HasParent internal and added
457 ParentItem and ParentItemGroup properties (internal).
460 * GroupingCollection.cs (Remove): Used Detach ().
462 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
464 (GetEvaluatedItemsByNameIgnoringCondition)
465 (GetEvaluatedItemsByName)
466 (GetEvaluatedProperty): Reevaluate if needed.
468 (RemoveAllItemGroups)
469 (RemoveAllPropertyGroups): Implemented.
470 (DoLoad): Added closing of TextReader.
472 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
474 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
475 change but just mark that it needs it.
477 * Project.cs: Reevaluate when it needs reevaluation and one of
478 Evaluated* properties is used.
480 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
482 * Target.cs: Throw an exception when <OnError> is not last element in
485 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
487 * TargetCollection.cs: If a target is already there replace it with
490 * BuildProperty.cs: Added XmlElement property.
492 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
494 * ImportCollection.cs: Don't add imports that are already added.
496 * BuildItemGroup.cs: MonoTODOs.
498 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
499 condition can't be evaluated to bool.
501 * BuildPropertyGroup.cs (Evaluate): Simplify.
503 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
505 * BuildWhen.cs: Moved BindToXml () code to ctor.
507 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
508 property needed for removing groups.
510 * Engine.cs: Added StartBuild () that logs build start when Build ()
513 * GroupingCollection.cs: Added Remove () for item and property groups.
515 * Project.cs (AddNewImport): Implemented.
516 (AddNewItemGroup): Implemented.
517 (AddNewPropertyGroup): Implemented.
518 (AddNewUsingTaskFromAssemblyFile): Implemented.
519 (AddNewUsingTaskFromAssemblyName): Implemented.
520 (RemoveItemGroup): Implemented.
521 (RemovePropertyGroup): Implemented.
523 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
525 * BuildItemGroup.cs (Clear): Remove from XML.
527 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
528 to Project.EvaluatedProperties.
529 (Clear): Remove from XML.
531 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
533 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
536 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
538 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
539 Add () calls when processing a project from Import and
540 evaluate_iterator for evaluation.
542 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
544 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
545 and prepend relative directory of importing project to full path of
548 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
550 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
551 BuildItemGroupCollection.cs, Project.cs: Track API changes.
553 * GroupingCollection.cs: Now it needs Project reference so added it.
555 * BuildTask.cs: Formatting.
557 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
559 * ConditionParser.cs (ParseAndEvaluate): Added.
561 * BuildItem.cs: Changed exception message.
563 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
565 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
566 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
567 GroupingCollection doesn't need Project reference.
569 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
571 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
572 (Project.EvaluatedItems is a read only item group.)
573 (ReplaceWith): Added.
575 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
576 global property group causes reevaluation of its project.
578 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
581 * OldExpression.cs: Removed.
583 * BuildProperty.cs (Evaluate): Simplified.
585 * ChangeType.cs (TemporaryTransform): Simplified.
587 * BuildItem.cs: There are now 3 types of build items: from XML, having
588 parent from XML, virtual. Added SplitParentItem ().
590 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
592 * Utilities.cs: Added Unescape ().
594 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
595 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
596 groups (at the moment just unescape).
598 * Expression.cs (CopyToExpressionList): Unescape strings.
600 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
602 * Target.cs (ctor): Added ImportedProject argument and removed
604 (AddNewTask): Implemented.
606 * TargetCollection.cs (AddNewTarget): Implemented.
608 * Project.cs: Track API changes.
610 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
612 * Target.cs (Build): Don't throw anything in case of error, just
615 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
618 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
621 * BuildProperty.cs (ToString): Throw an exception if property is not
623 (op_Explicit): Added a null check.
625 * Engine.cs: Better error message.
627 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
628 IndexOutOfRangeException.
630 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
631 (MarkProjectAsDirty): Set time.
633 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
635 * BuildItemGroup.cs (Clone): Throw exception.
637 * Project.cs (Load): Throw InvalidProjectFileException if anything
640 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
642 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
643 and ConvertToITaskItemArray ().
645 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
647 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
648 classes that were public in Beta 2 and aren't used.
650 * Expression.cs: Added replacement for parsing expressions char by
651 char. It uses regexes to find item/property/metadata references in
654 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
655 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
656 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
658 * ConditionRelationalExpression.cs: Formatting.
660 * OldExpression.cs: Commented everything.
662 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
663 parsing to Expression.
665 * BuildItem.cs: Check if project is from XML in set_Condition and
668 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
671 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
672 can evaluate expression in CanEvaluateToBool ().
674 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
676 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
677 which item group is imported.
679 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
681 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
683 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
684 BuildItemGroupCollection.cs: Little changes related to
687 * ImportCollection.cs: Use GroupingCollection not an internal list.
689 * Import.cs (Evaluate): Split to functions and check if
690 EvaluatedProjectPath is empty.
692 * GroupingCollection.cs, Project.cs: Move evaluation to
693 GroupingCollection. Change algorithm to use 2 passes: first for property
694 groups and imports and second for item groups.
696 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
698 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
699 BuildItemGroup> not IDictionary.
701 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
702 evaluated to false because we want to add every item to
703 Project.EvaluatedItemsByNameIgnoringCondition.
705 * Project.cs (Build): Don't throw an exception just return false.
706 (GetEvaluatedProperty): Avoid NullReferenceException.
707 (SetProjectExtensions): Implemented.
709 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
711 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
713 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
714 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
715 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
717 * ImportCollection.cs: Added a note.
719 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
721 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
723 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
724 (UsingTask[] array, int index)
726 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
727 items to Project.EvaluatedItems in PublishItemGroup ();
729 * BuildItemGroup.cs: Added [MonoTODO].
731 * UsingTask.cs: Used expression for AssemblyFile to get around
732 problems with '\' and '/'.
734 * BuildItem.cs (ctor): Added null checks.
735 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
736 (SetMetadata): Don't escape evaluatedMetadata and escape
737 unevaluatedMetadata only when treatPropertyValueAsLiteral.
739 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
740 FromXml () instead of null checks.
741 (SetProperty): Escape propertyValue when it is literal.
743 * BuildProperty.cs: Changed exception message.
745 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
747 (GetProjectExtensions): Implemented.
749 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
751 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
752 GetParameterValue (), use expressions in ContinueOnError.
753 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
754 instead of InvalidOperationException ().
755 * ImportCollection.cs: Implement CopyTo ().
756 * Target.cs: Remove redundant variables (XmlAttributes), return
757 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
758 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
759 * Import.cs: Throw an exception when file does not exist.
760 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
761 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
762 need to treat item as a token probably
764 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
766 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
768 * BuildItemGroupCollection.cs: Changed exception types.
770 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
772 * Engine.cs: Removed redundant cast.
774 * UsingTaskCollection.cs:
778 * TargetCollection.cs: Comment unused variable.
779 * ConditionTokenizer.cs: Simplified checking if current token is a
781 * Target.cs: Removed old code.
783 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
785 * Target.cs: Changed "" to String.Empty.
786 * TaskEngine.cs: Don't try to convert a parameter to specific type if
787 string was evaluated to String.Empty.
788 * InternalLoggerException.cs:
789 * InvalidProjectFileException.cs: Added LinkDemand before
791 * ConsoleLogger.cs: Changed "" to String.Empty.
792 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
793 with change to generics).
794 * Project.cs: Made Build () throw more meaningful exception.
796 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
798 * Target.cs: Reformatted.
799 * TaskEngine.cs: Removed redundant code.
800 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
801 * Engine.cs: Made BuildProjectFile () load project file if it's not
804 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
806 * ConditionRelationalExpression.cs: Change comparers to case
808 * ImportCollection.cs: Add NotImplementedExceptions.
809 * BuildPropertyGroup.cs: Reformatted a bit.
810 * BuildProperty.cs: The same.
811 * Project.cs: Moved evaluation of imports before evaluation of
812 properties. This may "work" until importing projects is redesigned but
813 probably isn't correct.
815 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
817 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
819 * BuildItemGroup.cs: Change return to continue.
821 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
823 * ConditionParser.cs: Copyright note.
824 * ExpressionCollection.cs: Fixed arrays passing.
826 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
828 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
829 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
830 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
831 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
833 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
835 * Token.cs: Changed names: removed "than".
836 * ConditionRelationalExpression.cs: Added.
837 * ConditionFactorExpression.cs: Added.
838 * BuildItemGroup.cs: Changed Condition property return value to return
839 String.Empty instead of null.
840 * ConditionParser.cs: Added support for parsing relational expressions
842 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
843 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
844 and CanEvaluateToBool (), CanEvaluateToNumber () and
845 CanEvaluateToString ().
846 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
847 appropriately to ConditionExpression base class.
848 * ConditionTokenizer.cs: Added null check and changed names in enums:
850 * ConditionNotExpression.cs: Added.
851 * BatchingImpl.cs: Changed to use BoolEvaluate ().
852 * Project.cs: Added checks for condition.
854 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
856 * ConditionalTokenizer.cs, ConditionalExpression.cs,
857 ConditionalParser.cs: Changed name,
859 * ConditionExpression.cs: Added Evaluate ().
860 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
861 * BatchingImpl.cs: Added check if task should be executed.
863 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
865 * UsingTask.cs: Changed properties to return null on empty attribute.
866 * UsingTaskCollection.cs: Added object to SyncRoot.
867 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
869 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
871 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
872 BuildPropertyGroupCollection.cs: Fixed to match the tests.
874 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
876 * Utilities.cs: Implemented Escape ().
877 * BuildItem.cs: Added null checks.
878 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
879 * Project.cs: Commented out redundant Evaluate ().
880 * BuildChoose.cs: Minor changes.
882 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
884 * Token: Added new few missing tokens.
885 * Target.cs, Project.cs: Patch from Matthew Metnesky.
886 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
887 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
888 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
890 Removed literal expression parsing based on tokenizer and
891 parser. It needs to be done by regex.
893 Moved tokenizer to ConditionalTokenizer.cs.
895 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
897 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
898 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
899 methods converting reference to string from ToString () to
900 ConvertToString () to avoid mistakes like using ToString () provided
903 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
905 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
906 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
907 PropertyReference.cs, BuildProperty.cs: Changed Expression to
908 OldExpression and changed To* functions to one ConvertTo ().
909 * TaskEngine.cs: Fixed PublishOutput ().
910 * OldExpression.cs: Added. It will be temporarily used before
911 LiteralExpression will be written using Tokenizer.
912 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
913 ExpressionParseException.cs, LiteralExpression.cs: Added.
915 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
917 * ImportedProject.cs: Removed warning.
918 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
921 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
923 * Project.cs: Removed unnecessary variable.
924 * Engine.cs: Added fixme.
926 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
928 * BuildItem.cs: Moved checking if metadata name is reserved to internal
929 class (Mono.XBuild.Utilities.ReservedNameUtils).
931 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
933 * BuildTask.cs: Removed unnecessary variable.
934 * Engine.cs: Added logging of the build start.
935 * Project.cs: Removed unnecessary variable.
937 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
939 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
941 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
943 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
945 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
947 * BuildItem.cs: Fix typo?
949 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
951 * InternalLoggerException.cs, InvalidProjectFileException.cs,
952 Engine.cs, Project.cs: Coding style fixes.
954 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
956 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
958 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
960 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
961 to pass tests. Wrote serialization constructor.
962 * Engine.cs, Project.cs: Global engine and project unloading, test and
965 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
967 * UsingTask.cs: Formatting changes.
969 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
971 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
972 to lists instead of hashtables.
973 * Import.cs: Cleaned up, moved importing from Project.cs
974 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
975 * Engine.cs: Cleaned up properties.
976 * Project.cs: Moved importing to Import.cs, cleaned up properties,
977 Separated evaluation and loading.
979 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
981 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
982 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
983 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
984 binding and evaluation, merge xml binding in constructors.
985 * DirectoryScanner.cs: Includes CAN be empty.
986 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
987 * ConsoleLogger.cs: Fix compilation warning.
989 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
991 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
993 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
995 * Engine.cs: API cleanup.
997 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
999 * Project.cs: Cleaned up add.
1000 * Expression.cs: Hacked to transform \ and / to path separators.
1001 * BuildPropertyGroup.cs: Small cleanup.
1002 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
1005 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1007 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
1008 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
1010 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
1011 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
1012 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
1014 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
1015 * TaskElement.cs: Temporarily removed.
1016 * Xml.cs: Changed to static.
1018 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1020 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
1021 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
1022 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
1023 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
1024 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
1025 IBuildPropertyGroupCollection.cs: Removed.
1027 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1029 * BuildItem.cs: Removed IBuildItem references.
1030 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
1031 IBuildItemGroup references. Changed Evaluate to internal.
1032 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
1033 reference and hidden constructors.
1034 * BuildProperty.cs: Removed IBuildProperty reference.
1035 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
1036 IBuildPropertyGroup references. Changed Evaluate to internal.
1037 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
1038 reference and hidden constructors.
1039 * ConsoleLogger.cs: Updated names of event handlers.
1040 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
1041 Escape. Added UnloadAllProjects () and UnloadProject ().
1042 * FileLogger.cs: Removed ApplyParameter ().
1043 * GroupingCollection.cs: Hidden.
1044 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
1045 * ItemPropertyGroupingBase.cs: Commented.
1046 * ProcessingPass.cs: Hidden.
1047 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1049 * Target.cs: Removed ITarget reference.
1050 * TargetCollection.cs: Removed ITargetCollection reference.
1051 * TaskElement.cs: Removed ITaskElement reference.
1052 * TaskEngineAssemblyResolver.cs: Hidden.
1053 * Utilities.cs: Made static class, removed CheckPath (),
1054 ValidateCulture (), GetSupportedCultures () and added Escape ().
1056 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1058 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1061 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1063 * Project.cs: Added MonoTODO attributes.
1064 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1065 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1066 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1067 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1068 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1069 BuildItemGroup.cs, InvalidProjectFileException.cs,
1070 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1071 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1072 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1073 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1074 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1075 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1076 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1077 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1078 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1079 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1080 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1081 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1083 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1085 * TaskDatabase.cs: Change Shared to Framework.
1086 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1087 CaseInsensitiveHashCodeProvider
1089 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1091 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1092 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1095 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1097 * InternalLoggerException.cs: Changed protected fields to private.
1099 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1101 * Engine.cs: Added check for globalProperties.
1102 * Project.cs: Added using path from importedProject.FullFileName when
1103 adding UsingTask elements.
1105 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1107 * TaskElement.cs: Changed ReflectedType to PropertyType.
1108 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1111 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1113 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1115 * BuildProperty.cs: Organized PropertyType enum.
1116 * Engine.cs: Added setting CommandLine PropertyType of global
1119 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1121 * InvalidProjectFileException.cs: Changed Message property.
1122 * ChangeType.cs (TransformToString): Added separator between items.
1123 * TaskEngineAssemblyResolver.cs: Formatting.
1125 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1127 * DirectoryScanner.cs: Added.
1128 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1129 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1130 * Project.cs: Removed Evalute* ().
1132 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1134 * Target.cs: Formatting.
1135 * Expression.cs: Added check if array == null.
1136 * BuildItem.cs: Removed 'break' to remove warnings.
1137 * ConsoleLogger.cs: Formatting.
1138 * Engine.cs: Added handling of default target(s).
1139 * Project.cs: Added handling of default target(s).
1141 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1143 * TaskElement.cs: Added check for parameters.
1144 * Target.cs: Added logging of target skipping.
1145 * Expression.cs: Changed returning object[] to string[], bool[]... in
1147 * ItemReference.cs: Fixed for item references without custom
1149 * BatchingImpl.cs: Added real inputs/outputs checking.
1150 * Engine.cs: Moved global properties setting.
1151 * Project.cs: Moved global properties setting.
1153 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1155 * Target.cs: Added checks for target existence.
1156 * BuildItemGroup.cs: Changed to use transforms.
1157 * MetadataReference.cs: Wrote real implementation.
1158 * ItemReference.cs: Rewritten to use transforms.
1159 * BuildItem.cs: Changes for transforms and metadata.
1160 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1162 * Project.cs: Fixed project importing.
1163 * ImportedProject.cs: Changed to throw exceptions instead of returning
1166 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1168 * Engine.cs: Removed FIXME.
1169 * Project.cs: Splitted ProcessElements and added project importing.
1170 * ImportedProject.cs: Rewritten.
1172 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1174 * TaskElement.cs: Added getting of objects of every type.
1175 * BuildItemGroup.cs: Added ToITaskItemArray ().
1176 * Expression.cs: Implemented part that is not using metadata.
1177 * ItemReference.cs: Implemented parsing item references. Need to fix
1179 * BuildItem.cs: Fixed ToITaskItem ().
1180 * PropertyReference.cs: Implemented parsing property references. This
1181 also needs validity checking.
1183 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1185 * TaskElement.cs: Added Output element handling.
1186 * Target.cs: Cleaned up.
1187 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1188 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1189 ItemReference.cs, ChangeType.cs: Added.
1190 * BuildItem.cs: Added creating BuildItem from TaskItem.
1191 * BuildPropertyGroup.cs: Small changes.
1192 * BatchingImpl.cs: Fixed to return real task execution result.
1193 * BuildProperty.cs: Fixed FinalValue property.
1194 * Engine.cs: Reformatted logging.
1195 * Project.cs: Added check to EvaluateProperty.
1197 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1199 * TaskElement.cs: Added part of execution engine.
1200 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1201 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1202 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1203 * BuildItem.cs: Added handling of built-in metadata and referencing
1204 Items by name not FullName.
1205 * BatchingImpl.cs: Added temporary task "batching".
1206 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1207 * Project.cs: Added Evaluate. It will be moved to separate class.
1209 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1211 * EventSource.cs, Engine.cs: Added CriticalEvents.
1212 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1213 Project.cs: Added some support for items.
1214 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1216 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1218 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1221 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1223 * BatchingImpl.cs: Added.
1224 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1225 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1226 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1227 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1228 GroupingCollection.cs: Updated.
1230 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1232 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1233 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1234 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1235 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1236 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1237 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1238 InternalLoggerException.cs, InvalidProjectFileException.cs,
1239 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1240 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1241 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1242 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1243 Initial check-in of implementations.
1245 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1247 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1248 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1249 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1250 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1251 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1252 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1253 Initial check-in of interfaces and a syntax file, real classes are
1254 changing a lot so I'll wait a moment with checking them in.