2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / ChangeLog
index 7b5fdbd479e0bf6085c9335baedc6d7a52597d90..ac25039b83fbe0b4c6dd687ee604ebb09cd53d37 100644 (file)
@@ -1,3 +1,153 @@
+2007-01-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
+       reserved property.
+
+2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
+       Add () calls when processing a project from Import and
+       evaluate_iterator for evaluation.
+
+2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName
+       and prepend relative directory of importing project to full path of
+       imported project.
+
+2007-01-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * BuildWhen.cs, BuildPropertyGroupCollection.cs,
+       BuildItemGroupCollection.cs, Project.cs: Track API changes.
+
+       * GroupingCollection.cs: Now it needs Project reference so added it.
+
+       * BuildTask.cs: Formatting.
+
+       * InvalidProjectFileException.cs: Use MS' names in GetObjectData ().
+
+       * ConditionParser.cs (ParseAndEvaluate): Added.
+
+       * BuildItem.cs: Changed exception message.
+
+2007-01-02  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * BuildWhen.cs, BuildPropertyGroupCollection.cs,
+       BuildItemGroupCollection.cs, Project.cs, GroupingCollection.cs:
+       GroupingCollection doesn't need Project reference.
+
+       * BuildTask.cs, Target.cs, TaskEngine.cs, BatchingImpl.cs: Formatting
+
+       * BuildItemGroup.cs: Added new readOnly parameter to ctor.
+       (Project.EvaluatedItems is a read only item group.)
+       (ReplaceWith): Added.
+
+       * BuildPropertyGroup.cs (IsGlobal): Added. Setting a property in
+       global property group causes reevaluation of its project.
+
+       * Project.cs: ProcessXml () is internal and can be "safely" invoked by
+       other classes.
+
+       * OldExpression.cs: Removed.
+
+       * BuildProperty.cs (Evaluate): Simplified.
+
+       * ChangeType.cs (TemporaryTransform): Simplified.
+
+       * BuildItem.cs: There are now 3 types of build items: from XML, having
+       parent from XML, virtual. Added SplitParentItem ().
+
+2006-12-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Utilities.cs: Added Unescape ().
+
+       * BuildItemGroup.cs, BuildItem.cs: Pass null project to
+       BuildItem.Evaluate () to "evaluate" virtual items added to virtual item
+       groups (at the moment just unescape).
+
+       * Expression.cs (CopyToExpressionList): Unescape strings.
+
+2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Target.cs (ctor): Added ImportedProject argument and removed
+       set_IsImported.
+       (AddNewTask): Implemented.
+
+       * TargetCollection.cs (AddNewTarget): Implemented.
+
+       * Project.cs: Track API changes.
+
+2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * Target.cs (Build): Don't throw anything in case of error, just
+       return false.
+
+       * BuildItemGroup.cs (set_Condition): Throw an exception if group is
+       not from XML.
+
+       * BuildItem.cs: More meaningfull messages in RemoveMetadata () and
+       SetMetadata ().
+
+       * BuildProperty.cs (ToString): Throw an exception if property is not
+       from XML.
+       (op_Explicit): Added a null check.
+
+       * Engine.cs: Better error message.
+
+       * BuildItemGroupCollection.cs (CopyTo): Changed ArgumentException to
+       IndexOutOfRangeException.
+
+       * Project.cs (DoLoad, Load): Move try/catch to DoLoad ().
+       (MarkProjectAsDirty): Set time.
+
+2006-12-18  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * BuildItemGroup.cs (Clone): Throw exception.
+
+       * Project.cs (Load): Throw InvalidProjectFileException if anything
+       goes wrong.
+
+2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * ItemReference.cs: Avoid KeyNotFoundException in ConvertToString ()
+       and ConvertToITaskItemArray ().
+
+2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * ItemPropertyGroupingBase.cs, TaskEngineAssemblyResolver.cs: Removed
+       classes that were public in Beta 2 and aren't used.
+
+       * Expression.cs: Added replacement for parsing expressions char by
+       char. It uses regexes to find item/property/metadata references in
+       given text.
+
+       * ExpressionCollection.cs, BuildTask.cs, ConditionFactorExpression.cs,
+       Target.cs, TaskEngine.cs, BuildItemGroup.cs, UsingTask.cs, Import.cs,
+       BuildItem.cs, BatchingImpl.cs, BuildProperty.cs: Track API changes.
+
+       * ConditionRelationalExpression.cs: Formatting.
+
+       * OldExpression.cs: Commented everything.
+
+       * MetadataReference.cs, ItemReference.cs, PropertyReference.cs: Moved
+       parsing to Expression.
+
+       * BuildItem.cs: Check if project is from XML in set_Condition and
+       set_Exclude.
+
+       * BuildPropertyGroup.cs, Project.cs: Add ImportedProject to
+       Project.ctor.
+
+       * ConditionNotExpression.cs, ConditionAndExpression.cs: Check if we
+       can evaluate expression in CanEvaluateToBool ().
+
+2006-12-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * BuildItemGroup.cs (ctor): Add reference to ImportedProject from
+       which item group is imported.
+
+       * BuildItem.cs, Project.cs: Use new BuildItemGroup.ctor ().
+
 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
 
        * BuildWhen.cs, BuildPropertyGroupCollection.cs,