1 2009-05-12 Ankit Jain <jankit@novell.com>
3 * Project.cs (.ctor): Init timeOfLastDirty.
5 2009-05-05 Miguel de Icaza <miguel@novell.com>
7 * Contribution from Martin Brenn to fix #498154.
9 2009-04-27 Ankit Jain <jankit@novell.com>
12 * Engine.cs (BuildProjectFile): Set project's GlobalProperties to the
13 one passed as argument.
15 2009-04-27 Ankit Jain <jankit@novell.com>
17 * TaskEngine.cs (Prepare): Emit a useful error message property value
18 can't be converted to required type.
20 2009-04-27 Ankit Jain <jankit@novell.com>
22 * ExpressionCollection.cs (ConvertToObject): Allow true/on/yes
23 as valid true values for bool, and corresponding for false.
25 2009-03-27 Jonathan Chambers <joncham@gmail.com>
27 * BuildWhen.cs: Add basic implementation.
28 * BuildChoose.cs: Add basic implementation.
29 * BuildItem.cs (AddEvaluatedItem): Add BuiltItem to
30 EvaluatedItemsIgnoringCondition.
31 * GroupingCollection.cs: Add evaluation of BuildChoose items.
33 2009-03-26 Jonathan Chambers <joncham@gmail.com>
35 * TaskDatabase.cs (RegisterTask): Search for class by name
36 if task was not found using GetType (which uses namespace).
38 2009-02-26 Ankit Jain <jankit@novell.com>
40 * Target.cs: Handle target with no tasks. Log errors.
42 2009-02-24 Ankit Jain <jankit@novell.com>
44 Lazily load UsingTask tasks.
45 * UsingTask.cs (Evaluate): Register 'this' with task database,
46 but don't load it yet. Register only if condition evaluates to true.
47 Move the load logic to ..
48 (Load): .. here. Register with the specified task database.
49 * TaskDatabase.cs (RegisterUsingTask): Store the UsingTask instance
50 in a table keyed by task name, but don't load it yet.
51 (GetTypeFromClassName): Try to load UsingTask if task is not already
52 loaded. Move loading logic to ..
53 (GetTypeFromClassNameInternal): .. here.
54 (CopyTasks): Copy the usingTasks table also.
56 2009-02-23 Ankit Jain <jankit@novell.com>
58 * BuildItem.cs (AddMetadata): Allow overwriting older values.
60 2009-02-22 Ankit Jain <jankit@novell.com>
62 * BuildItem.cs: Iterate over XmlElements childnodes with XmlNode
63 instead of XmlElement. Eg. XmlComment
65 2009-02-21 Ankit Jain <jankit@novell.com>
67 * Utilities.cs (FromMSBuildPath): Copy from monodevelop.
68 * Project.cs (Load): Use FromMSBuildPath on the path.
69 (InitializeProperties): Set "MSBuildToolsPath" also.
71 2009-02-20 Ankit Jain <jankit@novell.com>
74 * ConditionTokenizer.cs: Handle unquoted item references (with or w/o
75 transforms) in conditions.
76 * ConditionParser.cs: Parse unquoted item, property references.
77 eg. Condition = " @(Foo->'%(Extension)') == '.exe' "
78 * Token.cs (Token.ToString): Override.
79 (TokenType.Transform): Uncomment.
81 2009-02-12 Jonathan Chambers <joncham@gmail.com>
83 * BuildProperty.cs: Value corresponds to XmlElement.InnerXml
84 no XmlElement.InnerText. This allows properties to be additional
87 2009-02-01 Ankit Jain <jankit@novell.com>
89 * BuildEngine.cs (BuildProjectFile): Use
90 BuildSettings.DoNotResetPreviouslyBuiltTargets for building projects.
91 * Engine.cs (BuiltTargetsOutputByName): New. Table of targets already
92 built. Move logging of project start/finish to ..
93 * Project.cs: .. here. Build a target only if hasn't been built already.
94 Keep track of target outputs, and return those even if an already built
95 target has been invoked again.
96 Honor BuildSettings.None and DoNotResetPreviouslyBuiltTargets .
98 2009-01-31 Ankit Jain <jankit@novell.com>
100 * BatchingImpl.cs: Split into ..
101 * BatchingImplBase.cs: .. this,
102 * TaskBatchingImpl.cs: .. this ..
103 * TargetBatchingImpl.cs: .. and this. Implement target batching here.
105 * Target.cs (DoBuild): Use TargetBatchingImpl for building.
106 (Log*): Move to TargetBatchingImpl .
110 2009-01-30 Ankit Jain <jankit@novell.com>
112 * TaskEngine.cs (GetObjectFromString): Empty value is allowed only for
115 2009-01-29 Ankit Jain <jankit@novell.com>
117 * BuildItem.cs (child_items): Change type from BuildItemGroup to
119 (HasParent): Rename to ..
120 (HasParentItem): .. this.
121 (ParentItemGroup): Add setter.
123 * BuildItemGroup.cs (.ctor): Add overload with @project param.
125 (AddItem): Correctly set the ParentItemGroup for new build items.
126 (ParentProject): Add setter.
127 * Project.cs: Set the project for new BuildItemGroup instances.
128 * TaskEngine.cs (PublishItemGroup): Likewise.
130 2009-01-06 Ankit Jain <jankit@novell.com>
132 * Project.cs (Build): Honor InitialTargets list.
134 2009-01-06 Ankit Jain <jankit@novell.com>
136 * BuildEngine.cs (BuildProjectFile): Use AddProperty method to specify
137 the property type also.
138 * MSBuild.cs (Execute): Parse 'Properties' task param to set global
141 2009-01-06 Ankit Jain <jankit@novell.com>
143 * Project.cs (Build): Correctly handle null targetNames argument.
145 2009-01-06 Ankit Jain <jankit@novell.com>
147 * Engine.cs (LogProjectStarted): Add a null check.
149 2009-01-01 Ankit Jain <jankit@novell.com>
151 * IReference.cs: New. Interface for Item/Metadata/PropertyReference.
152 * ChangeType (ToBuildItemGroup): Add 'split' param.
154 * Expression.cs (Parse): Add a new overload with a 'split' param.
155 * ExpressionCollection.cs (Add): Add new overload for IReference,
156 remove the ones for Item/Metadata/PropertyReference.
157 (ConvertToArray): Implement correctly.
158 (ConvertToString): Track api changes.
159 (ConvertToITaskItem): Implement with ConvertToITaskItemArray.
160 (ConvertToITaskItemArray): Implement support for concat'ing expressions.
161 (AddItemsToArray): New.
162 (ConvertToITaskItemArrayFromString): Refactor a bit.
163 (ThrowCantConcatError): New.
164 * ItemReference.cs: Update.
165 * MetadataReference.cs: Update.
166 * PropertyReference.cs (ConvertToITaskItemArray): Implement.
168 * BuildPropertyGroup.cs: Track api changes.
169 * TaskEngine.cs (PublishOutput): Improve exception message.
170 * Project.cs (DoLoad): Improve exception message. Add a null check.
172 2008-12-30 Ankit Jain <jankit@novell.com>
174 * MetadataReference.cs (BuildItemGroupToITaskItems): Return unique
175 metadata values for unqualified references.
176 (BuildItemGroupToITaskItemArray): Rename to ..
177 (BuildItemGroupToITaskItems): .. this.
180 2008-12-18 Ankit Jain <jankit@novell.com>
182 * BuildTask.cs (Execute): PublishOutput only if task runs successfully.
184 2008-12-17 Ankit Jain <jankit@novell.com>
186 * MetadataReference.cs (ConvertToITaskItemArray): In case of batching,
187 only one instance of unique metadata value is required.
189 2008-11-22 Ankit Jain <jankit@novell.com>
191 * ExpressionCollection.cs (ConvertToITaskItemArray): Add support for
193 * MetadataReference.cs (ConvertToITaskItemArray): New.
194 * Project.cs (GetAllItemGroups): New.
196 2008-11-21 Ankit Jain <jankit@novell.com>
198 * BatchingImpl.cs: Add task batching implementation.
199 * BuildItem.cs (GetEvaluatedMetadata): Handle built-in metadata names.
200 * ExpressionCollection.cs (Count): New.
201 (ConvertToString): Handle MetadataReference.
202 * ItemReference.cs (ConvertToString):
203 (ConvertToITaskItemArray): Use the batching api.
205 * MetadataReference.cs (ConvertToString): New.
207 * Project.cs: Add api for accessing batched items and metadata.
208 * TaskEngine.cs (PublishItemGroup): Don't clear existing values from
211 2008-10-01 Ankit Jain <jankit@novell.com>
213 * BuildEngine.cs (.ctor): Replace 'projectFile' param with 'project'.
214 (BuildProjectFile): If filename is null (project.LoadXml) then use
216 * BuildTask.cs (InitializeTask): Track api change.
217 * Expression.cs (Parse): Skip empty entries in the expression.
219 2008-09-24 Ankit Jain <jankit@novell.com>
221 * Engine.cs: Add argument checks.
222 * Project.cs: Likewise.
224 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
226 * Project.cs (Build): Add outputs to targetOutputs.
228 2007-03-06 Marek Sieradzki <marek.sieradzki@gmail.com>
230 * ExpressionCollection.cs (ConvertToArray): Simplify.
232 2007-03-05 Marek Sieradzki <marek.sieradzki@gmail.com>
234 * TaskEngine.cs, ChangeType.cs: Moved Collect* to ChangeType and
235 simplified. It still needs tests and refactoring.
237 2007-02-22 Marek Sieradzki <marek.sieradzki@gmail.com>
239 * BuildEngine.cs (BuildProjectFile): Don't crash on null
242 * Target.cs: Add Outputs property.
244 2007-02-20 Marek Sieradzki <marek.sieradzki@gmail.com>
246 * Target.cs (Build): Split to GetDependencies () and BuildDependencies
247 (). Support condition.
249 * BatchingImpl.cs (BatchBuildTask): Simplify.
251 2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.com>
253 * ExpressionCollection.cs (ConvertToITaskItemArrayFromString):
256 * ConditionFunctionExpression.cs: Removed warnings.
258 * BuildTask.cs (Execute): Write exceptions to std err (they should be
259 logged but it's better than swallowing).
261 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
263 * ConditionTokenizer.cs: Add Putback ().
265 * ConditionParser.cs: Add parsing of functions.
267 * ConditionFunctionExpression.cs: Add.
269 2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
271 * BuildPropertyGroup (SetProperty): Throw an exception when trying to
272 set property in persisted property group.
274 2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
276 * BuildTask.cs (Execute): Log errors that happen when invoking ITask
279 * ConsoleLogger.cs (TargetFinishedHandler)
280 (TaskFinishedHandler): Increment error count.
282 2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
284 * BuildItem.cs (RemoveMetadata): Remove from XML.
285 (SetMetadata): Trigger project reevaluation.
287 2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
289 * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
292 2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
294 * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
295 TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
296 BatchingImpl.cs, BuildProperty.cs: Track API changes.
298 * Expression.cs (Parse): Added allowItems parameter and made regexes
301 * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
302 will try to import a.ext when given a.EXT.
304 2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
306 * BuildItemGroup.cs: Store information saying what is the last item
307 group that contains build item name.
309 * Project.cs (Build): Pass empty array (build default targets).
311 2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
313 * Token.cs: Commented Transform and LiteralSubExpression and added
316 * ConditionParser.cs: Removed redundant casts, rewrote
317 ParseFactorExpression () and added parsing of '!'.
319 * ConditionTokenizer.cs: Always skip whitespaces when getting next
320 token (no IgnoreWhiteSpace property). Don't create a token from '->'.
321 Moved ReadChar () in front of all ifs.
323 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
325 * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
326 from XML. (not to escape items that have parents twice).
328 2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
330 * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
331 (Project): Renamed to ParentProject.
333 * BuildItem.cs (ctor)
334 (CopyCustomMetadata): Add null check.
336 * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
337 (RemoveProperty): Added null check.
339 * TargetCollection.cs (RemoveTarget): Added null check.
341 * Engine.cs (UnloadProject): Added null check.
343 * GroupingCollection.cs (Remove): Check if removed group belongs to
346 * Project.cs (AddNewItem): Implemented.
347 (RemoveItem): Reorganized.
348 (SetProjectExtensions): Added null check.
350 2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
352 * BuildItemGroup.cs (Detach): Added.
354 (RemoveItemAt): Used Detach ().
356 * BuildItem.cs: Made FromXml and HasParent internal and added
357 ParentItem and ParentItemGroup properties (internal).
360 * GroupingCollection.cs (Remove): Used Detach ().
362 * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
364 (GetEvaluatedItemsByNameIgnoringCondition)
365 (GetEvaluatedItemsByName)
366 (GetEvaluatedProperty): Reevaluate if needed.
368 (RemoveAllItemGroups)
369 (RemoveAllPropertyGroups): Implemented.
370 (DoLoad): Added closing of TextReader.
372 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
374 * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
375 change but just mark that it needs it.
377 * Project.cs: Reevaluate when it needs reevaluation and one of
378 Evaluated* properties is used.
380 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
382 * Target.cs: Throw an exception when <OnError> is not last element in
385 * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
387 * TargetCollection.cs: If a target is already there replace it with
390 * BuildProperty.cs: Added XmlElement property.
392 2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
394 * ImportCollection.cs: Don't add imports that are already added.
396 * BuildItemGroup.cs: MonoTODOs.
398 * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
399 condition can't be evaluated to bool.
401 * BuildPropertyGroup.cs (Evaluate): Simplify.
403 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
405 * BuildWhen.cs: Moved BindToXml () code to ctor.
407 * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
408 property needed for removing groups.
410 * Engine.cs: Added StartBuild () that logs build start when Build ()
413 * GroupingCollection.cs: Added Remove () for item and property groups.
415 * Project.cs (AddNewImport): Implemented.
416 (AddNewItemGroup): Implemented.
417 (AddNewPropertyGroup): Implemented.
418 (AddNewUsingTaskFromAssemblyFile): Implemented.
419 (AddNewUsingTaskFromAssemblyName): Implemented.
420 (RemoveItemGroup): Implemented.
421 (RemovePropertyGroup): Implemented.
423 2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
425 * BuildItemGroup.cs (Clear): Remove from XML.
427 * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
428 to Project.EvaluatedProperties.
429 (Clear): Remove from XML.
431 2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
433 * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
436 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
438 * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
439 Add () calls when processing a project from Import and
440 evaluate_iterator for evaluation.
442 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
444 * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
445 and prepend relative directory of importing project to full path of
448 2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
450 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
451 BuildItemGroupCollection.cs, Project.cs: Track API changes.
453 * GroupingCollection.cs: Now it needs Project reference so added it.
455 * BuildTask.cs: Formatting.
457 * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
459 * ConditionParser.cs (ParseAndEvaluate): Added.
461 * BuildItem.cs: Changed exception message.
463 2007-01-02 Marek Sieradzki <marek.sieradzki@gmail.com>
465 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
466 BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
467 GroupingCollection doesn't need Project reference.
469 * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
471 * BuildItemGroup.cs: Added new readOnly parameter to ctor.
472 (Project.EvaluatedItems is a read only item group.)
473 (ReplaceWith): Added.
475 * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
476 global property group causes reevaluation of its project.
478 * Project.cs: ProcessXml () is internal and can be "safely" invoked by
481 * OldExpression.cs: Removed.
483 * BuildProperty.cs (Evaluate): Simplified.
485 * ChangeType.cs (TemporaryTransform): Simplified.
487 * BuildItem.cs: There are now 3 types of build items: from XML, having
488 parent from XML, virtual. Added SplitParentItem ().
490 2006-12-20 Marek Sieradzki <marek.sieradzki@gmail.com>
492 * Utilities.cs: Added Unescape ().
494 * BuildItemGroup.cs, BuildItem.cs: Pass null project to
495 BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
496 groups (at the moment just unescape).
498 * Expression.cs (CopyToExpressionList): Unescape strings.
500 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
502 * Target.cs (ctor): Added ImportedProject argument and removed
504 (AddNewTask): Implemented.
506 * TargetCollection.cs (AddNewTarget): Implemented.
508 * Project.cs: Track API changes.
510 2006-12-19 Marek Sieradzki <marek.sieradzki@gmail.com>
512 * Target.cs (Build): Don't throw anything in case of error, just
515 * BuildItemGroup.cs (set_Condition): Throw an exception if group is
518 * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
521 * BuildProperty.cs (ToString): Throw an exception if property is not
523 (op_Explicit): Added a null check.
525 * Engine.cs: Better error message.
527 * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
528 IndexOutOfRangeException.
530 * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
531 (MarkProjectAsDirty): Set time.
533 2006-12-18 Marek Sieradzki <marek.sieradzki@gmail.com>
535 * BuildItemGroup.cs (Clone): Throw exception.
537 * Project.cs (Load): Throw InvalidProjectFileException if anything
540 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
542 * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
543 and ConvertToITaskItemArray ().
545 2006-12-16 Marek Sieradzki <marek.sieradzki@gmail.com>
547 * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
548 classes that were public in Beta 2 and aren't used.
550 * Expression.cs: Added replacement for parsing expressions char by
551 char. It uses regexes to find item/property/metadata references in
554 * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
555 Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
556 BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
558 * ConditionRelationalExpression.cs: Formatting.
560 * OldExpression.cs: Commented everything.
562 * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
563 parsing to Expression.
565 * BuildItem.cs: Check if project is from XML in set_Condition and
568 * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
571 * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
572 can evaluate expression in CanEvaluateToBool ().
574 2006-12-12 Marek Sieradzki <marek.sieradzki@gmail.com>
576 * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
577 which item group is imported.
579 * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
581 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
583 * BuildWhen.cs, BuildPropertyGroupCollection.cs,
584 BuildItemGroupCollection.cs: Little changes related to
587 * ImportCollection.cs: Use GroupingCollection not an internal list.
589 * Import.cs (Evaluate): Split to functions and check if
590 EvaluatedProjectPath is empty.
592 * GroupingCollection.cs, Project.cs: Move evaluation to
593 GroupingCollection. Change algorithm to use 2 passes: first for property
594 groups and imports and second for item groups.
596 2006-12-11 Marek Sieradzki <marek.sieradzki@gmail.com>
598 * TaskEngine.cs, ItemReference.cs: Use IDictionary <string,
599 BuildItemGroup> not IDictionary.
601 * BuildItemGroup.cs, BuildItem.cs: Evaluate even if condition was
602 evaluated to false because we want to add every item to
603 Project.EvaluatedItemsByNameIgnoringCondition.
605 * Project.cs (Build): Don't throw an exception just return false.
606 (GetEvaluatedProperty): Avoid NullReferenceException.
607 (SetProjectExtensions): Implemented.
609 2006-12-08 Marek Sieradzki <marek.sieradzki@gmail.com>
611 * TaskElement.cs, Xml.cs, ProcessingPass.cs: Removed.
613 * Utilities.cs, HostLogger.cs, Target.cs, TaskDatabase.cs,
614 BuildItemGroup.cs, BuildPropertyGroup.cs, TargetCollection.cs,
615 Engine.cs, GroupingCollection.cs, Project.cs: Reformatted.
617 * ImportCollection.cs: Added a note.
619 2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
621 * BuildTask.cs: Implemented AddOutputItem () and AddOutputProperty ().
623 * UsingTaskCollection.cs: Removed [MonoTODO] and used CopyTo in CopyTo
624 (UsingTask[] array, int index)
626 * TaskEngine.cs: Reformatted PublishOutput () and added copying of
627 items to Project.EvaluatedItems in PublishItemGroup ();
629 * BuildItemGroup.cs: Added [MonoTODO].
631 * UsingTask.cs: Used expression for AssemblyFile to get around
632 problems with '\' and '/'.
634 * BuildItem.cs (ctor): Added null checks.
635 (GetMetadata): Return unevaluatedMetadata not evaluatedMetadata.
636 (SetMetadata): Don't escape evaluatedMetadata and escape
637 unevaluatedMetadata only when treatPropertyValueAsLiteral.
639 * BuildPropertyGroup.cs (GetEnumerator, Evaluate, RemoveProperty): Use
640 FromXml () instead of null checks.
641 (SetProperty): Escape propertyValue when it is literal.
643 * BuildProperty.cs: Changed exception message.
645 * Project.cs: Added XmlNamespaceManager and XmlNamespace internal
647 (GetProjectExtensions): Implemented.
649 2006-12-05 Marek Sieradzki <marek.sieradzki@gmail.com>
651 * BuildTask.cs: Remove [MonoTODO], add exception throwing in
652 GetParameterValue (), use expressions in ContinueOnError.
653 * ConditionFactorException.cs: Throw InvalidProjectFileException ()
654 instead of InvalidOperationException ().
655 * ImportCollection.cs: Implement CopyTo ().
656 * Target.cs: Remove redundant variables (XmlAttributes), return
657 String.Empty in DependsOnTargets, add a null check in RemoveTask ().
658 * BuildItemGroup.cs, BuildPropertyGroup.cs: Remove [MonoTODO].
659 * Import.cs: Throw an exception when file does not exist.
660 * Target.cs: Use StringComparer.InvariantCultureIgnoreCase.
661 * ConditionTokenizer.cs: Treat '-' as beginning of a number. We'll
662 need to treat item as a token probably
664 2006-12-04 Marek Sieradzki <marek.sieradzki@gmail.com>
666 * Import.cs: Check for project.FullFileName (Path.DirectoryName would
668 * BuildItemGroupCollection.cs: Changed exception types.
670 2006-10-14 Marek Sieradzki <marek.sieradzki@gmail.com>
672 * Engine.cs: Removed redundant cast.
674 * UsingTaskCollection.cs:
678 * TargetCollection.cs: Comment unused variable.
679 * ConditionTokenizer.cs: Simplified checking if current token is a
681 * Target.cs: Removed old code.
683 2006-10-08 Marek Sieradzki <marek.sieradzki@gmail.com>
685 * Target.cs: Changed "" to String.Empty.
686 * TaskEngine.cs: Don't try to convert a parameter to specific type if
687 string was evaluated to String.Empty.
688 * InternalLoggerException.cs:
689 * InvalidProjectFileException.cs: Added LinkDemand before
691 * ConsoleLogger.cs: Changed "" to String.Empty.
692 * TargetCollection.cs: Fixed GetEnumerator () (stupid bug introduced
693 with change to generics).
694 * Project.cs: Made Build () throw more meaningful exception.
696 2006-10-06 Marek Sieradzki <marek.sieradzki@gmail.com>
698 * Target.cs: Reformatted.
699 * TaskEngine.cs: Removed redundant code.
700 * BuildPropertyGroup.cs: Fixed Clear () and AddNewProperty ().
701 * Engine.cs: Made BuildProjectFile () load project file if it's not
704 2006-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
706 * ConditionRelationalExpression.cs: Change comparers to case
708 * ImportCollection.cs: Add NotImplementedExceptions.
709 * BuildPropertyGroup.cs: Reformatted a bit.
710 * BuildProperty.cs: The same.
711 * Project.cs: Moved evaluation of imports before evaluation of
712 properties. This may "work" until importing projects is redesigned but
713 probably isn't correct.
715 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
717 * BuildPropertyGroup.cs: Check for XmlNodes that aren't XmlElements
719 * BuildItemGroup.cs: Change return to continue.
721 2006-09-20 Marek Sieradzki <marek.sieradzki@gmail.com>
723 * ConditionParser.cs: Copyright note.
724 * ExpressionCollection.cs: Fixed arrays passing.
726 2006-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
728 * BuildTask.cs, UsingTaskCollection.cs, ImportCollection.cs,
729 Target.cs, TaskDatabase.cs, TaskEngine.cs, BuildItemGroup.cs,
730 BuildChoose.cs, DirectoryScanner.cs, BuildPropertyGroup.cs,
731 TargetCollection.cs, Engine.cs, Project.cs: Started to use generics.
733 2006-06-25 Marek Sieradzki <marek.sieradzki@gmail.com>
735 * Token.cs: Changed names: removed "than".
736 * ConditionRelationalExpression.cs: Added.
737 * ConditionFactorExpression.cs: Added.
738 * BuildItemGroup.cs: Changed Condition property return value to return
739 String.Empty instead of null.
740 * ConditionParser.cs: Added support for parsing relational expressions
742 * ConditionExpression.cs: Removed Evaluate (). Added 2 sets of
743 abstract functions: BoolEvaluate (), NumberEvaluate () and StringEvaluate ()
744 and CanEvaluateToBool (), CanEvaluateToNumber () and
745 CanEvaluateToString ().
746 * ConditionOrExpression.cs, ConditionAndExpression.cs: Changed
747 appropriately to ConditionExpression base class.
748 * ConditionTokenizer.cs: Added null check and changed names in enums:
750 * ConditionNotExpression.cs: Added.
751 * BatchingImpl.cs: Changed to use BoolEvaluate ().
752 * Project.cs: Added checks for condition.
754 2006-06-22 Marek Sieradzki <marek.sieradzki@gmail.com>
756 * ConditionalTokenizer.cs, ConditionalExpression.cs,
757 ConditionalParser.cs: Changed name,
759 * ConditionExpression.cs: Added Evaluate ().
760 * ConditionOrExpression.cs, ConditionAndExpression.cs: Added.
761 * BatchingImpl.cs: Added check if task should be executed.
763 2006-06-14 Marek Sieradzki <marek.sieradzki@gmail.com>
765 * UsingTask.cs: Changed properties to return null on empty attribute.
766 * UsingTaskCollection.cs: Added object to SyncRoot.
767 * BuildPropertyGroup.cs: Added NotImplementedException throwing.
769 2006-06-02 Marek Sieradzki <marek.sieradzki@gmail.com>
771 * BuildItem.cs, BuildProperty.cs, BuildPropertyGroup.cs,
772 BuildPropertyGroupCollection.cs: Fixed to match the tests.
774 2006-05-27 Marek Sieradzki <marek.sieradzki@gmail.com>
776 * Utilities.cs: Implemented Escape ().
777 * BuildItem.cs: Added null checks.
778 * BuildPropertyGroup.cs, BuildProperty.cs: Moved FromXml property.
779 * Project.cs: Commented out redundant Evaluate ().
780 * BuildChoose.cs: Minor changes.
782 2006-05-22 Marek Sieradzki <marek.sieradzki@gmail.com>
784 * Token: Added new few missing tokens.
785 * Target.cs, Project.cs: Patch from Matthew Metnesky.
786 * BuildItemGroup.cs, OldExpression.cs, MetadataReference.cs,
787 ItemReference.cs, PropertyReference.cs, ConditionalTokenizer.cs,
788 ConditionalParser.cs, Tokenizer.cs, LiteralExpression.cs,
790 Removed literal expression parsing based on tokenizer and
791 parser. It needs to be done by regex.
793 Moved tokenizer to ConditionalTokenizer.cs.
795 2006-05-05 Marek Sieradzki <marek.sieradzki@gmail.com>
797 * ExpressionCollection.cs, BuildItemGroup.cs, BuildItem.cs,
798 ItemReference.cs, PropertyReference.cs: Changed name of *Reference
799 methods converting reference to string from ToString () to
800 ConvertToString () to avoid mistakes like using ToString () provided
803 2006-05-03 Marek Sieradzki <marek.sieradzki@gmail.com>
805 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, MetadataReference.cs,
806 Import.cs, ItemReference.cs, BuildItem.cs, BatchingImpl.cs,
807 PropertyReference.cs, BuildProperty.cs: Changed Expression to
808 OldExpression and changed To* functions to one ConvertTo ().
809 * TaskEngine.cs: Fixed PublishOutput ().
810 * OldExpression.cs: Added. It will be temporarily used before
811 LiteralExpression will be written using Tokenizer.
812 * Tokenizer.cs, Token.cs, ExpressionCollection.cs,
813 ExpressionParseException.cs, LiteralExpression.cs: Added.
815 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
817 * ImportedProject.cs: Removed warning.
818 * Engine.cs, Project.cs, TaskDatabase.cs: Added registration of
821 2006-04-24 Marek Sieradzki <marek.sieradzki@gmail.com>
823 * Project.cs: Removed unnecessary variable.
824 * Engine.cs: Added fixme.
826 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
828 * BuildItem.cs: Moved checking if metadata name is reserved to internal
829 class (Mono.XBuild.Utilities.ReservedNameUtils).
831 2006-04-14 Marek Sieradzki <marek.sieradzki@gmail.com>
833 * BuildTask.cs: Removed unnecessary variable.
834 * Engine.cs: Added logging of the build start.
835 * Project.cs: Removed unnecessary variable.
837 2006-04-07 Marek Sieradzki <marek.sieradzki@gmail.com>
839 * GlobalEngineAccessor.cs, ProjectFileEncoding.cs: Removed.
841 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
843 * BuildItem.cs, BuildItemGroup.cs: Coding style fixes.
845 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
847 * BuildItem.cs: Fix typo?
849 2006-03-29 Marek Sieradzki <marek.sieradzki@gmail.com>
851 * InternalLoggerException.cs, InvalidProjectFileException.cs,
852 Engine.cs, Project.cs: Coding style fixes.
854 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
856 * BuildItem.cs, BuildItemGroup.cs: Cleaned up build items.
858 2006-03-29 Crestez Leonard <cdleonard@gmail.com>
860 * InternalLoggerException.cs, InvalidProjectFileException.cs: Fixed
861 to pass tests. Wrote serialization constructor.
862 * Engine.cs, Project.cs: Global engine and project unloading, test and
865 2006-03-28 Marek Sieradzki <marek.sieradzki@gmail.com>
867 * UsingTask.cs: Formatting changes.
869 2006-03-27 Crestez Leonard <cdleonard@gmail.com>
871 * ImportCollection.cs, UsingTaskCollection.cs: Cleaned up, switched
872 to lists instead of hashtables.
873 * Import.cs: Cleaned up, moved importing from Project.cs
874 * BuildProperty.cs, BuildPropertyGroup.cs: Minor fixes.
875 * Engine.cs: Cleaned up properties.
876 * Project.cs: Moved importing to Import.cs, cleaned up properties,
877 Separated evaluation and loading.
879 2006-03-21 Crestez Leonard <cdleonard@gmail.com>
881 * Target.cs, TaskEngine.cs, BuildItemGroup.cs, BuildItem.cs,
882 BuildPropertyGroup.cs, TargetCollection.cs, BuildProperty.cs,
883 Engine.cs, Project.cs, BuildTask.cs, UsingTask.cs: Separate xml
884 binding and evaluation, merge xml binding in constructors.
885 * DirectoryScanner.cs: Includes CAN be empty.
886 * BuildChoose.cs, ItemReference.cs, ChangeType.cs: Newline at EOF.
887 * ConsoleLogger.cs: Fix compilation warning.
889 2006-03-19 Marek Sieradzki <marek.sieradzki@gmail.com>
891 * BuildPropertyGroup.cs, Expression.cs: Coding style fixed.
893 2006-03-18 Marek Sieradzki <marek.sieradzki@gmail.com>
895 * Engine.cs: API cleanup.
897 2006-03-18 Crestez Leonard <cdleonard@gmail.com>
899 * Project.cs: Cleaned up add.
900 * Expression.cs: Hacked to transform \ and / to path separators.
901 * BuildPropertyGroup.cs: Small cleanup.
902 * BuildTask.cs, TaskEngine.cs: Fix TaskEngine not getting a Project
905 2006-03-11 Marek Sieradzki <marek.sieradzki@gmail.com>
907 * BatchingImpl.cs: Updated with BuildTask instead of TaskElement.
908 * BuildItem.cs: Updated for new API and fixed crashing on non-existent
910 * BuildItemGroup.cs, BuildItemGroupCollection.cs, BuildProperty.cs,
911 BuildPropertyGroup.cs, BuildPropertyGroupCollection.cs, ConsoleLogger.cs,
912 Engine.cs, Project.cs, Target.cs, TargetCollection.cs: Updated for new
914 * DirectoryScanner.cs: Fixed ordering and crashing on duplicated items.
915 * TaskElement.cs: Temporarily removed.
916 * Xml.cs: Changed to static.
918 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
920 * IBuildProperty.cs, ICultureStringUtilities.cs, IProject.cs,
921 IGlobalEngineAccessor.cs, ITaskElement.cs, IBuildPropertyGroup.cs,
922 ITargetCollection.cs, IEngine.cs, IBuildItemGroupCollection.cs,
923 IHostLogger.cs, IBuildItem.cs, IHostFeedback.cs,
924 ILangSecurityLevelChecker.cs, ITarget.cs, IBuildItemGroup.cs,
925 IBuildPropertyGroupCollection.cs: Removed.
927 2006-02-26 Marek Sieradzki <marek.sieradzki@gmail.com>
929 * BuildItem.cs: Removed IBuildItem references.
930 * BuildItemGroup.cs: Removed ItemPropertyGroupingBase and
931 IBuildItemGroup references. Changed Evaluate to internal.
932 * BuildItemGroupCollection.cs. Removed IBuildItemGroupCollection
933 reference and hidden constructors.
934 * BuildProperty.cs: Removed IBuildProperty reference.
935 * BuildPropertyGroup.cs: Removed ItemPropertyGroupingBase and
936 IBuildPropertyGroup references. Changed Evaluate to internal.
937 * BuildPropertyGroupCollection.cs: Removed IBuildPropertyGroupCollection
938 reference and hidden constructors.
939 * ConsoleLogger.cs: Updated names of event handlers.
940 * Engine.cs: Removed IEngine reference. Removed ClearAllProjects and
941 Escape. Added UnloadAllProjects () and UnloadProject ().
942 * FileLogger.cs: Removed ApplyParameter ().
943 * GroupingCollection.cs: Hidden.
944 * InvalidProjectFileException.cs: Removed HasBeenLogged property.
945 * ItemPropertyGroupingBase.cs: Commented.
946 * ProcessingPass.cs: Hidden.
947 * Project.cs: Removed IProject reference. Changed CurrentEncoding to
949 * Target.cs: Removed ITarget reference.
950 * TargetCollection.cs: Removed ITargetCollection reference.
951 * TaskElement.cs: Removed ITaskElement reference.
952 * TaskEngineAssemblyResolver.cs: Hidden.
953 * Utilities.cs: Made static class, removed CheckPath (),
954 ValidateCulture (), GetSupportedCultures () and added Escape ().
956 2006-02-24 Marek Sieradzki <marek.sieradzki@gmail.com>
958 * ConsoleLogger.cs, Engine.cs: Quick hacks to make it compile with new
961 2005-09-22 Marek Sieradzki <marek.sieradzki@gmail.com>
963 * Project.cs: Added MonoTODO attributes.
964 * Utilities.cs, TaskElement.cs, IBuildProperty.cs, HostLogger.cs,
965 ProjectFileEncoding.cs, ICultureStringUtilities.cs, FileLogger.cs,
966 IProject.cs, BuildSettings.cs, BuildWhen.cs, IGlobalEngineAccessor.cs,
967 BuildEngine.cs, ITaskElement.cs, Target.cs, TaskDatabase.cs,
968 SolutionParser.cs, IBuildPropertyGroup.cs, InternalLoggerException.cs,
969 BuildItemGroup.cs, InvalidProjectFileException.cs,
970 BuildPropertyGroupCollection.cs, MetadataReference.cs, Expression.cs,
971 Xml.cs, BuildChoose.cs, EventSource.cs, ProcessingPass.cs,
972 PropertyPosition.cs, GlobalEngineAccessor.cs, ITargetCollection.cs,
973 ItemReference.cs, IEngine.cs, BuildItem.cs, DirectoryScanner.cs,
974 IBuildItemGroupCollection.cs, BuildPropertyGroup.cs, IHostLogger.cs,
975 IBuildItem.cs, ChangeType.cs, WriteHandler.cs, IHostFeedback.cs,
976 ILangSecurityLevelChecker.cs, ITarget.cs, BatchingImpl.cs,
977 ConsoleLogger.cs, TargetCollection.cs, PropertyReference.cs,
978 IBuildItemGroup.cs, BuildProperty.cs, Engine.cs,
979 IBuildPropertyGroupCollection.cs, GroupingCollection.cs,Project.cs,
980 BuildItemGroupCollection.cs, ItemPropertyGroupingBase.cs,
981 ImportedProject.cs, TaskEngineAssemblyResolver.cs: Added #if NET_2_0.
983 2005-09-21 Marek Sieradzki <marek.sieradzki@gmail.com>
985 * TaskDatabase.cs: Change Shared to Framework.
986 * BuildPropertyGroup.cs, Project.cs: Remove obsoleted
987 CaseInsensitiveHashCodeProvider
989 2005-09-11 Marek Sieradzki <marek.sieradzki@gmail.com>
991 * TaskDatabase.cs: Added handling of LoadInfoType.AssemblyName.
992 * Engine.cs, Project.cs: Added handling of MSBuildBinPath reserved
995 2005-09-09 Marek Sieradzki <marek.sieradzki@gmail.com>
997 * InternalLoggerException.cs: Changed protected fields to private.
999 2005-09-03 Marek Sieradzki <marek.sieradzki@gmail.com>
1001 * Engine.cs: Added check for globalProperties.
1002 * Project.cs: Added using path from importedProject.FullFileName when
1003 adding UsingTask elements.
1005 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1007 * TaskElement.cs: Changed ReflectedType to PropertyType.
1008 * ChangeType.cs (TransformToString): Changed to pass proper Type to
1011 2005-09-01 Marek Sieradzki <marek.sieradzki@gmail.com>
1013 * BuildPropertyGroup.cs: Added check for PropertyType when adding a
1015 * BuildProperty.cs: Organized PropertyType enum.
1016 * Engine.cs: Added setting CommandLine PropertyType of global
1019 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1021 * InvalidProjectFileException.cs: Changed Message property.
1022 * ChangeType.cs (TransformToString): Added separator between items.
1023 * TaskEngineAssemblyResolver.cs: Formatting.
1025 2005-08-31 Marek Sieradzki <marek.sieradzki@gmail.com>
1027 * DirectoryScanner.cs: Added.
1028 * BuildItem.cs: Moved file scanning code to DirectoryScanner.
1029 * BuildPropertyGroup.cs: Changed Project.Evaluate to Expression.
1030 * Project.cs: Removed Evalute* ().
1032 2005-08-30 Marek Sieradzki <marek.sieradzki@gmail.com>
1034 * Target.cs: Formatting.
1035 * Expression.cs: Added check if array == null.
1036 * BuildItem.cs: Removed 'break' to remove warnings.
1037 * ConsoleLogger.cs: Formatting.
1038 * Engine.cs: Added handling of default target(s).
1039 * Project.cs: Added handling of default target(s).
1041 2005-08-29 Marek Sieradzki <marek.sieradzki@gmail.com>
1043 * TaskElement.cs: Added check for parameters.
1044 * Target.cs: Added logging of target skipping.
1045 * Expression.cs: Changed returning object[] to string[], bool[]... in
1047 * ItemReference.cs: Fixed for item references without custom
1049 * BatchingImpl.cs: Added real inputs/outputs checking.
1050 * Engine.cs: Moved global properties setting.
1051 * Project.cs: Moved global properties setting.
1053 2005-08-27 Marek Sieradzki <marek.sieradzki@gmail.com>
1055 * Target.cs: Added checks for target existence.
1056 * BuildItemGroup.cs: Changed to use transforms.
1057 * MetadataReference.cs: Wrote real implementation.
1058 * ItemReference.cs: Rewritten to use transforms.
1059 * BuildItem.cs: Changes for transforms and metadata.
1060 * ConsoleLogger.cs: Added verbosity checking and fixed error/warning
1062 * Project.cs: Fixed project importing.
1063 * ImportedProject.cs: Changed to throw exceptions instead of returning
1066 2005-08-24 Marek Sieradzki <marek.sieradzki@gmail.com>
1068 * Engine.cs: Removed FIXME.
1069 * Project.cs: Splitted ProcessElements and added project importing.
1070 * ImportedProject.cs: Rewritten.
1072 2005-08-20 Marek Sieradzki <marek.sieradzki@gmail.com>
1074 * TaskElement.cs: Added getting of objects of every type.
1075 * BuildItemGroup.cs: Added ToITaskItemArray ().
1076 * Expression.cs: Implemented part that is not using metadata.
1077 * ItemReference.cs: Implemented parsing item references. Need to fix
1079 * BuildItem.cs: Fixed ToITaskItem ().
1080 * PropertyReference.cs: Implemented parsing property references. This
1081 also needs validity checking.
1083 2005-08-19 Marek Sieradzki <marek.sieradzki@gmail.com>
1085 * TaskElement.cs: Added Output element handling.
1086 * Target.cs: Cleaned up.
1087 * BuildItemGroup.cs: Added creating BuildItem from TaskItem.
1088 * Expression.cs, MetadataReference.cs, PropertyReference.cs,
1089 ItemReference.cs, ChangeType.cs: Added.
1090 * BuildItem.cs: Added creating BuildItem from TaskItem.
1091 * BuildPropertyGroup.cs: Small changes.
1092 * BatchingImpl.cs: Fixed to return real task execution result.
1093 * BuildProperty.cs: Fixed FinalValue property.
1094 * Engine.cs: Reformatted logging.
1095 * Project.cs: Added check to EvaluateProperty.
1097 2005-08-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1099 * TaskElement.cs: Added part of execution engine.
1100 * BuildEngine.cs: Added handling of TaskStarted and TaskFinished.
1101 * BuildItemGroup.cs: Iterating by XmlNode casted to XmlElement.
1102 * EventSource.cs: Added FireTaskStarted and FireTaskFinished.
1103 * BuildItem.cs: Added handling of built-in metadata and referencing
1104 Items by name not FullName.
1105 * BatchingImpl.cs: Added temporary task "batching".
1106 * ConsoleLogger.cs: Added temporary workaround to not show sender.
1107 * Project.cs: Added Evaluate. It will be moved to separate class.
1109 2005-08-14 Marek Sieradzki <marek.sieradzki@gmail.com>
1111 * EventSource.cs, Engine.cs: Added CriticalEvents.
1112 * BuildItem.cs, BuildItemGroup.cs, BuildItemGroupCollection.cs,
1113 Project.cs: Added some support for items.
1114 * BuildProperty.cs, BuildPropertyGroup.cs: Cleaned up.
1116 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1118 * BuildProperty.cs, BuildPropertyGroup.cs, Project.cs: Added loading
1121 2005-08-12 Marek Sieradzki <marek.sieradzki@gmail.com>
1123 * BatchingImpl.cs: Added.
1124 * BuildWhen.cs, BuildEngine.cs, Target.cs,
1125 BuildPropertyGroupCollection.cs, BuildChoose.cs, EventSource.cs,
1126 BuildItem.cs, BuildPropertyGroup.cs, ConsoleLogger.cs,
1127 TargetCollection.cs, BuildProperty.cs, Engine.cs, Project.cs,
1128 GroupingCollection.cs: Updated.
1130 2005-08-06 Marek Sieradzki <marek.sieradzki@gmail.com>
1132 * BuildChoose.cs, BuildEngine.cs, BuildItem.cs,
1133 BuildItemGroupCollection.cs, BuildItemGroup.cs, BuildProperty.cs,
1134 BuildPropertyGroupCollection.cs, BuildPropertyGroup.cs,
1135 BuildSettings.cs, BuildWhen.cs, ConsoleLogger.cs, Engine.cs,
1136 EventSource.cs, FileLogger.cs, GlobalEngineAccessor.cs,
1137 GroupingCollection.cs, HostLogger.cs, ImportedProject.cs,
1138 InternalLoggerException.cs, InvalidProjectFileException.cs,
1139 ItemPropertyGroupingBase.cs, ProcessingPass.cs, Project.cs,
1140 ProjectFileEncoding.cs, PropertyPosition.cs, SolutionParser.cs,
1141 TargetCollection.cs, Target.cs, TaskDatabase.cs, TaskElement.cs,
1142 TaskEngineAssemblyResolver.cs, Utilities.cs, WriteHandler.cs, Xml.cs:
1143 Initial check-in of implementations.
1145 2005-07-16 Marek Sieradzki <marek.sieradzki@gmail.com>
1147 * conditions.jay, IBuildItem.cs, IBuildItemGroup.cs,
1148 IBuildItemGroupCollection.cs, IBuildProperty.cs,
1149 IBuildPropertyGroup.cs, IBuildPropertyGroupCollection.cs,
1150 ICultureStringUtilities.cs, IEngine.cs, IGlobalEngineAccessor.cs,
1151 IHostFeedback.cs, IHostLogger.cs, ILangSecurityLevelChecker.cs,
1152 IProject.cs, ITargetCollection.cs, ITarget.cs, ITaskElement.cs:
1153 Initial check-in of interfaces and a syntax file, real classes are
1154 changing a lot so I'll wait a moment with checking them in.