X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMicrosoft.Build.Engine%2FMicrosoft.Build.BuildEngine%2FChangeLog;h=fccbf5743994b0c7a96c30ed636916a6ba5fd6c9;hb=bf5947a0fd2b523c30833605ee69b2b041aa43f4;hp=fcc8c943a21ce65c749c53de6c2655d68c6152ee;hpb=0bd4004c832f6c5a02c35cada2b6fdbedd1563a2;p=mono.git diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog index fcc8c943a21..fccbf574399 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog @@ -1,3 +1,480 @@ +2010-07-24 Ankit Jain + + * ConsoleLogger.cs: Collect and dump timing information. + +2010-07-24 Ankit Jain + + * ConsoleLogger.cs: Honor LoggerVerbosity.Quiet . + +2010-07-22 Ankit Jain + + * ConsoleLogger.cs: Add support for parameter 'NoItemAndPropertyList'. + +2010-07-22 Ankit Jain + + * Project.cs: Add reserved properties MSBuildProjectFullPath + and MSBuildProjectExtension . + +2010-07-09 Ankit Jain + + Correctly handle precedence of ToolsVersion value coming + from various points. + * BuildEngine.cs (BuildProjectFile): Restore project.ToolsVersion . + * Engine.cs: Likewise. Also validate DefaultToolsVersion . + * Project.cs: Handle invalid tools version specified in the project + file, and fall back to engine's version. + * MSBuild.cs: Fix the precedence order, and validate. + * UnknownToolsVersionException.cs: New. + +2010-06-23 Ankit Jain + + * TargetBatchingImpl.cs (BuildTargetNeeded): Fix var names to + correctly reflect what they track. Log messages when skipping + or building a target. + +2010-06-04 Ankit Jain + + * Import.cs (EvaluateProjectPath): Add a hack to support multiple + msbuild extension paths. Paths can be specified via the environment + variable - $MSBuildExtensionsPath . ~/.config/xbuild/tasks is also + checked for extensions, besides the default location. + This explicitly looks for a "$(MSBuildExtensionsPath)" in the import + expression and tries to replace that with possible paths, till it + finds the file. In rest of the project, the property would resolve + to its single default value. + +2010-06-03 Ankit Jain + + * Engine.cs (GetLoadedProject): Return null if project not found. + Based on a patch by Dale Ragan . + +2010-05-28 Ankit Jain + + Fix bug #485841. + * DirectoryScanner.cs (ProcessInclude): Set %(RecursiveDir) only if + the '**' wildcard was found in the original Include. + +2010-04-10 Ankit Jain + + * Project.cs (InitializeProperties): Set MSBuildBinPath to the current + tools path. + +2010-04-10 Ankit Jain + + * TaskEngine.cs (Prepare): Throw InvalidProjectFileException instead of a generic + Exception. + +2010-04-10 Ankit Jain + + * ConsoleLogger.cs (EventsToString): If the target being executed is + from an imported file, then show that. + +2010-04-10 Ankit Jain + + * Project.cs: Add property MSBuildExtensionsPath32, used by silverlight + projects. + +2010-04-07 Ankit Jain + + * ConsoleLogger.cs: Dump items and properties when a project starts + to build. Useful for debugging. + * Engine.cs (LogProjectStarted): Set the properties and items also, + for the project started event. + * Project.cs (EvaluatedPropertiesAsDictionaryEntries): New. + (EvaluatedItemsByNameAsDictionaryEntries): New. Required for + ProjectStartedEvent . + +2010-04-03 Ankit Jain + + * BuildEngine.cs: Implement IBuildEngine2 instead of + IBuildEngine. + * BuildTasks.cs: Use the new extension methods for logging. + (InitializeTask): Emit a message informing about the assembly + from which the task is being loaded. Emit a useful debug message + incase of a InvalidCastException. + * Engine.cs: Add missing methods, constructors and properties related + to ToolsVersion support. Setup a default set of Toolsets. + Keep separate taskdbs' per ToolsVersion. The common tasks + would come from different *.tasks file, and use different + task assemblies. + (DefaultToolsVersion): Correctly set this based on the profile. + * LogExtensions.cs: New. Extension methods on Engine, for logging. + * Project.cs: Add missing methods/contructors/properties related + to ToolsVersion support. Add reserved properties - + MSBuildToolsPath and MSBuildToolsVersion . + * Toolset.cs: New. + * ToolsetCollection.cs: New. + * ToolsetDefinitionLocations.cs: New. + +2010-03-04 Ankit Jain + + * BuildEngine.cs (LogErrorEvent): Log as warning, if + ContinueOnError==true, and log a corresponding message. + * TargetBatchingImpl.cs: Refactor to share code between the + batched and unbatched case. If a task fails and + ContinueOnError==true, then ignore the failed state. + +2010-02-19 Ankit Jain + + * BuildItem.cs: Track api changes. + (SetMetadata): Allow RecursiveDir to be set, this is set by + DirectoryScanner. + * DirectoryScanner.cs (ProcessInclude): Set RecursiveDir metadata. + +2010-02-19 Ankit Jain + + * Import.cs (Evaluate): Add param @ignoreMissingImports. + * Project.cs (Load*): Add overloads with param @projectLoadSettings. + (Log*): Mark internal. + * ProjectLoadSettings.cs: New. + +2010-02-04 Ankit Jain + + Fix bug #576589. + * ConditionFunctionExpression.cs (Exists): Check for directory also. + +2009-12-22 Ankit Jain + + Fix bug #565849. + * DirectoryScanner.cs (Excludes): Change from string to ITaskItem[] . + * BuildItem.cs: Track api changes. + +2009-12-02 Ankit Jain + + Fix bug #559990. + * Engine.cs (UnloadAllProjects): Don't remove items from the collection + being iterated over. Patch by Laurent Etiemble + + +2009-11-28 Ankit Jain + + Fix bug #547753. + * BatchingImplBase.cs (DumpBucket*): New. Useful for debugging. + * Project.cs (Batch): New. Contains the perBatchItems and the + commonItems for the batch. + Use a stack of batches, instead of directly setting the current + batch items. + (PushBatch): New. + (PopBatch): New. + (SetBatchedItems): Make this private. + (GlobalProperties.set): Re-evaluating the project is not required + for this. + * TargetBatchingImpl.cs: Use the new Push/PopBatch instead of directly + setting the batches. + * TaskBatchingImpl.cs: Likewise. Refactor slightly to PopBatch in + finally block. + * Target.cs (Build): Reset the current batch to nil before evaluating + and building this target. + +2009-11-28 Ankit Jain + + * Project.cs (TryGetEvaluatedItemByNameBatched): Item could be + available in either perBatchItemsByName or commonItemsByName + or the evaluatedItemsByName collection. Allows the use of + items which are not batched, but are consumed in case of batching. + +2009-11-26 Ankit Jain + + * TargetBatchingImpl.cs (BuildTargetNeeded): Expand metadata + refs also, for Inputs and Outputs. + +2009-10-13 Ankit Jain + + * DirectoryScanner.cs: + * ExpressionCollection.cs: + * GroupingCollection.cs: + * Project.cs: + * Target.cs: Fix warnings. + +2009-10-12 Ankit Jain + + * Target.cs (TargetFile): New. Gives the name of the file + containing the target definition. + * BuildEngine.cs (.ctor): Add a 'taskfile' parameters, and + return this for ProjectFileOfTaskNode. + * BuildTask.cs (LogTaskStarted): + (LogTaskFinished): Use parentTarget.ProjectFileOfTaskNode for + the event. + (InitializeTask): Set BuildEngine's task file to parent target's + TargetFile. + * Engine.cs (LogProjectStarted): Incase of default targets, set + TargetNames to String.Empty . + * TargetBatchingImpl.cs (LogTargetStarted): + (LogTargetFinished): Use target.TargetFile for the event. + + * ConsoleLogger.cs: Keep a stack of project/target/task being + executed. And corresponding list of errors and warnings. + (EventsToString): Stringifies the current "stack", to be used + as key to the table of errors/warnings and for show messages + at the end of the build. + +2009-10-12 Ankit Jain + + * Project.cs (Load): Add argument checks. + +2009-10-11 Ankit Jain + + * ConsoleLogger.cs (no_colors): Rename to .. + (use_colors): .. this. Fix the case when XBUILD_COLORS + is not set. + +2009-10-11 Ankit Jain + + * ConsoleLogger.cs: Use ColorSetter and ColorResetter . + Support 'XBUILD_COLORS' to set colors for errors, warnings, + events and messages. + +2009-10-10 Ankit Jain + + * ConsoleLogger.cs (ProjectFinishedHandler): Once projectFailed + becomes true, don't reset it. We are looking for "atleast one + project failed". + +2009-10-08 Ankit Jain + + * DirectoryScanner.cs: Use Path.GetPathRoot, instead of + directly using DirectoryInfo ("z:"), that doesn't return + a dir info for "z:". + +2009-10-08 Ankit Jain + + * DirectoryScanner.cs: Handle absolute paths. Fix to work + correctly on windows. Change order of adding paths to match + msbuild, useful to have. + +2009-10-08 Ankit Jain + + * TaskBatchingImpl.cs (ParseTaskAttributes): Parse attributes + of the 'Output' element also. + * TaskEngine.cs (PublishOutput): Honor condition on 'Output' also. + +2009-10-07 Ankit Jain + + * ConsoleLogger.cs: Mark build as failed, if any project failed. + +2009-10-06 Ankit Jain + + * ConsoleLogger: Improve error reporting. Don't count failed task, + target or project as another error. Show "errors" after "warnings", + more useful to the user. + * Project.cs (BuildTarget): Log error instead of using CWL. + +2009-10-03 Ankit Jain + + * Project.cs (OS): New. + (InitializeProperties): Set 'OS' as a pre-defined property, set to + 'Windows_NT', 'Unix' or 'OSX' depending on the platform. + +2009-10-02 Ankit Jain + + * Expression.cs (Parse): Don't change '/' to '\\', not required. + +2009-10-01 Ankit Jain + + * Project.cs (AddImport): Show the correct source file name, when + the import is in the main project file. + +2009-10-01 Ankit Jain + + Fix bug #543299. + * Import.cs (.ctor): Evaluate and set EvaluatedProjectPath to + the full path of the imported project here itself, instead of .. + (Evaluate): .. here. + * ImportCollection.cs (Add): Use import.EvaluatedProjectPath . + (Contains): New. + * Project.cs (AddImport): Don't process if condition is false. + Warn if a circular reference is detected, and ignore the import. + +2009-09-29 Ankit Jain + + * GroupingCollection.cs (Evaluate): Mark internal. + * Project.cs (AddImport): Only evaluate the properties, + till before the import. + +2009-09-29 Ankit Jain + + * Project.cs (DoLoad): Don't use XmlReader.Create, for loading + the project xml, as returned Xml*Reader normalizes the newlines. + Instead directly use the TextReader with XmlDocument.Load (). + +2009-09-27 Ankit Jain + + * ConditionParser.cs: Show the condition being parsed in the + exception message. + +2009-09-26 Ankit Jain + + * Expression.cs: Allow '-' in item, property and metadata names. + +2009-09-26 Ankit Jain + + * Project.cs (Evaluate): Split into this and .. + (PrepareForEvaluate): .. this. + (AddImport): Evaluate the current set of properties/items etc, + before processing the imported project. Honor the Condition + for the Import. + (ProcessProjectAttributes): Update MSBuildProjectDefaultTargets + property. + * GroupingCollection.cs (Evaluate): Don't evaluate Imports here. + * BuildItemGroup.cs (Evaluate): Evaluate only once. + * BuildPropertyGroup.cs (Evaluate): Evaluate only once. + +2009-09-26 Ankit Jain + + * Project.cs: Get InitialTargets from the imported projects also. + The combined list of targets are executed, in the order they were + found. + DefaultTargets are also read in from imported projects, and the first + non-empty DefaultTargets found is used. + +2009-09-25 Ankit Jain + + * Project.cs (BuildTarget): Handle skipped targets. + +2009-09-25 Ankit Jain + + * Project.cs (DoLoad): If a VS2003 project is detected, then throw + InvalidProjectFileException with useful error. + +2009-09-24 Ankit Jain + + * Project.cs (Load): Emit the .sln.proj file only if env var + XBUILD_EMIT_SOLUTION is set. + +2009-09-24 Ankit Jain + + * Project.cs (GetKeyForTarget): Make target name, case insensitive. + +2009-09-24 Ankit Jain + + * Project.cs (InitializeProperties): Set 'MSBuildProjectDefaultTargets' + reserved property. + +2009-09-10 Ankit Jain + + * BuildItem.cs (Evaluate): Metadata from "Include" should be, + preserved, so use ConvertTo ITaskItem, rather than string. + Ensure that the new items have the metadata from references _in_ + Include, and the metadata of _this_ builditem. + * DirectoryScanner.cs (Includes): Change to a array of ITaskItem. + (MatchedFilenames): Rename to .. + (MatchedItems): .. this, and change type of array of ITaskItem. + Ensure that metadata of items in Includes are retained in the + final matched items. + + * BuildItemGroup.cs (ConvertoToITaskItemArray): Add 'separator' + param. If separator is present, then just return a "Join'ed" + string as the single task item. + * ItemReference.cs: Track api changes. + + * BuildProperty.cs (ConvertToITaskItemArray): Split the value, + as we need separate task items. + +2009-09-01 Ankit Jain + + Fix bug #534965. + * Project.cs (BuildTarget): Move caching of target outputs to .. + * Target.cs: .. here. Move LogTargetSkipped also here. + Ensure that caching happens for target dependencies also. + +2009-09-01 Ankit Jain + + * DirectoryScanner.cs (Scan): Ignore empty entries in includes and + excludes. + +2009-09-01 Ankit Jain + + * Expression.cs (ParseOptions): New enum. Replace the bool params + of exression.Parse with this. Add option to control expansion of + metadata references. + (CopyToExpressionCollection): Track api changes. + + Update all expr.Parse calls to use the new enum. + * BuildItem.cs, BuildProperty.cs, BuildTask.cs, Import.cs, + Target.cs, TargetBatchingImpl.cs, UsingTask.cs: Track api changes. + + * BatchingImplBase.cs: Track api changes. Allow metadata refs + in task attributes. + * ConditionFactorExpression.cs: Allow metadata refs in conditions. + * ItemReference.cs: Allow metadata in transforms. + * TaskEngine.cs: Allow metadata refs. + + * MetadataReference.cs (.ctor): Add a 'original string' param. + +2009-08-29 Ankit Jain + + * Expression.cs (ExpressionOptions): New. + + Introduce a ExpressionOptions argument to all ConvertTo* + methods. Implement the rule: in evaluation phase, expand + all items completely, but dont expand item refs in properties. + At other times, expand the item refs in the properties. + See comments in Expression.cs, for a full explanation. + * BuildItem.cs: Track api changes. + * BuildItemGroup.cs: Likewise. + * BuildProperty.cs: Track api changes. Handle self-references. + * BuildTask.cs: Track api changes. + * IReference.cs: Add ExpressionOptions param. + * ItemReference.cs: Track api changes. + * PropertyReference.cs: Likewise. + * MetadataReference.cs: Likewise. + * ExpressionCollection.cs: Track api changes. Add support for + converting all primitive types and DateTime, instead of a fixed + few. + * Project.cs (GetMetadataBatched): Use the evaluated metadata. + * TaskBatchingImpl.cs: Handle the case when batching is required, + but no items are available. + + * TaskEngine.cs: Throw on unsupported types. Correctly handle + properties in case of empty values. + +2009-08-26 Ankit Jain + + * Expression.cs: Correctly handle a item reference with transform + when allowItems is false. If item ref is ignored, then the transform + will get incorrectly matched as a metadata ref. + * ItemReference.cs (.ctor): Add a @original_string param. + +2009-08-26 Ankit Jain + + * Utilities.cs (UnescapeFromXml): New. From md. + * BuildProperty.cs (.ctor): Unescape xml codes from the InnerXml + of the property element. + +2009-08-26 Ankit Jain + + * BuildProperty.cs (ConvertToString): New. + (ConvertoToITaskItemArray): New. Parse the property value. + * PropertyReference.cs (ConvertToString): Use BuildProperty's + ConvertToString. + (ConvertoToITaskItemArray): Likewise. + +2009-08-21 Ankit Jain + + * Engine.cs (EndProjectBuild): Use the @succeeded argument + instead of hardcoding 'true'. + * Target.cs (Build): Add an overload to return executeOnErrors + value for the target executed. If building dependencies fails, + and executeOnErrors is true, then execute OnError tasks. + Add the new param to .. + (BuildDependencies): this, .. + (DoBuild): and this. + (GetDependencies): Improve error message and variable name. + (ExecuteOnErrors): Honor OnError tag's Condition also. + * TaskBatchingImpl.cs (Run): Correctly set executeOnErrors param. + +2009-08-20 Ankit Jain + + Fix bug #532264 + * Project.cs (Load): Add support for loading .sln files. + +2009-08-20 Ankit Jain + + * BuildTask.cs (Execute): Use task_logger only after the task + has been initialized. Catch and report task loading errors. + * Target.cs (DoBuild): Dont rethrow the exception, and emit + the stacktrace as a low importance message. + 2009-08-18 Ankit Jain * BatchingImplBase.cs: Make the item name lookups and metadata be case