1 2009-08-20 Ankit Jain <jankit@novell.com>
3 * BuildTask.cs (Execute): Use task_logger only after the task
4 has been initialized. Catch and report task loading errors.
5 * Target.cs (DoBuild): Dont rethrow the exception, and emit
6 the stacktrace as a low importance message.
8 2009-08-18 Ankit Jain <jankit@novell.com>
10 * BatchingImplBase.cs: Make the item name lookups and metadata be case
12 * TaskDatabase.cs: Likewise.
13 * TaskEngine.cs: Make property name looks, case insensitive.
15 2009-08-09 Miguel de Icaza <miguel@novell.com>
17 * ConsoleLogger.cs: Change the format of the error and warnings
18 strings to work when invoked inside Emacs by not rendering the
19 column if available, by using lowercase "error"/"warning" strings
20 instead of camelcased versions and to not have unnecessary padding.
22 2009-07-31 Ankit Jain <jankit@novell.com>
24 * ConsoleLogger.cs: Keep track of all the errors and warnings
25 and show them at the end.
27 2009-07-31 Ankit Jain <jankit@novell.com>
29 * Target.cs (Build): Log a message if a target is skipped.
31 * BuildTask.cs (Execute): Log error if task execution fails.
33 2009-07-30 Ankit Jain <jankit@novell.com>
35 * Engine.cs (.ctor): Set default BinPath. Currently this assumes
36 v2.0, this will change when multi-targeting lands.
38 2009-07-30 Ankit Jain <jankit@novell.com>
40 * Project.cs (InitializeProperties) Set 'MSBuildProjectFile' and
41 'MSBuildProjectName' properties.
43 2009-07-28 Ankit Jain <jankit@novell.com>
45 * TaskEngine.cs (Prepare): Fix formatting mistake.
46 * ConsoleLogger.cs: Emit "-- FAILED" also when project/target building
47 fails. Also, emit result of project at Normal verbosity level.
49 2009-07-23 Ankit Jain <jankit@novell.com>
52 * Project.cs (ExtensionsPath): New.
53 (InitializeProperties): Set "MSBuildExtensionsPath" property.
55 2009-06-12 Ankit Jain <jankit@novell.com>
58 * ExpressionCollection.cs (ConvertToITaskItemArray): Whitespace around a
59 itemref is allowed if the prev/next element is ";".
61 2009-06-12 Ankit Jain <jankit@novell.com>
63 * Utilities.cs (FromMSBuildPath): Return null if the path contains
64 "drive:" only on windows.
66 2009-06-07 Ankit Jain <jankit@novell.com>
68 * Target.cs (Outputs): Use ITaskItem[] for conversion, to retain
71 2009-05-29 Ankit Jain <jankit@novell.com>
73 Correctly handle global properties. Correctly log
76 * BuildPropertyGroup.cs (Clone): Implement.
77 * Engine.cs (globalProperties): Rename to ..
78 (global_properties): .. this.
79 (currentlyBuildingProjectsStack): New. Used to correctly
80 log and raise project/build start/finish events.
81 (BuildProjectFile): Override any project global properties
82 with explicitly specified ones, here in the param @globalProperties.
83 Mark project for reevaluation, which will update the engine's
84 global properties also.
85 Reset both engine and project's old global properties at the end.
86 (UnregisterAllLoggers): Log build finished only if we are currently
88 (StartBuild): Rename to ..
89 (StartProjectBuild): .. this. Keeps track of the projects being built
90 in the new stack, and logs project and build events accordingly.
91 (EndProjectBuild): New. Uses the stack to keep track of projects
92 finishing builds, and raises project and build events accordingly.
93 (LogProjectStarted): Move here from Project.cs
94 (LogProjectFinished): Likewise.
96 * Project.cs (Build): Log start of project build.
97 Set current directory to the project file's dir, and reset at end.
98 (BuildInternal): Don't log here, its done in Build.
99 (BuildTarget): Already built targets are keyed by the set of global
100 properties that they were built with.
101 (GlobalPropertiesToString): New.
102 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
103 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
104 (Evaluate): Remove built targets only if we are currently building and
105 build settings are None.
106 Merge project's global properties with those of the parent engine.
107 Add missing properties from engine's global properties.
108 (LogTargetSkipped): Fix format string, add the reqd argument.
110 2009-05-29 Ankit Jain <jankit@novell.com>
112 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
113 (HasTrailingSlash): New.
115 2009-05-12 Ankit Jain <jankit@novell.com>
117 * Project.cs (.ctor): Init timeOfLastDirty.
119 2009-05-05 Miguel de Icaza <miguel@novell.com>
121 * Contribution from Martin Brenn to fix #498154.
123 2009-04-27 Ankit Jain <jankit@novell.com>
126 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
127 one passed as argument.
129 2009-04-27 Ankit Jain <jankit@novell.com>
131 * TaskEngine.cs (Prepare): Emit a useful error message property value
132 can't be converted to required type.
134 2009-04-27 Ankit Jain <jankit@novell.com>
136 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
137 as valid true values for bool, and corresponding for false.
139 2009-03-27 Jonathan Chambers <joncham@gmail.com>
141 * BuildWhen.cs: Add basic implementation.
142 * BuildChoose.cs: Add basic implementation.
143 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
144 EvaluatedItemsIgnoringCondition.
145 * GroupingCollection.cs: Add evaluation of BuildChoose items.
147 2009-03-26 Jonathan Chambers <joncham@gmail.com>
149 * TaskDatabase.cs (RegisterTask): Search for class by name
150 if task was not found using GetType (which uses namespace).
152 2009-02-26 Ankit Jain <jankit@novell.com>
154 * Target.cs: Handle target with no tasks. Log errors.
156 2009-02-24 Ankit Jain <jankit@novell.com>
158 Lazily load UsingTask tasks.
159 * UsingTask.cs (Evaluate): Register 'this' with task database,
160 but don't load it yet. Register only if condition evaluates to true.
161 Move the load logic to ..
162 (Load): .. here. Register with the specified task database.
163 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
164 in a table keyed by task name, but don't load it yet.
165 (GetTypeFromClassName): Try to load UsingTask if task is not already
166 loaded. Move loading logic to ..
167 (GetTypeFromClassNameInternal): .. here.
168 (CopyTasks): Copy the usingTasks table also.
170 2009-02-23 Ankit Jain <jankit@novell.com>
172 * BuildItem.cs (AddMetadata): Allow overwriting older values.
174 2009-02-22 Ankit Jain <jankit@novell.com>
176 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
177 instead of XmlElement. Eg. XmlComment
179 2009-02-21 Ankit Jain <jankit@novell.com>
181 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
182 * Project.cs (Load): Use FromMSBuildPath on the path.
183 (InitializeProperties): Set "MSBuildToolsPath" also.
185 2009-02-20 Ankit Jain <jankit@novell.com>
188 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
189 transforms) in conditions.
190 * ConditionParser.cs: Parse unquoted item, property references.
191 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
192 * Token.cs (Token.ToString): Override.
193 (TokenType.Transform): Uncomment.
195 2009-02-12 Jonathan Chambers <joncham@gmail.com>
197 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
198 no XmlElement.InnerText. This allows properties to be additional
201 2009-02-01 Ankit Jain <jankit@novell.com>
203 * BuildEngine.cs (BuildProjectFile): Use
204 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
205 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
206 built. Move logging of project start/finish to ..
207 * Project.cs: .. here. Build a target only if hasn't been built already.
208 Keep track of target outputs, and return those even if an already built
209 target has been invoked again.
210 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
212 2009-01-31 Ankit Jain <jankit@novell.com>
214 * BatchingImpl.cs: Split into ..
215 * BatchingImplBase.cs: .. this,
216 * TaskBatchingImpl.cs: .. this ..
217 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
219 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
220 (Log*): Move to TargetBatchingImpl .
224 2009-01-30 Ankit Jain <jankit@novell.com>
226 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
229 2009-01-29 Ankit Jain <jankit@novell.com>
231 * BuildItem.cs (child_items): Change type from BuildItemGroup to
233 (HasParent): Rename to ..
234 (HasParentItem): .. this.
235 (ParentItemGroup): Add setter.
237 * BuildItemGroup.cs (.ctor): Add overload with @project param.
239 (AddItem): Correctly set the ParentItemGroup for new build items.
240 (ParentProject): Add setter.
241 * Project.cs: Set the project for new BuildItemGroup instances.
242 * TaskEngine.cs (PublishItemGroup): Likewise.
244 2009-01-06 Ankit Jain <jankit@novell.com>
246 * Project.cs (Build): Honor InitialTargets list.
248 2009-01-06 Ankit Jain <jankit@novell.com>
250 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
251 the property type also.
252 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
255 2009-01-06 Ankit Jain <jankit@novell.com>
257 * Project.cs (Build): Correctly handle null targetNames argument.
259 2009-01-06 Ankit Jain <jankit@novell.com>
261 * Engine.cs (LogProjectStarted): Add a null check.
263 2009-01-01 Ankit Jain <jankit@novell.com>
265 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
266 * ChangeType (ToBuildItemGroup): Add 'split' param.
268 * Expression.cs (Parse): Add a new overload with a 'split' param.
269 * ExpressionCollection.cs (Add): Add new overload for IReference,
270 remove the ones for Item/Metadata/PropertyReference.
271 (ConvertToArray): Implement correctly.
272 (ConvertToString): Track api changes.
273 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
274 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
275 (AddItemsToArray): New.
276 (ConvertToITaskItemArrayFromString): Refactor a bit.
277 (ThrowCantConcatError): New.
278 * ItemReference.cs: Update.
279 * MetadataReference.cs: Update.
280 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
282 * BuildPropertyGroup.cs: Track api changes.
283 * TaskEngine.cs (PublishOutput): Improve exception message.
284 * Project.cs (DoLoad): Improve exception message. Add a null check.
286 2008-12-30 Ankit Jain <jankit@novell.com>
288 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
289 metadata values for unqualified references.
290 (BuildItemGroupToITaskItemArray): Rename to ..
291 (BuildItemGroupToITaskItems): .. this.
294 2008-12-18 Ankit Jain <jankit@novell.com>
296 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
298 2008-12-17 Ankit Jain <jankit@novell.com>
300 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
301 only one instance of unique metadata value is required.
303 2008-11-22 Ankit Jain <jankit@novell.com>
305 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
307 * MetadataReference.cs (ConvertToITaskItemArray): New.
308 * Project.cs (GetAllItemGroups): New.
310 2008-11-21 Ankit Jain <jankit@novell.com>
312 * BatchingImpl.cs: Add task batching implementation.
313 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
314 * ExpressionCollection.cs (Count): New.
315 (ConvertToString): Handle MetadataReference.
316 * ItemReference.cs (ConvertToString):
317 (ConvertToITaskItemArray): Use the batching api.
319 * MetadataReference.cs (ConvertToString): New.
321 * Project.cs: Add api for accessing batched items and metadata.
322 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
325 2008-10-01 Ankit Jain <jankit@novell.com>
327 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
328 (BuildProjectFile): If filename is null (project.LoadXml) then use
330 * BuildTask.cs (InitializeTask): Track api change.
331 * Expression.cs (Parse): Skip empty entries in the expression.
333 2008-09-24 Ankit Jain <jankit@novell.com>
335 * Engine.cs: Add argument checks.
336 * Project.cs: Likewise.
338 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
340 * Project.cs (Build): Add outputs to targetOutputs.
342 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
344 * ExpressionCollection.cs (ConvertToArray): Simplify.
346 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
348 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
349 simplified. It still needs tests and refactoring.
351 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
353 * BuildEngine.cs (BuildProjectFile): Don't crash on null
356 * Target.cs: Add Outputs property.
358 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
360 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
361 (). Support condition.
363 * BatchingImpl.cs (BatchBuildTask): Simplify.
365 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
367 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
370 * ConditionFunctionExpression.cs: Removed warnings.
372 * BuildTask.cs (Execute): Write exceptions to std err (they should be
373 logged but it's better than swallowing).
375 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
377 * ConditionTokenizer.cs: Add Putback ().
379 * ConditionParser.cs: Add parsing of functions.
381 * ConditionFunctionExpression.cs: Add.
383 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
385 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
386 set property in persisted property group.
388 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
390 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
393 * ConsoleLogger.cs (TargetFinishedHandler)
394 (TaskFinishedHandler): Increment error count.
396 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
398 * BuildItem.cs (RemoveMetadata): Remove from XML.
399 (SetMetadata): Trigger project reevaluation.
401 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
403 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
406 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
408 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
409 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
410 BatchingImpl.cs, BuildProperty.cs: Track API changes.
412 * Expression.cs (Parse): Added allowItems parameter and made regexes
415 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
416 will try to import a.ext when given a.EXT.
418 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
420 * BuildItemGroup.cs: Store information saying what is the last item
421 group that contains build item name.
423 * Project.cs (Build): Pass empty array (build default targets).
425 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
427 * Token.cs: Commented Transform and LiteralSubExpression and added
430 * ConditionParser.cs: Removed redundant casts, rewrote
431 ParseFactorExpression () and added parsing of '!'.
433 * ConditionTokenizer.cs: Always skip whitespaces when getting next
434 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
435 Moved ReadChar () in front of all ifs.
437 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
439 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
440 from XML. (not to escape items that have parents twice).
442 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
444 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
445 (Project): Renamed to ParentProject.
447 * BuildItem.cs (ctor)
448 (CopyCustomMetadata): Add null check.
450 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
451 (RemoveProperty): Added null check.
453 * TargetCollection.cs (RemoveTarget): Added null check.
455 * Engine.cs (UnloadProject): Added null check.
457 * GroupingCollection.cs (Remove): Check if removed group belongs to
460 * Project.cs (AddNewItem): Implemented.
461 (RemoveItem): Reorganized.
462 (SetProjectExtensions): Added null check.
464 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
466 * BuildItemGroup.cs (Detach): Added.
468 (RemoveItemAt): Used Detach ().
470 * BuildItem.cs: Made FromXml and HasParent internal and added
471 ParentItem and ParentItemGroup properties (internal).
474 * GroupingCollection.cs (Remove): Used Detach ().
476 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
478 (GetEvaluatedItemsByNameIgnoringCondition)
479 (GetEvaluatedItemsByName)
480 (GetEvaluatedProperty): Reevaluate if needed.
482 (RemoveAllItemGroups)
483 (RemoveAllPropertyGroups): Implemented.
484 (DoLoad): Added closing of TextReader.
486 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
488 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
489 change but just mark that it needs it.
491 * Project.cs: Reevaluate when it needs reevaluation and one of
492 Evaluated* properties is used.
494 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
496 * Target.cs: Throw an exception when <OnError> is not last element in
499 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
501 * TargetCollection.cs: If a target is already there replace it with
504 * BuildProperty.cs: Added XmlElement property.
506 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
508 * ImportCollection.cs: Don't add imports that are already added.
510 * BuildItemGroup.cs: MonoTODOs.
512 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
513 condition can't be evaluated to bool.
515 * BuildPropertyGroup.cs (Evaluate): Simplify.
517 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
519 * BuildWhen.cs: Moved BindToXml () code to ctor.
521 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
522 property needed for removing groups.
524 * Engine.cs: Added StartBuild () that logs build start when Build ()
527 * GroupingCollection.cs: Added Remove () for item and property groups.
529 * Project.cs (AddNewImport): Implemented.
530 (AddNewItemGroup): Implemented.
531 (AddNewPropertyGroup): Implemented.
532 (AddNewUsingTaskFromAssemblyFile): Implemented.
533 (AddNewUsingTaskFromAssemblyName): Implemented.
534 (RemoveItemGroup): Implemented.
535 (RemovePropertyGroup): Implemented.
537 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
539 * BuildItemGroup.cs (Clear): Remove from XML.
541 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
542 to Project.EvaluatedProperties.
543 (Clear): Remove from XML.
545 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
547 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
550 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
552 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
553 Add () calls when processing a project from Import and
554 evaluate_iterator for evaluation.
556 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
558 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
559 and prepend relative directory of importing project to full path of
562 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
564 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
565 BuildItemGroupCollection.cs, Project.cs: Track API changes.
567 * GroupingCollection.cs: Now it needs Project reference so added it.
569 * BuildTask.cs: Formatting.
571 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
573 * ConditionParser.cs (ParseAndEvaluate): Added.
575 * BuildItem.cs: Changed exception message.
577 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
579 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
580 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
581 GroupingCollection doesn't need Project reference.
583 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
585 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
586 (Project.EvaluatedItems is a read only item group.)
587 (ReplaceWith): Added.
589 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
590 global property group causes reevaluation of its project.
592 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
595 * OldExpression.cs: Removed.
597 * BuildProperty.cs (Evaluate): Simplified.
599 * ChangeType.cs (TemporaryTransform): Simplified.
601 * BuildItem.cs: There are now 3 types of build items: from XML, having
602 parent from XML, virtual. Added SplitParentItem ().
604 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
606 * Utilities.cs: Added Unescape ().
608 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
609 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
610 groups (at the moment just unescape).
612 * Expression.cs (CopyToExpressionList): Unescape strings.
614 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
616 * Target.cs (ctor): Added ImportedProject argument and removed
618 (AddNewTask): Implemented.
620 * TargetCollection.cs (AddNewTarget): Implemented.
622 * Project.cs: Track API changes.
624 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
626 * Target.cs (Build): Don't throw anything in case of error, just
629 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
632 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
635 * BuildProperty.cs (ToString): Throw an exception if property is not
637 (op_Explicit): Added a null check.
639 * Engine.cs: Better error message.
641 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
642 IndexOutOfRangeException.
644 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
645 (MarkProjectAsDirty): Set time.
647 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
649 * BuildItemGroup.cs (Clone): Throw exception.
651 * Project.cs (Load): Throw InvalidProjectFileException if anything
654 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
656 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
657 and ConvertToITaskItemArray ().
659 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
661 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
662 classes that were public in Beta 2 and aren't used.
664 * Expression.cs: Added replacement for parsing expressions char by
665 char. It uses regexes to find item/property/metadata references in
668 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
669 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
670 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
672 * ConditionRelationalExpression.cs: Formatting.
674 * OldExpression.cs: Commented everything.
676 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
677 parsing to Expression.
679 * BuildItem.cs: Check if project is from XML in set_Condition and
682 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
685 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
686 can evaluate expression in CanEvaluateToBool ().
688 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
690 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
691 which item group is imported.
693 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
695 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
697 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
698 BuildItemGroupCollection.cs: Little changes related to
701 * ImportCollection.cs: Use GroupingCollection not an internal list.
703 * Import.cs (Evaluate): Split to functions and check if
704 EvaluatedProjectPath is empty.
706 * GroupingCollection.cs, Project.cs: Move evaluation to
707 GroupingCollection. Change algorithm to use 2 passes: first for property
708 groups and imports and second for item groups.
710 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
712 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
713 BuildItemGroup> not IDictionary.
715 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
716 evaluated to false because we want to add every item to
717 Project.EvaluatedItemsByNameIgnoringCondition.
719 * Project.cs (Build): Don't throw an exception just return false.
720 (GetEvaluatedProperty): Avoid NullReferenceException.
721 (SetProjectExtensions): Implemented.
723 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
725 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
727 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
728 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
729 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
731 * ImportCollection.cs: Added a note.
733 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
735 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
737 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
738 (UsingTask[] array, int index)
740 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
741 items to Project.EvaluatedItems in PublishItemGroup ();
743 * BuildItemGroup.cs: Added [MonoTODO].
745 * UsingTask.cs: Used expression for AssemblyFile to get around
746 problems with '\' and '/'.
748 * BuildItem.cs (ctor): Added null checks.
749 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
750 (SetMetadata): Don't escape evaluatedMetadata and escape
751 unevaluatedMetadata only when treatPropertyValueAsLiteral.
753 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
754 FromXml () instead of null checks.
755 (SetProperty): Escape propertyValue when it is literal.
757 * BuildProperty.cs: Changed exception message.
759 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
761 (GetProjectExtensions): Implemented.
763 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
765 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
766 GetParameterValue (), use expressions in ContinueOnError.
767 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
768 instead of InvalidOperationException ().
769 * ImportCollection.cs: Implement CopyTo ().
770 * Target.cs: Remove redundant variables (XmlAttributes), return
771 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
772 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
773 * Import.cs: Throw an exception when file does not exist.
774 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
775 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
776 need to treat item as a token probably
778 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
780 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
782 * BuildItemGroupCollection.cs: Changed exception types.
784 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
786 * Engine.cs: Removed redundant cast.
788 * UsingTaskCollection.cs:
792 * TargetCollection.cs: Comment unused variable.
793 * ConditionTokenizer.cs: Simplified checking if current token is a
795 * Target.cs: Removed old code.
797 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
799 * Target.cs: Changed "" to String.Empty.
800 * TaskEngine.cs: Don't try to convert a parameter to specific type if
801 string was evaluated to String.Empty.
802 * InternalLoggerException.cs:
803 * InvalidProjectFileException.cs: Added LinkDemand before
805 * ConsoleLogger.cs: Changed "" to String.Empty.
806 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
807 with change to generics).
808 * Project.cs: Made Build () throw more meaningful exception.
810 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
812 * Target.cs: Reformatted.
813 * TaskEngine.cs: Removed redundant code.
814 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
815 * Engine.cs: Made BuildProjectFile () load project file if it's not
818 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
820 * ConditionRelationalExpression.cs: Change comparers to case
822 * ImportCollection.cs: Add NotImplementedExceptions.
823 * BuildPropertyGroup.cs: Reformatted a bit.
824 * BuildProperty.cs: The same.
825 * Project.cs: Moved evaluation of imports before evaluation of
826 properties. This may "work" until importing projects is redesigned but
827 probably isn't correct.
829 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
831 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
833 * BuildItemGroup.cs: Change return to continue.
835 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
837 * ConditionParser.cs: Copyright note.
838 * ExpressionCollection.cs: Fixed arrays passing.
840 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
842 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
843 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
844 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
845 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
847 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
849 * Token.cs: Changed names: removed "than".
850 * ConditionRelationalExpression.cs: Added.
851 * ConditionFactorExpression.cs: Added.
852 * BuildItemGroup.cs: Changed Condition property return value to return
853 String.Empty instead of null.
854 * ConditionParser.cs: Added support for parsing relational expressions
856 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
857 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
858 and CanEvaluateToBool (), CanEvaluateToNumber () and
859 CanEvaluateToString ().
860 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
861 appropriately to ConditionExpression base class.
862 * ConditionTokenizer.cs: Added null check and changed names in enums:
864 * ConditionNotExpression.cs: Added.
865 * BatchingImpl.cs: Changed to use BoolEvaluate ().
866 * Project.cs: Added checks for condition.
868 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
870 * ConditionalTokenizer.cs, ConditionalExpression.cs,
871 ConditionalParser.cs: Changed name,
873 * ConditionExpression.cs: Added Evaluate ().
874 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
875 * BatchingImpl.cs: Added check if task should be executed.
877 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
879 * UsingTask.cs: Changed properties to return null on empty attribute.
880 * UsingTaskCollection.cs: Added object to SyncRoot.
881 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
883 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
885 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
886 BuildPropertyGroupCollection.cs: Fixed to match the tests.
888 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
890 * Utilities.cs: Implemented Escape ().
891 * BuildItem.cs: Added null checks.
892 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
893 * Project.cs: Commented out redundant Evaluate ().
894 * BuildChoose.cs: Minor changes.
896 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
898 * Token: Added new few missing tokens.
899 * Target.cs, Project.cs: Patch from Matthew Metnesky.
900 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
901 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
902 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
904 Removed literal expression parsing based on tokenizer and
905 parser. It needs to be done by regex.
907 Moved tokenizer to ConditionalTokenizer.cs.
909 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
911 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
912 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
913 methods converting reference to string from ToString () to
914 ConvertToString () to avoid mistakes like using ToString () provided
917 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
919 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
920 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
921 PropertyReference.cs, BuildProperty.cs: Changed Expression to
922 OldExpression and changed To* functions to one ConvertTo ().
923 * TaskEngine.cs: Fixed PublishOutput ().
924 * OldExpression.cs: Added. It will be temporarily used before
925 LiteralExpression will be written using Tokenizer.
926 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
927 ExpressionParseException.cs, LiteralExpression.cs: Added.
929 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
931 * ImportedProject.cs: Removed warning.
932 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
935 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
937 * Project.cs: Removed unnecessary variable.
938 * Engine.cs: Added fixme.
940 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
942 * BuildItem.cs: Moved checking if metadata name is reserved to internal
943 class (Mono.XBuild.Utilities.ReservedNameUtils).
945 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
947 * BuildTask.cs: Removed unnecessary variable.
948 * Engine.cs: Added logging of the build start.
949 * Project.cs: Removed unnecessary variable.
951 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
953 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
955 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
957 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
959 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
961 * BuildItem.cs: Fix typo?
963 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
965 * InternalLoggerException.cs, InvalidProjectFileException.cs,
966 Engine.cs, Project.cs: Coding style fixes.
968 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
970 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
972 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
974 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
975 to pass tests. Wrote serialization constructor.
976 * Engine.cs, Project.cs: Global engine and project unloading, test and
979 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
981 * UsingTask.cs: Formatting changes.
983 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
985 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
986 to lists instead of hashtables.
987 * Import.cs: Cleaned up, moved importing from Project.cs
988 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
989 * Engine.cs: Cleaned up properties.
990 * Project.cs: Moved importing to Import.cs, cleaned up properties,
991 Separated evaluation and loading.
993 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
995 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
996 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
997 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
998 binding and evaluation, merge xml binding in constructors.
999 * DirectoryScanner.cs: Includes CAN be empty.
1000 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
1001 * ConsoleLogger.cs: Fix compilation warning.
1003 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1005 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
1007 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
1009 * Engine.cs: API cleanup.
1011 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
1013 * Project.cs: Cleaned up add.
1014 * Expression.cs: Hacked to transform \ and / to path separators.
1015 * BuildPropertyGroup.cs: Small cleanup.
1016 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
1019 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1021 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
1022 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
1024 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
1025 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
1026 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
1028 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
1029 * TaskElement.cs: Temporarily removed.
1030 * Xml.cs: Changed to static.
1032 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1034 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
1035 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
1036 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
1037 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
1038 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
1039 IBuildPropertyGroupCollection.cs: Removed.
1041 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
1043 * BuildItem.cs: Removed IBuildItem references.
1044 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
1045 IBuildItemGroup references. Changed Evaluate to internal.
1046 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
1047 reference and hidden constructors.
1048 * BuildProperty.cs: Removed IBuildProperty reference.
1049 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
1050 IBuildPropertyGroup references. Changed Evaluate to internal.
1051 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
1052 reference and hidden constructors.
1053 * ConsoleLogger.cs: Updated names of event handlers.
1054 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
1055 Escape. Added UnloadAllProjects () and UnloadProject ().
1056 * FileLogger.cs: Removed ApplyParameter ().
1057 * GroupingCollection.cs: Hidden.
1058 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
1059 * ItemPropertyGroupingBase.cs: Commented.
1060 * ProcessingPass.cs: Hidden.
1061 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
1063 * Target.cs: Removed ITarget reference.
1064 * TargetCollection.cs: Removed ITargetCollection reference.
1065 * TaskElement.cs: Removed ITaskElement reference.
1066 * TaskEngineAssemblyResolver.cs: Hidden.
1067 * Utilities.cs: Made static class, removed CheckPath (),
1068 ValidateCulture (), GetSupportedCultures () and added Escape ().
1070 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1072 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1075 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1077 * Project.cs: Added MonoTODO attributes.
1078 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1079 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1080 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1081 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1082 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1083 BuildItemGroup.cs, InvalidProjectFileException.cs,
1084 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1085 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1086 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1087 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1088 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1089 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1090 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1091 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1092 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1093 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1094 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1095 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1097 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1099 * TaskDatabase.cs: Change Shared to Framework.
1100 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1101 CaseInsensitiveHashCodeProvider
1103 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1105 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1106 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1109 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1111 * InternalLoggerException.cs: Changed protected fields to private.
1113 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1115 * Engine.cs: Added check for globalProperties.
1116 * Project.cs: Added using path from importedProject.FullFileName when
1117 adding UsingTask elements.
1119 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1121 * TaskElement.cs: Changed ReflectedType to PropertyType.
1122 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1125 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1127 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1129 * BuildProperty.cs: Organized PropertyType enum.
1130 * Engine.cs: Added setting CommandLine PropertyType of global
1133 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1135 * InvalidProjectFileException.cs: Changed Message property.
1136 * ChangeType.cs (TransformToString): Added separator between items.
1137 * TaskEngineAssemblyResolver.cs: Formatting.
1139 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1141 * DirectoryScanner.cs: Added.
1142 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1143 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1144 * Project.cs: Removed Evalute* ().
1146 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1148 * Target.cs: Formatting.
1149 * Expression.cs: Added check if array == null.
1150 * BuildItem.cs: Removed 'break' to remove warnings.
1151 * ConsoleLogger.cs: Formatting.
1152 * Engine.cs: Added handling of default target(s).
1153 * Project.cs: Added handling of default target(s).
1155 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1157 * TaskElement.cs: Added check for parameters.
1158 * Target.cs: Added logging of target skipping.
1159 * Expression.cs: Changed returning object[] to string[], bool[]... in
1161 * ItemReference.cs: Fixed for item references without custom
1163 * BatchingImpl.cs: Added real inputs/outputs checking.
1164 * Engine.cs: Moved global properties setting.
1165 * Project.cs: Moved global properties setting.
1167 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1169 * Target.cs: Added checks for target existence.
1170 * BuildItemGroup.cs: Changed to use transforms.
1171 * MetadataReference.cs: Wrote real implementation.
1172 * ItemReference.cs: Rewritten to use transforms.
1173 * BuildItem.cs: Changes for transforms and metadata.
1174 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1176 * Project.cs: Fixed project importing.
1177 * ImportedProject.cs: Changed to throw exceptions instead of returning
1180 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1182 * Engine.cs: Removed FIXME.
1183 * Project.cs: Splitted ProcessElements and added project importing.
1184 * ImportedProject.cs: Rewritten.
1186 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1188 * TaskElement.cs: Added getting of objects of every type.
1189 * BuildItemGroup.cs: Added ToITaskItemArray ().
1190 * Expression.cs: Implemented part that is not using metadata.
1191 * ItemReference.cs: Implemented parsing item references. Need to fix
1193 * BuildItem.cs: Fixed ToITaskItem ().
1194 * PropertyReference.cs: Implemented parsing property references. This
1195 also needs validity checking.
1197 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1199 * TaskElement.cs: Added Output element handling.
1200 * Target.cs: Cleaned up.
1201 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1202 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1203 ItemReference.cs, ChangeType.cs: Added.
1204 * BuildItem.cs: Added creating BuildItem from TaskItem.
1205 * BuildPropertyGroup.cs: Small changes.
1206 * BatchingImpl.cs: Fixed to return real task execution result.
1207 * BuildProperty.cs: Fixed FinalValue property.
1208 * Engine.cs: Reformatted logging.
1209 * Project.cs: Added check to EvaluateProperty.
1211 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1213 * TaskElement.cs: Added part of execution engine.
1214 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1215 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1216 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1217 * BuildItem.cs: Added handling of built-in metadata and referencing
1218 Items by name not FullName.
1219 * BatchingImpl.cs: Added temporary task "batching".
1220 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1221 * Project.cs: Added Evaluate. It will be moved to separate class.
1223 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1225 * EventSource.cs, Engine.cs: Added CriticalEvents.
1226 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1227 Project.cs: Added some support for items.
1228 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1230 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1232 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1235 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1237 * BatchingImpl.cs: Added.
1238 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1239 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1240 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1241 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1242 GroupingCollection.cs: Updated.
1244 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1246 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1247 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1248 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1249 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1250 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1251 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1252 InternalLoggerException.cs, InvalidProjectFileException.cs,
1253 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1254 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1255 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1256 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1257 Initial check-in of implementations.
1259 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1261 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1262 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1263 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1264 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1265 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1266 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1267 Initial check-in of interfaces and a syntax file, real classes are
1268 changing a lot so I'll wait a moment with checking them in.