1 2009-05-29 Ankit Jain <jankit@novell.com>
3 Correctly handle global properties. Correctly log
6 * BuildPropertyGroup.cs (Clone): Implement.
7 * Engine.cs (globalProperties): Rename to ..
8 (global_properties): .. this.
9 (currentlyBuildingProjectsStack): New. Used to correctly
10 log and raise project/build start/finish events.
11 (BuildProjectFile): Override any project global properties
12 with explicitly specified ones, here in the param @globalProperties.
13 Mark project for reevaluation, which will update the engine's
14 global properties also.
15 Reset both engine and project's old global properties at the end.
16 (UnregisterAllLoggers): Log build finished only if we are currently
18 (StartBuild): Rename to ..
19 (StartProjectBuild): .. this. Keeps track of the projects being built
20 in the new stack, and logs project and build events accordingly.
21 (EndProjectBuild): New. Uses the stack to keep track of projects
22 finishing builds, and raises project and build events accordingly.
23 (LogProjectStarted): Move here from Project.cs
24 (LogProjectFinished): Likewise.
26 * Project.cs (Build): Log start of project build.
27 Set current directory to the project file's dir, and reset at end.
28 (BuildInternal): Don't log here, its done in Build.
29 (BuildTarget): Already built targets are keyed by the set of global
30 properties that they were built with.
31 (GlobalPropertiesToString): New.
32 (ResetBuildStatus): 'building' must be true to allow built targets to be reset.
33 (RemoveBuiltTargets): Initialize builtTargetKeys in .ctor
34 (Evaluate): Remove built targets only if we are currently building and
35 build settings are None.
36 Merge project's global properties with those of the parent engine.
37 Add missing properties from engine's global properties.
38 (LogTargetSkipped): Fix format string, add the reqd argument.
40 2009-05-29 Ankit Jain <jankit@novell.com>
42 * ConditionFunctionExpression.cs: Add 'HasTrailingSlash' function.
43 (HasTrailingSlash): New.
45 2009-05-12 Ankit Jain <jankit@novell.com>
47 * Project.cs (.ctor): Init timeOfLastDirty.
49 2009-05-05 Miguel de Icaza <miguel@novell.com>
51 * Contribution from Martin Brenn to fix #498154.
53 2009-04-27 Ankit Jain <jankit@novell.com>
56 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
57 one passed as argument.
59 2009-04-27 Ankit Jain <jankit@novell.com>
61 * TaskEngine.cs (Prepare): Emit a useful error message property value
62 can't be converted to required type.
64 2009-04-27 Ankit Jain <jankit@novell.com>
66 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
67 as valid true values for bool, and corresponding for false.
69 2009-03-27 Jonathan Chambers <joncham@gmail.com>
71 * BuildWhen.cs: Add basic implementation.
72 * BuildChoose.cs: Add basic implementation.
73 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
74 EvaluatedItemsIgnoringCondition.
75 * GroupingCollection.cs: Add evaluation of BuildChoose items.
77 2009-03-26 Jonathan Chambers <joncham@gmail.com>
79 * TaskDatabase.cs (RegisterTask): Search for class by name
80 if task was not found using GetType (which uses namespace).
82 2009-02-26 Ankit Jain <jankit@novell.com>
84 * Target.cs: Handle target with no tasks. Log errors.
86 2009-02-24 Ankit Jain <jankit@novell.com>
88 Lazily load UsingTask tasks.
89 * UsingTask.cs (Evaluate): Register 'this' with task database,
90 but don't load it yet. Register only if condition evaluates to true.
91 Move the load logic to ..
92 (Load): .. here. Register with the specified task database.
93 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
94 in a table keyed by task name, but don't load it yet.
95 (GetTypeFromClassName): Try to load UsingTask if task is not already
96 loaded. Move loading logic to ..
97 (GetTypeFromClassNameInternal): .. here.
98 (CopyTasks): Copy the usingTasks table also.
100 2009-02-23 Ankit Jain <jankit@novell.com>
102 * BuildItem.cs (AddMetadata): Allow overwriting older values.
104 2009-02-22 Ankit Jain <jankit@novell.com>
106 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
107 instead of XmlElement. Eg. XmlComment
109 2009-02-21 Ankit Jain <jankit@novell.com>
111 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
112 * Project.cs (Load): Use FromMSBuildPath on the path.
113 (InitializeProperties): Set "MSBuildToolsPath" also.
115 2009-02-20 Ankit Jain <jankit@novell.com>
118 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
119 transforms) in conditions.
120 * ConditionParser.cs: Parse unquoted item, property references.
121 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
122 * Token.cs (Token.ToString): Override.
123 (TokenType.Transform): Uncomment.
125 2009-02-12 Jonathan Chambers <joncham@gmail.com>
127 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
128 no XmlElement.InnerText. This allows properties to be additional
131 2009-02-01 Ankit Jain <jankit@novell.com>
133 * BuildEngine.cs (BuildProjectFile): Use
134 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
135 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
136 built. Move logging of project start/finish to ..
137 * Project.cs: .. here. Build a target only if hasn't been built already.
138 Keep track of target outputs, and return those even if an already built
139 target has been invoked again.
140 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
142 2009-01-31 Ankit Jain <jankit@novell.com>
144 * BatchingImpl.cs: Split into ..
145 * BatchingImplBase.cs: .. this,
146 * TaskBatchingImpl.cs: .. this ..
147 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
149 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
150 (Log*): Move to TargetBatchingImpl .
154 2009-01-30 Ankit Jain <jankit@novell.com>
156 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
159 2009-01-29 Ankit Jain <jankit@novell.com>
161 * BuildItem.cs (child_items): Change type from BuildItemGroup to
163 (HasParent): Rename to ..
164 (HasParentItem): .. this.
165 (ParentItemGroup): Add setter.
167 * BuildItemGroup.cs (.ctor): Add overload with @project param.
169 (AddItem): Correctly set the ParentItemGroup for new build items.
170 (ParentProject): Add setter.
171 * Project.cs: Set the project for new BuildItemGroup instances.
172 * TaskEngine.cs (PublishItemGroup): Likewise.
174 2009-01-06 Ankit Jain <jankit@novell.com>
176 * Project.cs (Build): Honor InitialTargets list.
178 2009-01-06 Ankit Jain <jankit@novell.com>
180 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
181 the property type also.
182 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
185 2009-01-06 Ankit Jain <jankit@novell.com>
187 * Project.cs (Build): Correctly handle null targetNames argument.
189 2009-01-06 Ankit Jain <jankit@novell.com>
191 * Engine.cs (LogProjectStarted): Add a null check.
193 2009-01-01 Ankit Jain <jankit@novell.com>
195 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
196 * ChangeType (ToBuildItemGroup): Add 'split' param.
198 * Expression.cs (Parse): Add a new overload with a 'split' param.
199 * ExpressionCollection.cs (Add): Add new overload for IReference,
200 remove the ones for Item/Metadata/PropertyReference.
201 (ConvertToArray): Implement correctly.
202 (ConvertToString): Track api changes.
203 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
204 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
205 (AddItemsToArray): New.
206 (ConvertToITaskItemArrayFromString): Refactor a bit.
207 (ThrowCantConcatError): New.
208 * ItemReference.cs: Update.
209 * MetadataReference.cs: Update.
210 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
212 * BuildPropertyGroup.cs: Track api changes.
213 * TaskEngine.cs (PublishOutput): Improve exception message.
214 * Project.cs (DoLoad): Improve exception message. Add a null check.
216 2008-12-30 Ankit Jain <jankit@novell.com>
218 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
219 metadata values for unqualified references.
220 (BuildItemGroupToITaskItemArray): Rename to ..
221 (BuildItemGroupToITaskItems): .. this.
224 2008-12-18 Ankit Jain <jankit@novell.com>
226 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
228 2008-12-17 Ankit Jain <jankit@novell.com>
230 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
231 only one instance of unique metadata value is required.
233 2008-11-22 Ankit Jain <jankit@novell.com>
235 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
237 * MetadataReference.cs (ConvertToITaskItemArray): New.
238 * Project.cs (GetAllItemGroups): New.
240 2008-11-21 Ankit Jain <jankit@novell.com>
242 * BatchingImpl.cs: Add task batching implementation.
243 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
244 * ExpressionCollection.cs (Count): New.
245 (ConvertToString): Handle MetadataReference.
246 * ItemReference.cs (ConvertToString):
247 (ConvertToITaskItemArray): Use the batching api.
249 * MetadataReference.cs (ConvertToString): New.
251 * Project.cs: Add api for accessing batched items and metadata.
252 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
255 2008-10-01 Ankit Jain <jankit@novell.com>
257 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
258 (BuildProjectFile): If filename is null (project.LoadXml) then use
260 * BuildTask.cs (InitializeTask): Track api change.
261 * Expression.cs (Parse): Skip empty entries in the expression.
263 2008-09-24 Ankit Jain <jankit@novell.com>
265 * Engine.cs: Add argument checks.
266 * Project.cs: Likewise.
268 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
270 * Project.cs (Build): Add outputs to targetOutputs.
272 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
274 * ExpressionCollection.cs (ConvertToArray): Simplify.
276 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
278 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
279 simplified. It still needs tests and refactoring.
281 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
283 * BuildEngine.cs (BuildProjectFile): Don't crash on null
286 * Target.cs: Add Outputs property.
288 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
290 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
291 (). Support condition.
293 * BatchingImpl.cs (BatchBuildTask): Simplify.
295 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
297 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
300 * ConditionFunctionExpression.cs: Removed warnings.
302 * BuildTask.cs (Execute): Write exceptions to std err (they should be
303 logged but it's better than swallowing).
305 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
307 * ConditionTokenizer.cs: Add Putback ().
309 * ConditionParser.cs: Add parsing of functions.
311 * ConditionFunctionExpression.cs: Add.
313 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
315 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
316 set property in persisted property group.
318 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
320 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
323 * ConsoleLogger.cs (TargetFinishedHandler)
324 (TaskFinishedHandler): Increment error count.
326 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
328 * BuildItem.cs (RemoveMetadata): Remove from XML.
329 (SetMetadata): Trigger project reevaluation.
331 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
333 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
336 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
338 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
339 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
340 BatchingImpl.cs, BuildProperty.cs: Track API changes.
342 * Expression.cs (Parse): Added allowItems parameter and made regexes
345 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
346 will try to import a.ext when given a.EXT.
348 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
350 * BuildItemGroup.cs: Store information saying what is the last item
351 group that contains build item name.
353 * Project.cs (Build): Pass empty array (build default targets).
355 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
357 * Token.cs: Commented Transform and LiteralSubExpression and added
360 * ConditionParser.cs: Removed redundant casts, rewrote
361 ParseFactorExpression () and added parsing of '!'.
363 * ConditionTokenizer.cs: Always skip whitespaces when getting next
364 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
365 Moved ReadChar () in front of all ifs.
367 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
369 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
370 from XML. (not to escape items that have parents twice).
372 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
374 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
375 (Project): Renamed to ParentProject.
377 * BuildItem.cs (ctor)
378 (CopyCustomMetadata): Add null check.
380 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
381 (RemoveProperty): Added null check.
383 * TargetCollection.cs (RemoveTarget): Added null check.
385 * Engine.cs (UnloadProject): Added null check.
387 * GroupingCollection.cs (Remove): Check if removed group belongs to
390 * Project.cs (AddNewItem): Implemented.
391 (RemoveItem): Reorganized.
392 (SetProjectExtensions): Added null check.
394 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
396 * BuildItemGroup.cs (Detach): Added.
398 (RemoveItemAt): Used Detach ().
400 * BuildItem.cs: Made FromXml and HasParent internal and added
401 ParentItem and ParentItemGroup properties (internal).
404 * GroupingCollection.cs (Remove): Used Detach ().
406 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
408 (GetEvaluatedItemsByNameIgnoringCondition)
409 (GetEvaluatedItemsByName)
410 (GetEvaluatedProperty): Reevaluate if needed.
412 (RemoveAllItemGroups)
413 (RemoveAllPropertyGroups): Implemented.
414 (DoLoad): Added closing of TextReader.
416 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
418 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
419 change but just mark that it needs it.
421 * Project.cs: Reevaluate when it needs reevaluation and one of
422 Evaluated* properties is used.
424 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
426 * Target.cs: Throw an exception when <OnError> is not last element in
429 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
431 * TargetCollection.cs: If a target is already there replace it with
434 * BuildProperty.cs: Added XmlElement property.
436 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
438 * ImportCollection.cs: Don't add imports that are already added.
440 * BuildItemGroup.cs: MonoTODOs.
442 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
443 condition can't be evaluated to bool.
445 * BuildPropertyGroup.cs (Evaluate): Simplify.
447 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
449 * BuildWhen.cs: Moved BindToXml () code to ctor.
451 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
452 property needed for removing groups.
454 * Engine.cs: Added StartBuild () that logs build start when Build ()
457 * GroupingCollection.cs: Added Remove () for item and property groups.
459 * Project.cs (AddNewImport): Implemented.
460 (AddNewItemGroup): Implemented.
461 (AddNewPropertyGroup): Implemented.
462 (AddNewUsingTaskFromAssemblyFile): Implemented.
463 (AddNewUsingTaskFromAssemblyName): Implemented.
464 (RemoveItemGroup): Implemented.
465 (RemovePropertyGroup): Implemented.
467 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
469 * BuildItemGroup.cs (Clear): Remove from XML.
471 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
472 to Project.EvaluatedProperties.
473 (Clear): Remove from XML.
475 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
477 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
480 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
482 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
483 Add () calls when processing a project from Import and
484 evaluate_iterator for evaluation.
486 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
488 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
489 and prepend relative directory of importing project to full path of
492 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
494 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
495 BuildItemGroupCollection.cs, Project.cs: Track API changes.
497 * GroupingCollection.cs: Now it needs Project reference so added it.
499 * BuildTask.cs: Formatting.
501 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
503 * ConditionParser.cs (ParseAndEvaluate): Added.
505 * BuildItem.cs: Changed exception message.
507 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
509 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
510 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
511 GroupingCollection doesn't need Project reference.
513 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
515 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
516 (Project.EvaluatedItems is a read only item group.)
517 (ReplaceWith): Added.
519 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
520 global property group causes reevaluation of its project.
522 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
525 * OldExpression.cs: Removed.
527 * BuildProperty.cs (Evaluate): Simplified.
529 * ChangeType.cs (TemporaryTransform): Simplified.
531 * BuildItem.cs: There are now 3 types of build items: from XML, having
532 parent from XML, virtual. Added SplitParentItem ().
534 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
536 * Utilities.cs: Added Unescape ().
538 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
539 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
540 groups (at the moment just unescape).
542 * Expression.cs (CopyToExpressionList): Unescape strings.
544 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
546 * Target.cs (ctor): Added ImportedProject argument and removed
548 (AddNewTask): Implemented.
550 * TargetCollection.cs (AddNewTarget): Implemented.
552 * Project.cs: Track API changes.
554 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
556 * Target.cs (Build): Don't throw anything in case of error, just
559 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
562 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
565 * BuildProperty.cs (ToString): Throw an exception if property is not
567 (op_Explicit): Added a null check.
569 * Engine.cs: Better error message.
571 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
572 IndexOutOfRangeException.
574 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
575 (MarkProjectAsDirty): Set time.
577 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
579 * BuildItemGroup.cs (Clone): Throw exception.
581 * Project.cs (Load): Throw InvalidProjectFileException if anything
584 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
586 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
587 and ConvertToITaskItemArray ().
589 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
591 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
592 classes that were public in Beta 2 and aren't used.
594 * Expression.cs: Added replacement for parsing expressions char by
595 char. It uses regexes to find item/property/metadata references in
598 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
599 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
600 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
602 * ConditionRelationalExpression.cs: Formatting.
604 * OldExpression.cs: Commented everything.
606 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
607 parsing to Expression.
609 * BuildItem.cs: Check if project is from XML in set_Condition and
612 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
615 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
616 can evaluate expression in CanEvaluateToBool ().
618 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
620 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
621 which item group is imported.
623 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
625 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
627 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
628 BuildItemGroupCollection.cs: Little changes related to
631 * ImportCollection.cs: Use GroupingCollection not an internal list.
633 * Import.cs (Evaluate): Split to functions and check if
634 EvaluatedProjectPath is empty.
636 * GroupingCollection.cs, Project.cs: Move evaluation to
637 GroupingCollection. Change algorithm to use 2 passes: first for property
638 groups and imports and second for item groups.
640 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
642 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
643 BuildItemGroup> not IDictionary.
645 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
646 evaluated to false because we want to add every item to
647 Project.EvaluatedItemsByNameIgnoringCondition.
649 * Project.cs (Build): Don't throw an exception just return false.
650 (GetEvaluatedProperty): Avoid NullReferenceException.
651 (SetProjectExtensions): Implemented.
653 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
655 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
657 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
658 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
659 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
661 * ImportCollection.cs: Added a note.
663 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
665 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
667 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
668 (UsingTask[] array, int index)
670 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
671 items to Project.EvaluatedItems in PublishItemGroup ();
673 * BuildItemGroup.cs: Added [MonoTODO].
675 * UsingTask.cs: Used expression for AssemblyFile to get around
676 problems with '\' and '/'.
678 * BuildItem.cs (ctor): Added null checks.
679 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
680 (SetMetadata): Don't escape evaluatedMetadata and escape
681 unevaluatedMetadata only when treatPropertyValueAsLiteral.
683 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
684 FromXml () instead of null checks.
685 (SetProperty): Escape propertyValue when it is literal.
687 * BuildProperty.cs: Changed exception message.
689 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
691 (GetProjectExtensions): Implemented.
693 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
695 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
696 GetParameterValue (), use expressions in ContinueOnError.
697 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
698 instead of InvalidOperationException ().
699 * ImportCollection.cs: Implement CopyTo ().
700 * Target.cs: Remove redundant variables (XmlAttributes), return
701 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
702 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
703 * Import.cs: Throw an exception when file does not exist.
704 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
705 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
706 need to treat item as a token probably
708 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
710 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
712 * BuildItemGroupCollection.cs: Changed exception types.
714 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
716 * Engine.cs: Removed redundant cast.
718 * UsingTaskCollection.cs:
722 * TargetCollection.cs: Comment unused variable.
723 * ConditionTokenizer.cs: Simplified checking if current token is a
725 * Target.cs: Removed old code.
727 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
729 * Target.cs: Changed "" to String.Empty.
730 * TaskEngine.cs: Don't try to convert a parameter to specific type if
731 string was evaluated to String.Empty.
732 * InternalLoggerException.cs:
733 * InvalidProjectFileException.cs: Added LinkDemand before
735 * ConsoleLogger.cs: Changed "" to String.Empty.
736 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
737 with change to generics).
738 * Project.cs: Made Build () throw more meaningful exception.
740 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
742 * Target.cs: Reformatted.
743 * TaskEngine.cs: Removed redundant code.
744 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
745 * Engine.cs: Made BuildProjectFile () load project file if it's not
748 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
750 * ConditionRelationalExpression.cs: Change comparers to case
752 * ImportCollection.cs: Add NotImplementedExceptions.
753 * BuildPropertyGroup.cs: Reformatted a bit.
754 * BuildProperty.cs: The same.
755 * Project.cs: Moved evaluation of imports before evaluation of
756 properties. This may "work" until importing projects is redesigned but
757 probably isn't correct.
759 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
761 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
763 * BuildItemGroup.cs: Change return to continue.
765 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
767 * ConditionParser.cs: Copyright note.
768 * ExpressionCollection.cs: Fixed arrays passing.
770 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
772 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
773 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
774 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
775 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
777 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
779 * Token.cs: Changed names: removed "than".
780 * ConditionRelationalExpression.cs: Added.
781 * ConditionFactorExpression.cs: Added.
782 * BuildItemGroup.cs: Changed Condition property return value to return
783 String.Empty instead of null.
784 * ConditionParser.cs: Added support for parsing relational expressions
786 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
787 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
788 and CanEvaluateToBool (), CanEvaluateToNumber () and
789 CanEvaluateToString ().
790 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
791 appropriately to ConditionExpression base class.
792 * ConditionTokenizer.cs: Added null check and changed names in enums:
794 * ConditionNotExpression.cs: Added.
795 * BatchingImpl.cs: Changed to use BoolEvaluate ().
796 * Project.cs: Added checks for condition.
798 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
800 * ConditionalTokenizer.cs, ConditionalExpression.cs,
801 ConditionalParser.cs: Changed name,
803 * ConditionExpression.cs: Added Evaluate ().
804 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
805 * BatchingImpl.cs: Added check if task should be executed.
807 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
809 * UsingTask.cs: Changed properties to return null on empty attribute.
810 * UsingTaskCollection.cs: Added object to SyncRoot.
811 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
813 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
815 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
816 BuildPropertyGroupCollection.cs: Fixed to match the tests.
818 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
820 * Utilities.cs: Implemented Escape ().
821 * BuildItem.cs: Added null checks.
822 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
823 * Project.cs: Commented out redundant Evaluate ().
824 * BuildChoose.cs: Minor changes.
826 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
828 * Token: Added new few missing tokens.
829 * Target.cs, Project.cs: Patch from Matthew Metnesky.
830 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
831 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
832 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
834 Removed literal expression parsing based on tokenizer and
835 parser. It needs to be done by regex.
837 Moved tokenizer to ConditionalTokenizer.cs.
839 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
841 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
842 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
843 methods converting reference to string from ToString () to
844 ConvertToString () to avoid mistakes like using ToString () provided
847 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
849 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
850 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
851 PropertyReference.cs, BuildProperty.cs: Changed Expression to
852 OldExpression and changed To* functions to one ConvertTo ().
853 * TaskEngine.cs: Fixed PublishOutput ().
854 * OldExpression.cs: Added. It will be temporarily used before
855 LiteralExpression will be written using Tokenizer.
856 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
857 ExpressionParseException.cs, LiteralExpression.cs: Added.
859 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
861 * ImportedProject.cs: Removed warning.
862 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
865 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
867 * Project.cs: Removed unnecessary variable.
868 * Engine.cs: Added fixme.
870 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
872 * BuildItem.cs: Moved checking if metadata name is reserved to internal
873 class (Mono.XBuild.Utilities.ReservedNameUtils).
875 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
877 * BuildTask.cs: Removed unnecessary variable.
878 * Engine.cs: Added logging of the build start.
879 * Project.cs: Removed unnecessary variable.
881 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
883 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
885 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
887 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
889 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
891 * BuildItem.cs: Fix typo?
893 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
895 * InternalLoggerException.cs, InvalidProjectFileException.cs,
896 Engine.cs, Project.cs: Coding style fixes.
898 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
900 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
902 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
904 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
905 to pass tests. Wrote serialization constructor.
906 * Engine.cs, Project.cs: Global engine and project unloading, test and
909 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
911 * UsingTask.cs: Formatting changes.
913 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
915 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
916 to lists instead of hashtables.
917 * Import.cs: Cleaned up, moved importing from Project.cs
918 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
919 * Engine.cs: Cleaned up properties.
920 * Project.cs: Moved importing to Import.cs, cleaned up properties,
921 Separated evaluation and loading.
923 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
925 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
926 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
927 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
928 binding and evaluation, merge xml binding in constructors.
929 * DirectoryScanner.cs: Includes CAN be empty.
930 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
931 * ConsoleLogger.cs: Fix compilation warning.
933 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
935 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
937 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
939 * Engine.cs: API cleanup.
941 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
943 * Project.cs: Cleaned up add.
944 * Expression.cs: Hacked to transform \ and / to path separators.
945 * BuildPropertyGroup.cs: Small cleanup.
946 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
949 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
951 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
952 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
954 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
955 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
956 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
958 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
959 * TaskElement.cs: Temporarily removed.
960 * Xml.cs: Changed to static.
962 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
964 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
965 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
966 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
967 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
968 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
969 IBuildPropertyGroupCollection.cs: Removed.
971 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
973 * BuildItem.cs: Removed IBuildItem references.
974 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
975 IBuildItemGroup references. Changed Evaluate to internal.
976 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
977 reference and hidden constructors.
978 * BuildProperty.cs: Removed IBuildProperty reference.
979 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
980 IBuildPropertyGroup references. Changed Evaluate to internal.
981 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
982 reference and hidden constructors.
983 * ConsoleLogger.cs: Updated names of event handlers.
984 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
985 Escape. Added UnloadAllProjects () and UnloadProject ().
986 * FileLogger.cs: Removed ApplyParameter ().
987 * GroupingCollection.cs: Hidden.
988 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
989 * ItemPropertyGroupingBase.cs: Commented.
990 * ProcessingPass.cs: Hidden.
991 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
993 * Target.cs: Removed ITarget reference.
994 * TargetCollection.cs: Removed ITargetCollection reference.
995 * TaskElement.cs: Removed ITaskElement reference.
996 * TaskEngineAssemblyResolver.cs: Hidden.
997 * Utilities.cs: Made static class, removed CheckPath (),
998 ValidateCulture (), GetSupportedCultures () and added Escape ().
1000 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1002 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
1005 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
1007 * Project.cs: Added MonoTODO attributes.
1008 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
1009 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
1010 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
1011 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
1012 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
1013 BuildItemGroup.cs, InvalidProjectFileException.cs,
1014 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
1015 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
1016 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
1017 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
1018 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
1019 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
1020 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
1021 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
1022 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
1023 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
1024 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
1025 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
1027 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
1029 * TaskDatabase.cs: Change Shared to Framework.
1030 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
1031 CaseInsensitiveHashCodeProvider
1033 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
1035 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
1036 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
1039 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
1041 * InternalLoggerException.cs: Changed protected fields to private.
1043 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1045 * Engine.cs: Added check for globalProperties.
1046 * Project.cs: Added using path from importedProject.FullFileName when
1047 adding UsingTask elements.
1049 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1051 * TaskElement.cs: Changed ReflectedType to PropertyType.
1052 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1055 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1057 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1059 * BuildProperty.cs: Organized PropertyType enum.
1060 * Engine.cs: Added setting CommandLine PropertyType of global
1063 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1065 * InvalidProjectFileException.cs: Changed Message property.
1066 * ChangeType.cs (TransformToString): Added separator between items.
1067 * TaskEngineAssemblyResolver.cs: Formatting.
1069 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1071 * DirectoryScanner.cs: Added.
1072 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1073 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1074 * Project.cs: Removed Evalute* ().
1076 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1078 * Target.cs: Formatting.
1079 * Expression.cs: Added check if array == null.
1080 * BuildItem.cs: Removed 'break' to remove warnings.
1081 * ConsoleLogger.cs: Formatting.
1082 * Engine.cs: Added handling of default target(s).
1083 * Project.cs: Added handling of default target(s).
1085 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1087 * TaskElement.cs: Added check for parameters.
1088 * Target.cs: Added logging of target skipping.
1089 * Expression.cs: Changed returning object[] to string[], bool[]... in
1091 * ItemReference.cs: Fixed for item references without custom
1093 * BatchingImpl.cs: Added real inputs/outputs checking.
1094 * Engine.cs: Moved global properties setting.
1095 * Project.cs: Moved global properties setting.
1097 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1099 * Target.cs: Added checks for target existence.
1100 * BuildItemGroup.cs: Changed to use transforms.
1101 * MetadataReference.cs: Wrote real implementation.
1102 * ItemReference.cs: Rewritten to use transforms.
1103 * BuildItem.cs: Changes for transforms and metadata.
1104 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1106 * Project.cs: Fixed project importing.
1107 * ImportedProject.cs: Changed to throw exceptions instead of returning
1110 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1112 * Engine.cs: Removed FIXME.
1113 * Project.cs: Splitted ProcessElements and added project importing.
1114 * ImportedProject.cs: Rewritten.
1116 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1118 * TaskElement.cs: Added getting of objects of every type.
1119 * BuildItemGroup.cs: Added ToITaskItemArray ().
1120 * Expression.cs: Implemented part that is not using metadata.
1121 * ItemReference.cs: Implemented parsing item references. Need to fix
1123 * BuildItem.cs: Fixed ToITaskItem ().
1124 * PropertyReference.cs: Implemented parsing property references. This
1125 also needs validity checking.
1127 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1129 * TaskElement.cs: Added Output element handling.
1130 * Target.cs: Cleaned up.
1131 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1132 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1133 ItemReference.cs, ChangeType.cs: Added.
1134 * BuildItem.cs: Added creating BuildItem from TaskItem.
1135 * BuildPropertyGroup.cs: Small changes.
1136 * BatchingImpl.cs: Fixed to return real task execution result.
1137 * BuildProperty.cs: Fixed FinalValue property.
1138 * Engine.cs: Reformatted logging.
1139 * Project.cs: Added check to EvaluateProperty.
1141 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1143 * TaskElement.cs: Added part of execution engine.
1144 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1145 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1146 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1147 * BuildItem.cs: Added handling of built-in metadata and referencing
1148 Items by name not FullName.
1149 * BatchingImpl.cs: Added temporary task "batching".
1150 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1151 * Project.cs: Added Evaluate. It will be moved to separate class.
1153 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1155 * EventSource.cs, Engine.cs: Added CriticalEvents.
1156 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1157 Project.cs: Added some support for items.
1158 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1160 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1162 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1165 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1167 * BatchingImpl.cs: Added.
1168 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1169 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1170 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1171 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1172 GroupingCollection.cs: Updated.
1174 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1176 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1177 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1178 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1179 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1180 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1181 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1182 InternalLoggerException.cs, InvalidProjectFileException.cs,
1183 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1184 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1185 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1186 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1187 Initial check-in of implementations.
1189 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1191 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1192 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1193 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1194 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1195 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1196 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1197 Initial check-in of interfaces and a syntax file, real classes are
1198 changing a lot so I'll wait a moment with checking them in.