From 4b522b02383233d4fa1ad69a6997dcffb7cff8f4 Mon Sep 17 00:00:00 2001 From: Mariana Dematte Date: Tue, 4 Jun 2024 19:01:03 +0200 Subject: [PATCH] Added deprecation messages (#10198) We are working on actually deprecating the projects under the deprecated folder. For now adding the deprecation message to public classes. --- .../Conversion/ProjectFileConverter.cs | 179 +++++++++ src/Deprecated/Engine/Engine/BuildTask.cs | 195 ++++++++++ src/Deprecated/Engine/Engine/Import.cs | 75 ++++ .../Engine/Engine/ImportCollection.cs | 125 ++++++ src/Deprecated/Engine/Engine/Target.cs | 150 ++++++++ .../Engine/Engine/TargetCollection.cs | 150 ++++++++ src/Deprecated/Engine/Engine/Toolset.cs | 76 ++++ .../Engine/Engine/ToolsetCollection.cs | 180 +++++++++ src/Deprecated/Engine/Engine/UsingTask.cs | 90 +++++ .../Engine/Engine/UsingTaskCollection.cs | 105 +++++ src/Deprecated/Engine/Engine/Utilities.cs | 30 ++ .../Engine/Errors/InternalLoggerException.cs | 30 ++ .../Errors/InvalidProjectFileException.cs | 255 ++++++++++++ .../InvalidToolsetDefinitionException.cs | 120 ++++++ .../Engine/Errors/RemoteErrorException.cs | 30 ++ src/Deprecated/Engine/Items/BuildItem.cs | 302 ++++++++++++++- src/Deprecated/Engine/Items/BuildItemGroup.cs | 205 ++++++++++ .../Engine/Items/BuildItemGroupCollection.cs | 88 +++++ .../Engine/LocalProvider/LocalNode.cs | 45 +++ .../Engine/Logging/ConsoleLogger.cs | 362 +++++++++++++++++- .../ConfigurableForwardingLogger.cs | 136 +++++++ .../DistributedFileLogger.cs | 143 +++++++ src/Deprecated/Engine/Logging/FileLogger.cs | 74 ++++ .../Engine/Logging/LoggerDescription.cs | 60 +++ .../Engine/Properties/BuildProperty.cs | 150 ++++++++ .../Engine/Properties/BuildPropertyGroup.cs | 255 ++++++++++++ .../BuildPropertyGroupCollection.cs | 90 +++++ .../Engine/Solution/SolutionWrapperProject.cs | 30 ++ 28 files changed, 3728 insertions(+), 2 deletions(-) diff --git a/src/Deprecated/Conversion/ProjectFileConverter.cs b/src/Deprecated/Conversion/ProjectFileConverter.cs index 5e08c084d76..1990818c5e3 100644 --- a/src/Deprecated/Conversion/ProjectFileConverter.cs +++ b/src/Deprecated/Conversion/ProjectFileConverter.cs @@ -116,9 +116,23 @@ namespace Microsoft.Build.Conversion * **************************************************************************/ /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// /// This class performs a project file format conversion from Visual Studio /// .NET 2002 or 2003 to MSBuild format (for Whidbey). /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public sealed class ProjectFileConverter { @@ -192,9 +206,24 @@ public sealed class ProjectFileConverter private Dictionary propertiesToEscape = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. We need a constructor that takes zero parameters, /// because this class needs to be instantiated from COM. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public ProjectFileConverter ( @@ -209,9 +238,24 @@ public ProjectFileConverter } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The read/write accessor for the old project filename. This must be /// set by the consumer before calling Convert(). /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public string OldProjectFile { @@ -226,9 +270,24 @@ public string OldProjectFile } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The read/write accessor for the new project filename. This must be /// set by the consumer before calling Convert(). /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public string NewProjectFile { @@ -243,12 +302,27 @@ public string NewProjectFile } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The read/write accessor for the boolean which tells the converter /// whether the project file we're converting is a "main" project file /// or a .USER file. Most of the conversion logic is identical for /// both types of files, but for example, one difference is that the /// "main" project file gets an <Import> tag inserted at the end. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public bool IsUserFile { @@ -263,10 +337,25 @@ public bool IsUserFile } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The read/write accessor for the solution file which contains this /// project being converted. This is used to look up information about the /// project-to-project references. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public string SolutionFile { @@ -281,9 +370,24 @@ public string SolutionFile } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Indicates if the last attempted conversion was skipped because the project is already in the latest format. /// This will always return false; /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK /// true, if conversion was skipped public bool ConversionSkippedBecauseProjectAlreadyConverted @@ -295,8 +399,23 @@ public bool ConversionSkippedBecauseProjectAlreadyConverted } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This property returns the list of warnings that were generated during the conversion /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// faisalmo /// true, if conversion was skipped [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays", Justification = "Public interface that has shipped previously. ")] @@ -309,9 +428,24 @@ public string[] ConversionWarnings } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Is the conversion a minor upgrade operation? /// Minor upgrade also means the converted project file can be opened in old VS as well, so we won't update the tools version. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool IsMinorUpgrade { get @@ -326,11 +460,26 @@ public bool IsMinorUpgrade } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This is the entry point method, which performs the project file format /// conversion. This method will overwrite "newProjectFile" if it already /// exists, so the caller of this method should confirm with the user /// that that's what he really wants to do. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public void Convert() { @@ -914,12 +1063,27 @@ private bool FixTargetFrameworkSubset() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Performs conversions specific to F# projects (VS2008 CTP -> VS2012) and (VS2010 -> VS2012). /// This involves: changing the location of FSharp targets, /// and for 2008CTP, adding explicit mscorlib and FSharp.Core references. /// /// if true, make the changes, otherwise, don't actually make any changes, but do report the return boolean as to whether you would make changes /// true if anything was (would be) changed, false otherwise + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool FSharpSpecificConversions(bool actuallyMakeChanges) { // For FSharp projects, should import different location of FSharp targets @@ -1350,10 +1514,25 @@ private bool VBSpecificConversions() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This is the entry point method, which performs the project file format /// conversion. This method will simply create a new MSBuild Project object /// in memory, instead of trying to write it to disk. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public ProjectRootElement ConvertInMemory() { ConvertInMemoryToMSBuildProject(); diff --git a/src/Deprecated/Engine/Engine/BuildTask.cs b/src/Deprecated/Engine/Engine/BuildTask.cs index 876aea82f2e..4901dbab37b 100644 --- a/src/Deprecated/Engine/Engine/BuildTask.cs +++ b/src/Deprecated/Engine/Engine/BuildTask.cs @@ -17,8 +17,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a single task. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public class BuildTask { @@ -128,8 +143,23 @@ internal XmlElement TaskXmlElement } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the task's "name" element. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Name { @@ -140,8 +170,23 @@ public string Name } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the task's "condition". /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Condition { @@ -169,8 +214,23 @@ public string Condition } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the task's "ContinueOnError". /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool ContinueOnError { @@ -223,9 +283,24 @@ public bool ContinueOnError } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// System.Type object corresponding to the task class that implements /// the functionality that runs this task object. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public Type Type { @@ -260,8 +335,23 @@ public Type Type } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the "host object" for this task. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public ITaskHost HostObject { @@ -299,6 +389,11 @@ internal Target ParentTarget #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This retrieves the list of all parameter names from the element /// node of this task. Note that it excludes anything that a specific /// property is exposed for or that isn't valid here (Name, Condition, @@ -309,6 +404,16 @@ internal Target ParentTarget /// much simpler. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public string[] GetParameterNames() { @@ -332,11 +437,26 @@ public string[] GetParameterNames() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This retrieves an arbitrary attribute from the task element. These /// are attributes that the project author has placed on the task element /// that have no meaning to MSBuild other than that they get passed to the /// task itself as arguments. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string GetParameterValue ( @@ -357,6 +477,11 @@ string attributeName } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This sets an arbitrary attribute on the task element. These /// are attributes that the project author has placed on the task element /// that get passed in to the task. @@ -366,6 +491,16 @@ string attributeName /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void SetParameterValue ( @@ -378,10 +513,25 @@ bool treatParameterValueAsLiteral } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This sets an arbitrary attribute on the task element. These /// are attributes that the project author has placed on the task element /// that get passed in to the task. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void SetParameterValue ( @@ -409,10 +559,25 @@ string parameterValue } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds an Output tag to this task element /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void AddOutputItem(string taskParameter, string itemName) { @@ -449,10 +614,25 @@ internal void AddOutputItem(string taskParameter, string itemName, string condit } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds an Output tag to this task element /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void AddOutputProperty(string taskParameter, string propertyName) { @@ -473,8 +653,23 @@ public void AddOutputProperty(string taskParameter, string propertyName) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Runs the task associated with this object. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool Execute ( diff --git a/src/Deprecated/Engine/Engine/Import.cs b/src/Deprecated/Engine/Engine/Import.cs index bad3fb3d99d..e51e7d5c55b 100644 --- a/src/Deprecated/Engine/Engine/Import.cs +++ b/src/Deprecated/Engine/Engine/Import.cs @@ -12,8 +12,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a single Import element in a project file /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public class Import : IItemPropertyGrouping { @@ -43,8 +58,23 @@ internal XmlElement ImportElement private bool importedFromAnotherProject; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns true if this Import came from an imported project /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public bool IsImported { @@ -54,8 +84,23 @@ public bool IsImported private XmlAttribute projectPathAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the original import path from the Import element /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string ProjectPath { @@ -82,8 +127,23 @@ internal XmlAttribute ProjectPathAttribute private string evaluatedProjectPath = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the full evaluated import path /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string EvaluatedProjectPath { @@ -93,8 +153,23 @@ public string EvaluatedProjectPath private XmlAttribute conditionAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The condition string for this UsingTask /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string Condition { diff --git a/src/Deprecated/Engine/Engine/ImportCollection.cs b/src/Deprecated/Engine/Engine/ImportCollection.cs index 21957a6cbfe..0b724418cad 100644 --- a/src/Deprecated/Engine/Engine/ImportCollection.cs +++ b/src/Deprecated/Engine/Engine/ImportCollection.cs @@ -14,8 +14,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of all Import elements in a given project file /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public class ImportCollection : IEnumerable, ICollection { @@ -48,9 +63,24 @@ internal ImportCollection(Project parentProject) #region IEnumerable Members /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// IEnumerable member method for returning the enumerator /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public IEnumerator GetEnumerator() { @@ -63,10 +93,25 @@ public IEnumerator GetEnumerator() #region ICollection Members /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member method for copying the contents of this collection into an array /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void CopyTo(Array array, int index) { @@ -75,8 +120,23 @@ public void CopyTo(Array array, int index) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for returning the number of items in this collection /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public int Count { @@ -88,8 +148,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for determining whether this collection is thread-safe /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public bool IsSynchronized { @@ -101,8 +176,23 @@ public bool IsSynchronized } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for returning this collection's synchronization object /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public object SyncRoot { @@ -155,10 +245,25 @@ internal Import this[string index] } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Copy the contents of this collection into a strongly typed array /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void CopyTo(Import[] array, int index) { @@ -171,6 +276,16 @@ public void CopyTo(Import[] array, int index) /// /// Project file to add the import to /// Condition. If null, no condition is added. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void AddNewImport(string projectFile, string condition) { ErrorUtilities.VerifyThrowArgumentLength(projectFile, nameof(projectFile)); @@ -194,6 +309,16 @@ public void AddNewImport(string projectFile, string condition) /// from the project's XML. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// JeffCal public void RemoveImport ( diff --git a/src/Deprecated/Engine/Engine/Target.cs b/src/Deprecated/Engine/Engine/Target.cs index 45612ae14d7..ed6334ecee4 100644 --- a/src/Deprecated/Engine/Engine/Target.cs +++ b/src/Deprecated/Engine/Engine/Target.cs @@ -19,8 +19,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a single target in its parent project. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [DebuggerDisplay("Target (Name = { Name }, Condition = { Condition })")] public class Target : IEnumerable { @@ -274,9 +289,24 @@ internal int Id } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the target's name as specified in the "Name" attribute. The value of this attribute is never evaluated. /// /// The target name string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Name { get @@ -286,10 +316,25 @@ public string Name } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the target's unevaluated "DependsOnTargets" string. /// Returns unevaluated. /// /// The raw "DependsOnTargets" string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string DependsOnTargets { get @@ -304,10 +349,25 @@ public string DependsOnTargets } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the target's unevaluated "Inputs" string. /// Returns unevaluated. /// /// The raw "Inputs" string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Inputs { get @@ -322,10 +382,25 @@ public string Inputs } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the target's unevaluated "Outputs" string. /// Returns unevaluated. /// /// The raw "Outputs" string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Outputs { get @@ -340,10 +415,25 @@ public string Outputs } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the item's "condition". Returned unevaluated. /// /// Condition string. /// The raw condition string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Condition { get @@ -472,11 +562,26 @@ internal List GetBatchableTargetParameters() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This returns a boolean telling you whether this particular target /// was imported from another project, or whether it was defined /// in the main project. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool IsImported { get @@ -506,10 +611,25 @@ internal TargetExecutionWrapper ExecutionState #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Allows the caller to use a foreach loop to enumerate through the individual /// BuildTask objects contained within this Target. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEnumerator GetEnumerator ( ) @@ -763,10 +883,25 @@ string attributeValue } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds a task with the specified name to the end of this target. This method /// does all of the work to manipulate the project's XML content. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildTask AddNewTask ( string taskName @@ -792,11 +927,26 @@ string taskName } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes the specified BuildTask from the target. This method correctly updates /// the project's XML content, so the task will no longer show up when the project /// is saved out. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void RemoveTask ( BuildTask taskElement diff --git a/src/Deprecated/Engine/Engine/TargetCollection.cs b/src/Deprecated/Engine/Engine/TargetCollection.cs index a10b4ee96a5..fa101c9c3c4 100644 --- a/src/Deprecated/Engine/Engine/TargetCollection.cs +++ b/src/Deprecated/Engine/Engine/TargetCollection.cs @@ -16,10 +16,25 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of persisted <Target>'s. Each /// MSBuild project has exactly one TargetCollection, which includes /// all the imported Targets as well as the ones in the main project file. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public class TargetCollection : IEnumerable, ICollection { @@ -66,9 +81,24 @@ internal Project ParentProject } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Read-only property which returns the number of Targets contained /// in our collection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public int Count { @@ -81,8 +111,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property tells whether this object is thread-safe. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool IsSynchronized { @@ -93,9 +138,24 @@ public bool IsSynchronized } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property returns the object to be used to synchronize /// access to the class. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public object SyncRoot { @@ -106,11 +166,26 @@ public object SyncRoot } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the target with the given name, case-insensitively. /// Note that this also defines the .BuildItem() accessor automagically. /// /// RGoel /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// The target with the given name. public Target this[string index] { @@ -127,9 +202,24 @@ public Target this[string index] #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection method copies the contents of this collection to an /// array. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void CopyTo ( @@ -143,10 +233,25 @@ int index } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This IEnumerable method returns an IEnumerator object, which allows /// the caller to enumerate through the Target objects contained in /// this TargetCollection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public IEnumerator GetEnumerator ( @@ -174,9 +279,24 @@ internal void AddOverrideTarget(Target newTarget) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds a new <Target> element to the project file, at the very end. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// The new Target object. public Target AddNewTarget ( @@ -205,10 +325,25 @@ string targetName } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes a target from the project, and removes the corresponding <Target> element /// from the project's XML. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void RemoveTarget ( @@ -247,10 +382,25 @@ Target targetToRemove } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Checks if a target with given name already exists /// /// name of the target we're looking for /// true if the target already exists + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool Exists ( string targetName diff --git a/src/Deprecated/Engine/Engine/Toolset.cs b/src/Deprecated/Engine/Engine/Toolset.cs index e67724efe90..6cd7b37a330 100644 --- a/src/Deprecated/Engine/Engine/Toolset.cs +++ b/src/Deprecated/Engine/Engine/Toolset.cs @@ -12,8 +12,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Aggregation of a toolset version (eg. "2.0"), tools path, and optional set of associated properties /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class Toolset { // Name of the tools version @@ -30,6 +45,17 @@ public class Toolset /// /// Name of the toolset /// Path to this toolset's tasks and targets + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public Toolset(string toolsVersion, string toolsPath) : this(toolsVersion, toolsPath, null) { @@ -42,6 +68,16 @@ public Toolset(string toolsVersion, string toolsPath) /// Path to this toolset's tasks and targets /// Properties that should be associated with the Toolset. /// May be null, in which case an empty property group will be used. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public Toolset(string toolsVersion, string toolsPath, BuildPropertyGroup buildProperties) { ErrorUtilities.VerifyThrowArgumentLength(toolsVersion, nameof(toolsVersion)); @@ -60,6 +96,16 @@ public Toolset(string toolsVersion, string toolsPath, BuildPropertyGroup buildPr /// /// Name of this toolset /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ToolsVersion { get @@ -71,6 +117,16 @@ public string ToolsVersion /// /// Path to this toolset's tasks and targets. Corresponds to $(MSBuildToolsPath) in a project or targets file. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ToolsPath { get @@ -104,6 +160,16 @@ private set /// /// Properties associated with the toolset /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildPropertyGroup BuildProperties { get @@ -115,6 +181,16 @@ public BuildPropertyGroup BuildProperties /// /// Make a deep copy of the Toolset /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public Toolset Clone() { // Can't use BuildPropertyGroupProxy as it's not a BuildPropertyGroup, diff --git a/src/Deprecated/Engine/Engine/ToolsetCollection.cs b/src/Deprecated/Engine/Engine/ToolsetCollection.cs index e5e85a280cb..57769b2776b 100644 --- a/src/Deprecated/Engine/Engine/ToolsetCollection.cs +++ b/src/Deprecated/Engine/Engine/ToolsetCollection.cs @@ -13,12 +13,27 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Implementation of ICollection<Toolset> that also supports /// key-based retrieval by passing the string value of the tools version /// corresponding with the desired Toolset. /// NOTE: This collection does not support ICollection<Toolset>'s /// Remove or Clear methods, and calls to these will generate exceptions. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class ToolsetCollection : ICollection { // the parent engine @@ -50,8 +65,23 @@ internal ToolsetCollection(Engine parentEngine) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The names of the toolsets stored in this collection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEnumerable ToolsVersions { get @@ -61,10 +91,25 @@ public IEnumerable ToolsVersions } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the Toolset with matching toolsVersion. /// /// /// Toolset with matching toolsVersion, or null if none exists. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public Toolset this[string toolsVersion] { get @@ -82,11 +127,26 @@ public Toolset this[string toolsVersion] } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Determines whether the collection contains a Toolset with matching /// tools version. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool Contains(string toolsVersion) { return toolsetMap.ContainsKey(toolsVersion); @@ -106,8 +166,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Always returns false /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool IsReadOnly { get @@ -117,11 +192,26 @@ public bool IsReadOnly } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds the given Toolset to this collection, replacing any previous value /// with the same tools version. Also notifies the parent Engine of the /// change. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Add(Toolset item) { ErrorUtilities.VerifyThrowArgumentNull(item, nameof(item)); @@ -141,57 +231,147 @@ public void Add(Toolset item) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This method is not supported. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Clear() { throw new NotSupportedException(); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Determines whether or not this collection contains the given toolset. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool Contains(Toolset item) { return toolsetMap.ContainsValue(item); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Copies the contents of this collection to the given array, beginning /// at the given index. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void CopyTo(Toolset[] array, int arrayIndex) { toolsetMap.Values.CopyTo(array, arrayIndex); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Generic enumerator for the Toolsets in this collection. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEnumerator GetEnumerator() { return this.toolsetMap.Values.GetEnumerator(); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Non-generic enumerator for the Toolsets in this collection. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This method is not supported. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool Remove(Toolset item) { throw new NotSupportedException(); diff --git a/src/Deprecated/Engine/Engine/UsingTask.cs b/src/Deprecated/Engine/Engine/UsingTask.cs index 1d51301bf7d..ae384542520 100644 --- a/src/Deprecated/Engine/Engine/UsingTask.cs +++ b/src/Deprecated/Engine/Engine/UsingTask.cs @@ -13,8 +13,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a single UsingTask element in a project file /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public class UsingTask { @@ -23,8 +38,23 @@ public class UsingTask private bool importedFromAnotherProject; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns true if this UsingTask was imported from another project /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public bool IsImported { @@ -34,8 +64,23 @@ public bool IsImported private XmlAttribute taskNameAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The task name /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string TaskName { @@ -53,8 +98,23 @@ internal XmlAttribute TaskNameAttribute private XmlAttribute assemblyNameAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The name of the assembly containing the task /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string AssemblyName { @@ -72,8 +132,23 @@ internal XmlAttribute AssemblyNameAttribute private XmlAttribute assemblyFileAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The assembly file containing the task /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string AssemblyFile { @@ -91,8 +166,23 @@ internal XmlAttribute AssemblyFileAttribute private XmlAttribute conditionAttribute = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The condition string for this UsingTask /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public string Condition { diff --git a/src/Deprecated/Engine/Engine/UsingTaskCollection.cs b/src/Deprecated/Engine/Engine/UsingTaskCollection.cs index 192f47830bc..feee5b19458 100644 --- a/src/Deprecated/Engine/Engine/UsingTaskCollection.cs +++ b/src/Deprecated/Engine/Engine/UsingTaskCollection.cs @@ -13,8 +13,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of all UsingTask elements in a given project file. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public class UsingTaskCollection : IEnumerable, ICollection { @@ -40,9 +55,24 @@ internal UsingTaskCollection() #region IEnumerable Members /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// IEnumerable member method for returning the enumerator /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public IEnumerator GetEnumerator() { @@ -55,10 +85,25 @@ public IEnumerator GetEnumerator() #region ICollection Members /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member method for copying the contents of this collection into an array /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void CopyTo(Array array, int index) { @@ -67,8 +112,23 @@ public void CopyTo(Array array, int index) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for returning the number of items in this collection /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public int Count { @@ -80,8 +140,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for determining whether this collection is thread-safe /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public bool IsSynchronized { @@ -93,8 +168,23 @@ public bool IsSynchronized } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ICollection member property for returning this collection's synchronization object /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public object SyncRoot { @@ -146,10 +236,25 @@ internal UsingTask this[int index] } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Copy the contents of this collection into a strongly typed array /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG public void CopyTo(UsingTask[] array, int index) { diff --git a/src/Deprecated/Engine/Engine/Utilities.cs b/src/Deprecated/Engine/Engine/Utilities.cs index a88f594fef9..71593148804 100644 --- a/src/Deprecated/Engine/Engine/Utilities.cs +++ b/src/Deprecated/Engine/Engine/Utilities.cs @@ -18,8 +18,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class contains utility methods for the MSBuild engine. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public static class Utilities { @@ -521,11 +536,26 @@ internal static string RemoveXmlNamespace(string xml) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Escapes given string, that is replaces special characters with escape sequences that allow MSBuild hosts /// to treat MSBuild-interpreted characters literally (';' becomes "%3b" and so on). /// /// string to escape /// escaped string + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public static string Escape(string unescapedExpression) { return EscapingUtilities.Escape(unescapedExpression); diff --git a/src/Deprecated/Engine/Errors/InternalLoggerException.cs b/src/Deprecated/Engine/Errors/InternalLoggerException.cs index a0d44e8eebe..a8b941e0975 100644 --- a/src/Deprecated/Engine/Errors/InternalLoggerException.cs +++ b/src/Deprecated/Engine/Errors/InternalLoggerException.cs @@ -15,9 +15,24 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This exception is used to wrap an unhandled exception from a logger. This exception aborts the build, and it can only be /// thrown by the MSBuild engine. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK // WARNING: marking a type [Serializable] without implementing ISerializable imposes a serialization contract -- it is a // promise to never change the type's fields i.e. the type is immutable; adding new fields in the next version of the type @@ -124,11 +139,26 @@ private InternalLoggerException(SerializationInfo info, StreamingContext context } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ISerializable method which we must override since Exception implements this interface /// If we ever add new members to this class, we'll need to update this. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { diff --git a/src/Deprecated/Engine/Errors/InvalidProjectFileException.cs b/src/Deprecated/Engine/Errors/InvalidProjectFileException.cs index f62d0a4f61d..8d329e3076c 100644 --- a/src/Deprecated/Engine/Errors/InvalidProjectFileException.cs +++ b/src/Deprecated/Engine/Errors/InvalidProjectFileException.cs @@ -15,9 +15,24 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This exception is thrown whenever there is a problem with the user's XML project file. The problem might be semantic or /// syntactical. The latter would be of a type typically caught by XSD validation (if it was performed by the project writer). /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel // WARNING: marking a type [Serializable] without implementing ISerializable imposes a serialization contract -- it is a // promise to never change the type's fields i.e. the type is immutable; adding new fields in the next version of the type @@ -29,12 +44,27 @@ public sealed class InvalidProjectFileException : Exception #region Basic constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. /// /// /// This constructor only exists to satisfy .NET coding guidelines. Use a rich constructor whenever possible. /// /// RGoel + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidProjectFileException() : base() { @@ -42,6 +72,11 @@ public InvalidProjectFileException() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates an instance of this exception using the specified error message. /// /// @@ -49,6 +84,16 @@ public InvalidProjectFileException() /// /// SumedhK /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidProjectFileException(string message) : base(message) { @@ -56,6 +101,11 @@ public InvalidProjectFileException(string message) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates an instance of this exception using the specified error message and inner exception. /// /// SumedhK @@ -64,6 +114,16 @@ public InvalidProjectFileException(string message) /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidProjectFileException(string message, Exception innerException) : base(message, innerException) { @@ -95,11 +155,26 @@ private InvalidProjectFileException(SerializationInfo info, StreamingContext con } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ISerializable method which we must override since Exception implements this interface /// If we ever add new members to this class, we'll need to update this. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { @@ -121,6 +196,11 @@ public override void GetObjectData(SerializationInfo info, StreamingContext cont #region Rich constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates an instance of this exception using rich error information. /// /// This constructor is preferred over the basic constructors. @@ -130,6 +210,16 @@ public override void GetObjectData(SerializationInfo info, StreamingContext cont /// Error sub-category that describes the error (can be null). /// The error code (can be null). /// The F1-help keyword for the host IDE (can be null). + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidProjectFileException ( XmlNode xmlNode, @@ -154,6 +244,11 @@ string helpKeyword } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates an instance of this exception using rich error information. /// /// This constructor is preferred over the basic constructors. @@ -167,6 +262,16 @@ string helpKeyword /// Error sub-category that describes the error (can be null). /// The error code (can be null). /// The F1-help keyword for the host IDE (can be null). + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidProjectFileException ( string projectFile, @@ -199,10 +304,25 @@ string helpKeyword #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the exception message including the affected project file (if any). /// /// SumedhK /// The complete message string. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public override string Message { get @@ -214,10 +334,25 @@ public override string Message } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the exception message not including the project file. /// /// SumedhK /// The error message string only. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string BaseMessage { get @@ -227,10 +362,25 @@ public string BaseMessage } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the project file (if any) associated with this exception. /// /// SumedhK /// Project filename/path string, or null. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ProjectFile { get @@ -240,10 +390,25 @@ public string ProjectFile } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the invalid line number (if any) in the project. /// /// SumedhK /// The invalid line number, or zero. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int LineNumber { get @@ -253,10 +418,25 @@ public int LineNumber } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the invalid column number (if any) in the project. /// /// SumedhK /// The invalid column number, or zero. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int ColumnNumber { get @@ -266,10 +446,25 @@ public int ColumnNumber } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the last line number (if any) of a range of invalid lines in the project. /// /// SumedhK /// The last invalid line number, or zero. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int EndLineNumber { get @@ -279,10 +474,25 @@ public int EndLineNumber } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the last column number (if any) of a range of invalid columns in the project. /// /// SumedhK /// The last invalid column number, or zero. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int EndColumnNumber { get @@ -292,10 +502,25 @@ public int EndColumnNumber } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the error sub-category (if any) that describes the type of this error. /// /// SumedhK /// The sub-category string, or null. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ErrorSubcategory { get @@ -305,10 +530,25 @@ public string ErrorSubcategory } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the error code (if any) associated with the exception message. /// /// SumedhK /// Error code string, or null. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ErrorCode { get @@ -318,10 +558,25 @@ public string ErrorCode } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the F1-help keyword (if any) associated with this error, for the host IDE. /// /// SumedhK /// The keyword string, or null. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string HelpKeyword { get diff --git a/src/Deprecated/Engine/Errors/InvalidToolsetDefinitionException.cs b/src/Deprecated/Engine/Errors/InvalidToolsetDefinitionException.cs index 492a829536a..349ff2bb620 100644 --- a/src/Deprecated/Engine/Errors/InvalidToolsetDefinitionException.cs +++ b/src/Deprecated/Engine/Errors/InvalidToolsetDefinitionException.cs @@ -14,8 +14,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Exception subclass that ToolsetReaders should throw. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [Serializable] public class InvalidToolsetDefinitionException : Exception { @@ -25,27 +40,72 @@ public class InvalidToolsetDefinitionException : Exception private string errorCode = null; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Basic constructor. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidToolsetDefinitionException() : base() { } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Basic constructor. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidToolsetDefinitionException(string message) : base(message) { } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Basic constructor. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidToolsetDefinitionException(string message, Exception innerException) : base(message, innerException) { @@ -65,10 +125,25 @@ protected InvalidToolsetDefinitionException(SerializationInfo info, StreamingCon } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Constructor that takes an MSBuild error code /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidToolsetDefinitionException(string message, string errorCode) : base(message) { @@ -76,11 +151,26 @@ public InvalidToolsetDefinitionException(string message, string errorCode) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Constructor that takes an MSBuild error code /// /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public InvalidToolsetDefinitionException(string message, string errorCode, Exception innerException) : base(message, innerException) { @@ -88,11 +178,26 @@ public InvalidToolsetDefinitionException(string message, string errorCode, Excep } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ISerializable method which we must override since Exception implements this interface /// If we ever add new members to this class, we'll need to update this. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { @@ -104,9 +209,24 @@ public override void GetObjectData(SerializationInfo info, StreamingContext cont } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The MSBuild error code corresponding with this exception, or /// null if none was specified. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string ErrorCode { get diff --git a/src/Deprecated/Engine/Errors/RemoteErrorException.cs b/src/Deprecated/Engine/Errors/RemoteErrorException.cs index a8d62fd2b3e..94e7adf41c3 100644 --- a/src/Deprecated/Engine/Errors/RemoteErrorException.cs +++ b/src/Deprecated/Engine/Errors/RemoteErrorException.cs @@ -15,8 +15,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class is used to wrap exceptions that occur on a different node /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [Serializable] public sealed class RemoteErrorException : Exception { @@ -44,11 +59,26 @@ private RemoteErrorException(SerializationInfo info, StreamingContext context) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// ISerializable method which we must override since Exception implements this interface /// If we ever add new members to this class, we'll need to update this. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { diff --git a/src/Deprecated/Engine/Items/BuildItem.cs b/src/Deprecated/Engine/Items/BuildItem.cs index 338456d3812..69e73737084 100644 --- a/src/Deprecated/Engine/Items/BuildItem.cs +++ b/src/Deprecated/Engine/Items/BuildItem.cs @@ -19,11 +19,26 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a single item of the project. An item is usually a file on disk, with a type associated with it, and /// its own item-specific attributes. The list of items is initially specified via XML tags in the project file, although a /// single item tag can represent multiple items through the use of standard wilcards * and ?. Also, tasks can add new items /// of various types to the project's item list -- these items don't have any XML representation. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel [DebuggerDisplay("BuildItem (Name = { Name }, Include = { Include }, FinalItemSpec = { FinalItemSpec }, Condition = { Condition } )")] public class BuildItem @@ -462,9 +477,24 @@ private void BuildItemHelper(XmlDocument ownerDocument, string itemName, string } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This constructor creates a new virtual (non-persisted) item with the /// specified type and include. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem(string itemName, string itemInclude) : this(null /* no XML */, itemName, itemInclude, null /* no item definition library */) { @@ -497,9 +527,24 @@ internal BuildItem(XmlElement itemElement, bool importedFromAnotherProject, bool } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This constructor creates a new virtual (non-persisted) item based /// on a ITaskItem object that was emitted by a task. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem(string itemName, ITaskItem taskItem) { ErrorUtilities.VerifyThrowArgumentNull(taskItem, nameof(taskItem)); @@ -537,17 +582,37 @@ public BuildItem(string itemName, ITaskItem taskItem) #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This returns a boolean telling you whether this particular item /// was imported from another project, or whether it was defined /// in the main project. For virtual items which have no /// persistence, this is false. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool IsImported { get { return importedFromAnotherProject; } } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the item's "type" string. Note that changing the "Type" /// of an BuildItem requires the whole project to be re-evalauted. This is because /// items are frequently stored in hash tables based on their item types, @@ -555,6 +620,16 @@ public bool IsImported /// implementation the caller who changes the item type is responsible /// for calling Project.MarkAsDirty(). /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Name { get @@ -613,8 +688,24 @@ internal ItemDefinitionLibrary ItemDefinitionLibrary set { itemDefinitionLibrary = value; } } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the item's "include" string. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Include { @@ -674,8 +765,23 @@ public string Include } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the names of metadata on the item -- also includes the pre-defined/reserved item-spec modifiers. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK, JomoF /// Collection of name strings. public ICollection MetadataNames @@ -693,8 +799,23 @@ public ICollection MetadataNames } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the number of metadata set on the item. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK /// Count of metadata. public int MetadataCount @@ -706,8 +827,23 @@ public int MetadataCount } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the names of metadata on the item -- also includes the pre-defined/reserved item-spec modifiers. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK, JomoF /// Collection of name strings. public ICollection CustomMetadataNames @@ -720,8 +856,23 @@ public ICollection CustomMetadataNames } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the number of metadata set on the item. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// SumedhK /// Count of metadata. public int CustomMetadataCount @@ -742,8 +893,23 @@ internal XmlAttribute IncludeAttribute } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the item's "exclude" string. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Exclude { @@ -773,8 +939,23 @@ internal XmlAttribute ExcludeAttribute } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the item's "condition". /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Condition { @@ -1197,9 +1378,23 @@ BuildEventContext buildEventContext } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Indicates if the given metadata is set on the item. /// - /// BuildItem-spec modifiers are treated as metadata. + /// BuildItem-spec modifiers are treated as metadata. + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool HasMetadata(string metadataName) { ErrorUtilities.VerifyThrowArgumentLength(metadataName, nameof(metadataName)); @@ -1234,6 +1429,11 @@ public bool HasMetadata(string metadataName) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Retrieves an arbitrary unevaluated metadata value from the item element. These are pieces of metadata that the project author has /// placed on the item element that have no meaning to MSBuild. They are just arbitrary metadata that travel around with /// the BuildItem wherever it goes. @@ -1241,6 +1441,16 @@ public bool HasMetadata(string metadataName) /// The name of the metadata to retrieve. /// The value of the requested metadata. /// Thrown when the requested metadata is not applicable to the item. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string GetMetadata(string metadataName) { string metadataValue; @@ -1272,6 +1482,11 @@ public string GetMetadata(string metadataName) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Retrieves an arbitrary metadata from the item element, expands any property and item references within it, and /// unescapes it. /// @@ -1279,6 +1494,16 @@ public string GetMetadata(string metadataName) /// The name of the attribute to retrieve. /// The evaluated value of the requested attribute. /// Thrown when the requested attribute is not applicable to the item. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string GetEvaluatedMetadata(string metadataName) { return EscapingUtilities.UnescapeAll(this.GetEvaluatedMetadataEscaped(metadataName)); @@ -1368,9 +1593,24 @@ internal int GetCustomMetadataCount() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Copies all custom attributes to given item. /// /// BuildItem to copy custom attributes to + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void CopyCustomMetadataTo(BuildItem destinationItem) { ErrorUtilities.VerifyThrowArgumentNull(destinationItem, nameof(destinationItem)); @@ -1501,10 +1741,25 @@ private IDictionary MergeDefaultMetadata(IDictionary customMetadata) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Sets custom metadata on this item, with the option of treating the metadata value /// literally, meaning that special sharacters will be escaped. /// Does not backup metadata before making changes. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void SetMetadata(string metadataName, string metadataValue, bool treatMetadataValueAsLiteral) { SetMetadata(metadataName, treatMetadataValueAsLiteral ? EscapingUtilities.Escape(metadataValue) : metadataValue); @@ -1570,10 +1825,25 @@ internal void RevertToPersistedMetadata() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Sets an arbitrary metadata on the item element. These are metadata that the project author has placed on the item /// element that have no meaning to MSBuild. They are just arbitrary metadata that travel around with the BuildItem. /// Does not backup metadata before making changes. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void SetMetadata(string metadataName, string metadataValue) { MustNotBeImported(); @@ -1602,9 +1872,24 @@ public void SetMetadata(string metadataName, string metadataValue) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes the specified metadata on the item. /// /// Removal of well-known metadata is not allowed. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void RemoveMetadata(string metadataName) { ErrorUtilities.VerifyThrowArgument(!FileUtilities.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); @@ -1867,11 +2152,26 @@ internal void SplitChildItemIfNecessary() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This creates a shallow clone of the BuildItem. If this is an xml-backed item, /// then the clone references the same XML element as the original, meaning /// that modifications to the clone will affect the original. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public BuildItem Clone() { diff --git a/src/Deprecated/Engine/Items/BuildItemGroup.cs b/src/Deprecated/Engine/Items/BuildItemGroup.cs index c3e6cb2d3c0..a6636fc7580 100644 --- a/src/Deprecated/Engine/Items/BuildItemGroup.cs +++ b/src/Deprecated/Engine/Items/BuildItemGroup.cs @@ -16,10 +16,25 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of items. It may be represented /// physically by an <ItemGroup> element persisted in the project file, /// or it may just be a virtual BuildItemGroup (e.g., the evaluated items). /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [DebuggerDisplay("BuildItemGroup (Count = { Count }, Condition = { Condition })")] public class BuildItemGroup : IItemPropertyGrouping, IEnumerable { @@ -56,8 +71,23 @@ public class BuildItemGroup : IItemPropertyGrouping, IEnumerable #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor, which initializes a virtual (non-persisted) BuildItemGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItemGroup() { this.items = new List(); @@ -102,19 +132,49 @@ internal BuildItemGroup(XmlDocument ownerDocument, bool importedFromAnotherProje #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This returns a boolean telling you whether this particular item /// group was imported from another project, or whether it was defined /// in the main project. For virtual item groups which have no /// persistence, this is false. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool IsImported { get { return importedFromAnotherProject; } } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the condition on the item group. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Condition { get @@ -157,16 +217,46 @@ internal void ClearParentProject() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Number of items in this group. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int Count { get { return items.Count; } } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets the item at the specified index. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem this[int index] { get { return items[index]; } @@ -202,19 +292,49 @@ internal XmlElement ParentElement #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Copies the items in this group into a new array. /// NOTE: the copies are NOT clones i.e. only the references are copied /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem[] ToArray() { return items.ToArray(); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This IEnumerable method returns an IEnumerator object, which allows /// the caller to enumerate through the BuildItem objects contained in /// this BuildItemGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEnumerator GetEnumerator() { return items.GetEnumerator(); @@ -439,10 +559,25 @@ internal void AddItem(BuildItem itemToAdd) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates a new BuildItem defined by the given "Type" and "Include", and /// adds it to the end of this BuildItemGroup. /// If the group is persisted, the item is persisted; otherwise it is virtual /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem AddNewItem(string itemName, string itemInclude) { BuildItem newItem; @@ -463,9 +598,24 @@ public BuildItem AddNewItem(string itemName, string itemInclude) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds a new item to the ItemGroup, optional treating the item Include as literal so that /// any special characters will be escaped before persisting it. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItem AddNewItem(string itemName, string itemInclude, bool treatItemIncludeAsLiteral) { return AddNewItem(itemName, treatItemIncludeAsLiteral ? EscapingUtilities.Escape(itemInclude) : itemInclude); @@ -499,6 +649,16 @@ internal void RemoveItemWithBackup(BuildItem itemToRemove) /// Removes the given BuildItem from this BuildItemGroup. /// If item is not in this group, does nothing. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void RemoveItem(BuildItem itemToRemove) { MustBeInitialized(); @@ -508,9 +668,24 @@ public void RemoveItem(BuildItem itemToRemove) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes the item at the specified index. /// /// If index is out of bounds + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void RemoveItemAt(int index) { MustBeInitialized(); @@ -537,12 +712,27 @@ private void RemoveItemElement(BuildItem item) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Clones the BuildItemGroup. A shallow clone here is one that references /// the same BuildItem objects as the original, whereas a deep clone actually /// clones the BuildItem objects as well. If this is a persisted BuildItemGroup, /// only deep clones are allowed, because you can't have the same XML /// element belonging to two parents. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildItemGroup Clone(bool deepClone) { BuildItemGroup clone; @@ -590,9 +780,24 @@ internal BuildItemGroup ShallowClone() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes all Items from this BuildItemGroup, and also deletes the Condition /// and Name. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Clear() { MustBeInitialized(); diff --git a/src/Deprecated/Engine/Items/BuildItemGroupCollection.cs b/src/Deprecated/Engine/Items/BuildItemGroupCollection.cs index 481b6a9e178..f8bb79c6360 100644 --- a/src/Deprecated/Engine/Items/BuildItemGroupCollection.cs +++ b/src/Deprecated/Engine/Items/BuildItemGroupCollection.cs @@ -13,6 +13,11 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of persisted <ItemGroup>'s. Each /// MSBuild project has exactly one BuildItemGroupCollection, which includes /// all the imported ItemGroups as well as the ones in the main project file. @@ -21,6 +26,16 @@ namespace Microsoft.Build.BuildEngine /// calls into the GroupingCollection within the Project to do it's work. It /// doesn't maintain any BuildPropertyGroup state on its own. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// DavidLe public class BuildItemGroupCollection : IEnumerable, ICollection { @@ -63,10 +78,23 @@ GroupingCollection groupingCollection #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Read-only property which returns the number of ItemGroups contained /// in our collection. /// /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> /// /// DavidLe public int Count @@ -78,8 +106,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property tells whether this object is thread-safe. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// DavidLe public bool IsSynchronized { @@ -90,9 +133,24 @@ public bool IsSynchronized } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property returns the object to be used to synchronize /// access to the class. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// DavidLe public object SyncRoot { @@ -141,12 +199,27 @@ internal BuildItemGroup LastLocalItemGroup #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection method copies the contents of this collection to an /// array. /// /// DavidLe /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void CopyTo ( Array array, @@ -157,10 +230,25 @@ int index } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This IEnumerable method returns an IEnumerator object, which allows /// the caller to enumerate through the BuildItemGroup objects contained in /// this BuildItemGroupCollection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// DavidLe public IEnumerator GetEnumerator ( diff --git a/src/Deprecated/Engine/LocalProvider/LocalNode.cs b/src/Deprecated/Engine/LocalProvider/LocalNode.cs index ebf9109bf72..242e4c3f095 100644 --- a/src/Deprecated/Engine/LocalProvider/LocalNode.cs +++ b/src/Deprecated/Engine/LocalProvider/LocalNode.cs @@ -16,16 +16,46 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class hosts a node class in the child process. It uses shared memory to communicate /// with the local node provider. /// Wraps a Node. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class LocalNode { #region Static Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Hook up an unhandled exception handler, in case our error handling paths are leaky /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// static LocalNode() { AppDomain currentDomain = AppDomain.CurrentDomain; @@ -214,9 +244,24 @@ private static bool CreateGlobalEvents(int nodeNumber) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This function starts local node when process is launched and shuts it down on time out /// Called by msbuild.exe. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "Agreed not to touch entries from Deprecated folder")] public static void StartLocalNodeServer(int nodeNumber) { diff --git a/src/Deprecated/Engine/Logging/ConsoleLogger.cs b/src/Deprecated/Engine/Logging/ConsoleLogger.cs index 6405295a126..60e8dbb99d7 100644 --- a/src/Deprecated/Engine/Logging/ConsoleLogger.cs +++ b/src/Deprecated/Engine/Logging/ConsoleLogger.cs @@ -35,11 +35,26 @@ namespace Microsoft.Build.BuildEngine #endregion /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class implements the default logger that outputs event data /// to the console (stdout). /// It is a facade: it creates, wraps and delegates to a kind of BaseConsoleLogger, /// either SerialConsoleLogger or ParallelConsoleLogger. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// This class is not thread safe. public class ConsoleLogger : INodeLogger { @@ -56,8 +71,23 @@ public class ConsoleLogger : INodeLogger #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public ConsoleLogger() : this(LoggerVerbosity.Normal) { @@ -65,10 +95,25 @@ public ConsoleLogger() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Create a logger instance with a specific verbosity. This logs to /// the default console. /// /// Verbosity level. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public ConsoleLogger(LoggerVerbosity verbosity) : this @@ -83,12 +128,27 @@ public ConsoleLogger(LoggerVerbosity verbosity) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Initializes the logger, with alternate output handlers. /// /// /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public ConsoleLogger ( LoggerVerbosity verbosity, @@ -161,9 +221,24 @@ private void InitializeBaseConsoleLogger() #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets or sets the level of detail to show in the event log. /// /// Verbosity level. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public LoggerVerbosity Verbosity { get @@ -185,10 +260,25 @@ public LoggerVerbosity Verbosity } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The console logger takes a single parameter to suppress the output of the errors /// and warnings summary at the end of a build. /// /// null + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Parameters { get @@ -210,10 +300,24 @@ public string Parameters } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Suppresses the display of project headers. Project headers are /// displayed by default unless this property is set. /// - /// This is only needed by the IDE logger. + /// This is only needed by the IDE logger. + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool SkipProjectStartedText { get @@ -235,8 +339,23 @@ public bool SkipProjectStartedText } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Suppresses the display of error and warnings summary. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public bool ShowSummary { get @@ -286,10 +405,25 @@ protected WriteHandler WriteHandler #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Apply a parameter. /// NOTE: This method was public by accident in Whidbey, so it cannot be made internal now. It has /// no good reason for being public. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void ApplyParameter(string parameterName, string parameterValue) { ErrorUtilities.VerifyThrowInvalidOperation(consoleLogger != null, "MustCallInitializeBeforeApplyParameter"); @@ -297,15 +431,46 @@ public void ApplyParameter(string parameterName, string parameterValue) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Signs up the console logger for all build events. /// /// Available events. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public virtual void Initialize(IEventSource eventSource) { InitializeBaseConsoleLogger(); consoleLogger.Initialize(eventSource); } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public virtual void Initialize(IEventSource eventSource, int nodeCount) { this.numberOfProcessors = nodeCount; @@ -314,19 +479,49 @@ public virtual void Initialize(IEventSource eventSource, int nodeCount) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The console logger does not need to release any resources. /// This method does nothing. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public virtual void Shutdown() { consoleLogger?.Shutdown(); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for build started events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void BuildStartedHandler(object sender, BuildStartedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -335,10 +530,25 @@ public void BuildStartedHandler(object sender, BuildStartedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for build finished events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void BuildFinishedHandler(object sender, BuildFinishedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -347,10 +557,25 @@ public void BuildFinishedHandler(object sender, BuildFinishedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for project started events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void ProjectStartedHandler(object sender, ProjectStartedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -359,10 +584,25 @@ public void ProjectStartedHandler(object sender, ProjectStartedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for project finished events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void ProjectFinishedHandler(object sender, ProjectFinishedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -371,10 +611,25 @@ public void ProjectFinishedHandler(object sender, ProjectFinishedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for target started events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void TargetStartedHandler(object sender, TargetStartedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -383,10 +638,25 @@ public void TargetStartedHandler(object sender, TargetStartedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for target finished events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void TargetFinishedHandler(object sender, TargetFinishedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -395,10 +665,25 @@ public void TargetFinishedHandler(object sender, TargetFinishedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for task started events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void TaskStartedHandler(object sender, TaskStartedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -407,10 +692,25 @@ public void TaskStartedHandler(object sender, TaskStartedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Handler for task finished events /// /// sender (should be null) /// event arguments + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void TaskFinishedHandler(object sender, TaskFinishedEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -419,8 +719,23 @@ public void TaskFinishedHandler(object sender, TaskFinishedEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Prints an error event /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void ErrorHandler(object sender, BuildErrorEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -429,8 +744,23 @@ public void ErrorHandler(object sender, BuildErrorEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Prints a warning event /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void WarningHandler(object sender, BuildWarningEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -439,8 +769,23 @@ public void WarningHandler(object sender, BuildWarningEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Prints a message event /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void MessageHandler(object sender, BuildMessageEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 @@ -449,8 +794,23 @@ public void MessageHandler(object sender, BuildMessageEventArgs e) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Prints a custom event /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void CustomEventHandler(object sender, CustomBuildEventArgs e) { InitializeBaseConsoleLogger(); // for compat: see DDB#136924 diff --git a/src/Deprecated/Engine/Logging/DistributedLoggers/ConfigurableForwardingLogger.cs b/src/Deprecated/Engine/Logging/DistributedLoggers/ConfigurableForwardingLogger.cs index 97ec2c4385a..242adbfaafd 100644 --- a/src/Deprecated/Engine/Logging/DistributedLoggers/ConfigurableForwardingLogger.cs +++ b/src/Deprecated/Engine/Logging/DistributedLoggers/ConfigurableForwardingLogger.cs @@ -14,15 +14,45 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Logger that forwards events to a central logger (e.g ConsoleLogger) /// residing on the parent node. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class ConfigurableForwardingLogger : IForwardingLogger { #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public ConfigurableForwardingLogger() { InitializeForwardingTable(); @@ -32,9 +62,24 @@ public ConfigurableForwardingLogger() #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Gets or sets the level of detail to show in the event log. /// /// Verbosity level. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public LoggerVerbosity Verbosity { get { return verbosity; } @@ -42,10 +87,25 @@ public LoggerVerbosity Verbosity } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The console logger takes a single parameter to suppress the output of the errors /// and warnings summary at the end of a build. /// /// null + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Parameters { get { return loggerParameters; } @@ -53,15 +113,46 @@ public string Parameters } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This property is set by the build engine to allow a node loggers to forward messages to the /// central logger /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEventRedirector BuildEventRedirector { get { return this.buildEventRedirector; } set { this.buildEventRedirector = value; } } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int NodeId { get { return nodeId; } @@ -151,8 +242,23 @@ private void ApplyParameter(string parameterName) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Signs up the console logger for all build events. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public virtual void Initialize(IEventSource eventSource) { ErrorUtilities.VerifyThrowArgumentNull(eventSource, nameof(eventSource)); @@ -181,8 +287,23 @@ public virtual void Initialize(IEventSource eventSource) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Signs up the console logger for all build events. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Initialize(IEventSource eventSource, int nodeCount) { Initialize(eventSource); @@ -262,8 +383,23 @@ private void ResetLoggerState() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Called when Engine is done with this logger /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public virtual void Shutdown() { // Nothing to do diff --git a/src/Deprecated/Engine/Logging/DistributedLoggers/DistributedFileLogger.cs b/src/Deprecated/Engine/Logging/DistributedLoggers/DistributedFileLogger.cs index 05f5b1d2269..063d7545b85 100644 --- a/src/Deprecated/Engine/Logging/DistributedLoggers/DistributedFileLogger.cs +++ b/src/Deprecated/Engine/Logging/DistributedLoggers/DistributedFileLogger.cs @@ -14,14 +14,44 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class will create a text file which will contain the build log for that node /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class DistributedFileLogger : IForwardingLogger { #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public DistributedFileLogger() : base() { @@ -30,6 +60,22 @@ public DistributedFileLogger() #region Methods + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Initialize(IEventSource eventSource, int nodeCount) { Initialize(eventSource); @@ -88,6 +134,22 @@ private void ApplyFileLoggerParameter(string parameterName, string parameterValu } } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Initialize(IEventSource eventSource) { ErrorUtilities.VerifyThrowArgumentNull(eventSource, nameof(eventSource)); @@ -124,6 +186,22 @@ public void Initialize(IEventSource eventSource) nodeFileLogger.Initialize(eventSource, 2); } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void Shutdown() { nodeFileLogger?.Shutdown(); @@ -140,6 +218,23 @@ internal FileLogger InternalFilelogger return nodeFileLogger; } } + + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public IEventRedirector BuildEventRedirector { get @@ -153,6 +248,22 @@ public IEventRedirector BuildEventRedirector } // Node Id of the node which the forwarding logger is attached to + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public int NodeId { get @@ -166,6 +277,22 @@ public int NodeId } // The verbosity for now is set at detailed + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public LoggerVerbosity Verbosity { get @@ -179,6 +306,22 @@ public LoggerVerbosity Verbosity } } + /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string Parameters { get diff --git a/src/Deprecated/Engine/Logging/FileLogger.cs b/src/Deprecated/Engine/Logging/FileLogger.cs index 25db6182dcf..3869711b643 100644 --- a/src/Deprecated/Engine/Logging/FileLogger.cs +++ b/src/Deprecated/Engine/Logging/FileLogger.cs @@ -15,12 +15,26 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// A specialization of the ConsoleLogger that logs to a file instead of the console. /// The output in terms of what is written and how it looks is identical. For example you can /// log verbosely to a file using the FileLogger while simultaneously logging only high priority events /// to the console using a ConsoleLogger. /// /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// It's unfortunate that this is derived from ConsoleLogger, which is itself a facade; it makes things more /// complex -- for example, there is parameter parsing in this class, plus in BaseConsoleLogger. However we have /// to derive FileLogger from ConsoleLogger because it shipped that way in Whidbey. @@ -30,8 +44,23 @@ public class FileLogger : ConsoleLogger #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// KieranMo public FileLogger() : base(LoggerVerbosity.Normal) { @@ -41,9 +70,24 @@ public FileLogger() : base(LoggerVerbosity.Normal) #endregion /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Signs up the console file logger for all build events. /// This is the backward-compatible overload. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// Available events. public override void Initialize(IEventSource eventSource) { @@ -107,8 +151,23 @@ private void InitializeFileLogger(IEventSource eventSource, int nodeCount) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Multiproc aware initialization /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public override void Initialize(IEventSource eventSource, int nodeCount) { InitializeFileLogger(eventSource, nodeCount); @@ -140,8 +199,23 @@ private void Write(string text) } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Shutdown method implementation of ILogger - we need to flush and close our logfile. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public override void Shutdown() { fileWriter?.Close(); diff --git a/src/Deprecated/Engine/Logging/LoggerDescription.cs b/src/Deprecated/Engine/Logging/LoggerDescription.cs index fabc6e48949..40b9536e81f 100644 --- a/src/Deprecated/Engine/Logging/LoggerDescription.cs +++ b/src/Deprecated/Engine/Logging/LoggerDescription.cs @@ -15,10 +15,25 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class is used to contain information about a logger as a collection of values that /// can be used to instantiate the logger and can be serialized to be passed between different /// processes. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public class LoggerDescription { #region Constructor @@ -28,8 +43,23 @@ internal LoggerDescription() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates a logger description from given data /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public LoggerDescription ( string loggerClassName, @@ -88,8 +118,23 @@ internal string Name } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the string of logger parameters, null if there are none /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public string LoggerSwitchParameters { get @@ -99,8 +144,23 @@ public string LoggerSwitchParameters } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Return the verbosity for this logger (from command line all loggers get same verbosity) /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public LoggerVerbosity Verbosity { get diff --git a/src/Deprecated/Engine/Properties/BuildProperty.cs b/src/Deprecated/Engine/Properties/BuildProperty.cs index a90066fefd3..00223fa2a44 100644 --- a/src/Deprecated/Engine/Properties/BuildProperty.cs +++ b/src/Deprecated/Engine/Properties/BuildProperty.cs @@ -56,11 +56,26 @@ internal enum PropertyType } /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class holds an MSBuild property. This may be a property that is /// represented in the MSBuild project file by an XML element, or it /// may not be represented in any real XML file (e.g., global properties, /// environment properties, etc.) /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel [DebuggerDisplay("BuildProperty (Name = { Name }, Value = { Value }, FinalValue = { FinalValue }, Condition = { Condition })")] public class BuildProperty @@ -332,12 +347,27 @@ PropertyType propertyType } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Constructor, which initializes the property from just the property /// name and value, creating it as a "normal" property. This ends up /// creating a new XML element for the property under a dummy XML document. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public BuildProperty ( @@ -353,6 +383,11 @@ string propertyValue #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the property name. This is read-only, so one cannot /// change the property name once it's set ... your only option is /// to create a new BuildProperty object. The reason is that BuildProperty objects @@ -360,6 +395,16 @@ string propertyValue /// on the property name. Modifying the property name of an existing /// BuildProperty object would make the hash table incorrect. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Name { @@ -383,9 +428,24 @@ public string Name } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the property value. Normal properties can be modified; /// other property types cannot. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Value { @@ -470,8 +530,23 @@ internal string FinalValueEscaped } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the unescaped value of the property. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string FinalValue { @@ -503,8 +578,23 @@ internal PropertyType Type } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Did this property originate from an imported project file? /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool IsImported { @@ -515,8 +605,23 @@ public bool IsImported } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the condition on the property. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Condition { @@ -626,6 +731,11 @@ private void MarkPropertyAsDirty } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Creates a shallow or deep clone of this BuildProperty object. /// /// A shallow clone points at the same XML element as the original, so @@ -637,6 +747,16 @@ private void MarkPropertyAsDirty /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public BuildProperty Clone ( @@ -709,8 +829,23 @@ BuildProperty compareToProperty } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the property value. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public override string ToString ( @@ -724,11 +859,26 @@ public override string ToString #region Operators /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This allows an implicit typecast from a "BuildProperty" to a "string" /// when trying to access the property's value. /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// rgoel public static explicit operator string ( diff --git a/src/Deprecated/Engine/Properties/BuildPropertyGroup.cs b/src/Deprecated/Engine/Properties/BuildPropertyGroup.cs index ecbd7f6b82b..38ca722ac49 100644 --- a/src/Deprecated/Engine/Properties/BuildPropertyGroup.cs +++ b/src/Deprecated/Engine/Properties/BuildPropertyGroup.cs @@ -18,12 +18,27 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// A BuildPropertyGroup is a collection of BuildProperty objects. This could be represented by a persisted <PropertyGroup> /// element in the project file, or it could be a virtual collection of properties, such as in the case of global properties, /// environment variable properties, or the final evaluated properties of a project. These two types of PropertyGroups /// (persisted and virtual) are handled differently by many of the methods in this class, but in order to reduce the number of /// concepts for the consumer of the OM, we've merged them into a single class. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel [DebuggerDisplay("BuildPropertyGroup (Count = { Count }, Condition = { Condition })")] public class BuildPropertyGroup : IItemPropertyGrouping, IEnumerable @@ -133,16 +148,46 @@ internal void CreateFromStream(BinaryReader reader) #region Constructors /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor, that creates an empty virtual (non-persisted) BuildPropertyGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildPropertyGroup() : this(null, 0) { } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Default constructor, that creates an empty virtual (non-persisted) BuildPropertyGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildPropertyGroup(Project parentProject) : this(parentProject, 0) { @@ -316,11 +361,26 @@ bool importedFromAnotherProject #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This returns a boolean telling you whether this particular property /// group was imported from another project, or whether it was defined /// in the main project. For virtual property groups which have no /// persistence, this is false. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool IsImported { @@ -331,8 +391,23 @@ public bool IsImported } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Accessor for the condition on the property group. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public string Condition { @@ -359,8 +434,23 @@ public string Condition } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Allows setting the condition for imported property groups. Changes will not be persisted. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void SetImportedPropertyGroupCondition(string condition) { // If this BuildPropertyGroup object is not actually represented by a @@ -456,8 +546,23 @@ internal XmlElement ParentElement } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Returns the number of properties contained in this BuildPropertyGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public int Count { @@ -524,6 +629,11 @@ internal string ImportedFromFilename #region Operators /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This is the indexer for the BuildPropertyGroup class, which allows the caller to set or get the property data using simple /// array indexer [] notation. The caller passes in the property name inside the [], and out comes the BuildProperty object, /// which can be typecast to a string in order to get just the property value. Or if it's used on the left of the "=" @@ -533,6 +643,16 @@ internal string ImportedFromFilename /// RGoel /// /// The property with the given name, or null if it does not exist in this group + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildProperty this[string propertyName] { get @@ -567,11 +687,26 @@ public BuildProperty this[string propertyName] #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This IEnumerable method returns an IEnumerator object, which allows /// the caller to enumerate through the BuildProperty objects contained in /// this BuildPropertyGroup. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public IEnumerator GetEnumerator ( @@ -609,6 +744,11 @@ internal BuildPropertyGroup ShallowClone() } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This method creates a copy of the BuildPropertyGroup. A shallow clone will reference the same BuildProperty objects as the /// original. A deep clone will deep clone the BuildProperty objects themselves. If this is a persisted BuildPropertyGroup, only /// deep clones are allowed, because you can't have the same XML element belonging to two parents. @@ -616,6 +756,16 @@ internal BuildPropertyGroup ShallowClone() /// RGoel /// /// The cloned BuildPropertyGroup. + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public BuildPropertyGroup Clone ( bool deepClone @@ -861,6 +1011,11 @@ BuildProperty newProperty } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Sets a property taking the property name and value as strings directly. /// /// Either overrides the value of the property with the given name, or adds it if it @@ -873,18 +1028,43 @@ BuildProperty newProperty /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public void SetProperty(string propertyName, string propertyValue) { this.SetProperty(new BuildProperty(propertyName, propertyValue)); } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Sets a property in this PropertyGroup, optionally escaping the property value so /// that it will be treated as a literal. /// /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void SetProperty ( @@ -898,6 +1078,11 @@ bool treatPropertyValueAsLiteral } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// The AddNewProperty method adds a new property element to the persisted /// <PropertyGroup> at the end. This method takes the property name and /// value as strings directly, so that the BuildProperty object can be created @@ -906,6 +1091,16 @@ bool treatPropertyValueAsLiteral /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public BuildProperty AddNewProperty ( @@ -926,6 +1121,11 @@ string propertyValue } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Adds a new property to the PropertyGroup, optionally escaping the property value so /// that it will be treated as a literal. /// @@ -933,6 +1133,16 @@ string propertyValue /// /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public BuildProperty AddNewProperty ( @@ -1025,10 +1235,25 @@ BuildProperty propertyToAdd } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes the given BuildProperty object from either a persisted or a virtual /// BuildPropertyGroup. /// /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void RemoveProperty ( @@ -1069,9 +1294,24 @@ BuildProperty property } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes all properties with the given name from either a persisted or a virtual BuildPropertyGroup. For persisted /// PropertyGroups, there could be multiple. For a virtual BuildPropertyGroup, there can be only one. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel /// public void RemoveProperty @@ -1245,8 +1485,23 @@ internal void ClearImportedPropertyGroup } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Removes all properties and conditions from this BuildPropertyGroup. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void Clear ( diff --git a/src/Deprecated/Engine/Properties/BuildPropertyGroupCollection.cs b/src/Deprecated/Engine/Properties/BuildPropertyGroupCollection.cs index 15751e39f9c..4404ad64c28 100644 --- a/src/Deprecated/Engine/Properties/BuildPropertyGroupCollection.cs +++ b/src/Deprecated/Engine/Properties/BuildPropertyGroupCollection.cs @@ -11,6 +11,11 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class represents a collection of persisted <PropertyGroup>'s. Each /// MSBuild project has exactly one BuildPropertyGroupCollection, which includes /// all the imported PropertyGroups as well as the ones in the main project file. @@ -19,6 +24,16 @@ namespace Microsoft.Build.BuildEngine /// calls into the GroupingCollection within the Project to do it's work. It /// doesn't maintain any BuildPropertyGroup state on its own. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// DavidLe public class BuildPropertyGroupCollection : ICollection, IEnumerable { @@ -59,9 +74,24 @@ GroupingCollection groupingCollection #region Properties /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Read-only property which returns the number of PropertyGroups contained /// in our collection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public int Count { @@ -72,8 +102,23 @@ public int Count } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property tells whether this object is thread-safe. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public bool IsSynchronized { @@ -84,9 +129,24 @@ public bool IsSynchronized } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection property returns the object to be used to synchronize /// access to the class. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public object SyncRoot { @@ -134,9 +194,24 @@ internal BuildPropertyGroup LastLocalPropertyGroup #region Methods /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This ICollection method copies the contents of this collection to an /// array. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public void CopyTo ( @@ -148,10 +223,25 @@ int index } /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This IEnumerable method returns an IEnumerator object, which allows /// the caller to enumerate through the BuildPropertyGroup objects contained in /// this BuildPropertyGroupCollection. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// RGoel public IEnumerator GetEnumerator ( diff --git a/src/Deprecated/Engine/Solution/SolutionWrapperProject.cs b/src/Deprecated/Engine/Solution/SolutionWrapperProject.cs index f8c02067a6f..2f0e9475f4c 100644 --- a/src/Deprecated/Engine/Solution/SolutionWrapperProject.cs +++ b/src/Deprecated/Engine/Solution/SolutionWrapperProject.cs @@ -19,8 +19,23 @@ namespace Microsoft.Build.BuildEngine { /// + /// This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// This class is used to generate an MSBuild wrapper project for a solution file or standalone VC project. /// + /// + /// [!WARNING] + /// > This class (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// /// LukaszG, RGoel public static class SolutionWrapperProject { @@ -31,6 +46,11 @@ public static class SolutionWrapperProject private const string cacheVersionNumber = "_SolutionProjectCacheVersion"; /// + /// This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// + /// + /// + /// /// Given the full path to a solution, returns a string containing the v3.5 MSBuild-format /// wrapper project for that solution. /// @@ -38,6 +58,16 @@ public static class SolutionWrapperProject /// May be null. If non-null, contains the ToolsVersion passed in on the command line\ /// An event context for logging purposes. /// + /// + /// [!WARNING] + /// > This method (and the whole namespace) is deprecated. Please use the classes in these namespaces instead: + /// > + /// > + /// > + /// ]]> + /// public static string Generate(string solutionPath, string toolsVersionOverride, BuildEventContext projectBuildEventContext) { Project msbuildProject = new Project();