From 7b98cead834415d40514ff28797169b084bb7335 Mon Sep 17 00:00:00 2001
From: elachlan <2433737+elachlan@users.noreply.github.com>
Date: Mon, 3 Jan 2022 09:21:05 +1000
Subject: [PATCH 1/5] SA1004 Documentation line should begin with a space
---
.../MockProjectItemDefinitionLink.cs | 2 +-
.../MockProjectItemLink.cs | 2 +-
.../EvaluationLinkMocks/MockProjectLink.cs | 2 +-
.../MockProjectMetadataLink.cs | 2 +-
.../MockProjectPropertyLink.cs | 2 +-
.../BackEnd/LoggingServiceFactory_Tests.cs | 2 +-
.../Components/Logging/ILoggingService.cs | 2 +-
.../Shared/BuildRequestConfiguration.cs | 2 +-
.../Solution/SolutionProjectGenerator.cs | 4 +-
src/Build/Definition/Project.cs | 38 +++++++++----------
src/Build/Evaluation/IntrinsicFunctions.cs | 2 +-
.../Engine/LocalProvider/SharedMemory.cs | 4 +-
src/Framework/BuildEventContext.cs | 2 +-
src/Framework/Sdk/SdkResolver.cs | 2 +-
.../AssemblyDependency/Miscellaneous.cs | 18 ++++-----
.../SpecificVersionPrimary.cs | 4 +-
src/Tasks/FindInvalidProjectReferences.cs | 2 +-
src/Tasks/InstalledSDKResolver.cs | 2 +-
src/Tasks/ResolveSDKReference.cs | 2 +-
.../RoslynCodeTaskFactory.cs | 10 ++---
20 files changed, 53 insertions(+), 53 deletions(-)
diff --git a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemDefinitionLink.cs b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemDefinitionLink.cs
index 25b9fa61b9b..78fc4f41e71 100644
--- a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemDefinitionLink.cs
+++ b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemDefinitionLink.cs
@@ -16,7 +16,7 @@ public override ProjectItemDefinition CreateLinkedObject(IImportHolder holder)
}
- /// ProjectItemDefinitionLink remoting
+ /// ProjectItemDefinitionLink remoting
public MockProjectLinkRemoter Project => this.OwningCollection.Export(this.Source.Project);
public string ItemType => this.Source.ItemType;
public ICollection Metadata => this.OwningCollection.ExportCollection(this.Source.Metadata);
diff --git a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemLink.cs b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemLink.cs
index a4015cb2fb7..8085210a9a9 100644
--- a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemLink.cs
+++ b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectItemLink.cs
@@ -17,7 +17,7 @@ public override ProjectItem CreateLinkedObject(IImportHolder holder)
}
- /// ProjectItemLink remoting
+ /// ProjectItemLink remoting
public MockProjectLinkRemoter Project => this.OwningCollection.Export(this.Source.Project);
public MockProjectItemElementLinkRemoter Xml => (MockProjectItemElementLinkRemoter)this.OwningCollection.ExportElement(this.Source.Xml);
public string EvaluatedInclude => this.Source.EvaluatedInclude;
diff --git a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectLink.cs b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectLink.cs
index 324dcb6eb3f..af9a602f544 100644
--- a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectLink.cs
+++ b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectLink.cs
@@ -23,7 +23,7 @@ public override Project CreateLinkedObject(IImportHolder holder)
}
- /// ProjectLink remoting
+ /// ProjectLink remoting
public MockProjectElementLinkRemoter Xml => this.OwningCollection.ExportElement(this.Source.Xml);
public bool ThrowInsteadOfSplittingItemElement { get => this.Source.ThrowInsteadOfSplittingItemElement; set => this.Source.ThrowInsteadOfSplittingItemElement = value; }
diff --git a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectMetadataLink.cs b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectMetadataLink.cs
index dea676b3ea4..060cf00c164 100644
--- a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectMetadataLink.cs
+++ b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectMetadataLink.cs
@@ -16,7 +16,7 @@ public override ProjectMetadata CreateLinkedObject(IImportHolder holder)
}
- /// ProjectMetadataLink remoting
+ /// ProjectMetadataLink remoting
public object Parent
{
get
diff --git a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectPropertyLink.cs b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectPropertyLink.cs
index 374f44d06bc..b8060667b8c 100644
--- a/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectPropertyLink.cs
+++ b/src/Build.OM.UnitTests/ObjectModelRemoting/RemoteProjectsProviderMock/EvaluationLinkMocks/MockProjectPropertyLink.cs
@@ -16,7 +16,7 @@ public override ProjectProperty CreateLinkedObject(IImportHolder holder)
}
- /// ProjectPropertyLink remoting
+ /// ProjectPropertyLink remoting
public MockProjectLinkRemoter Project => this.OwningCollection.Export(this.Source.Project);
public MockProjectPropertyElementLinkRemoter Xml => (MockProjectPropertyElementLinkRemoter)this.ExportElement(this.Source.Xml);
public string Name => this.Source.Name;
diff --git a/src/Build.UnitTests/BackEnd/LoggingServiceFactory_Tests.cs b/src/Build.UnitTests/BackEnd/LoggingServiceFactory_Tests.cs
index 10cf7d2192a..31c15410772 100644
--- a/src/Build.UnitTests/BackEnd/LoggingServiceFactory_Tests.cs
+++ b/src/Build.UnitTests/BackEnd/LoggingServiceFactory_Tests.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Build.UnitTests.Logging
{
///
- ///Test the Factory to create components of the type LoggingService
+ /// Test the Factory to create components of the type LoggingService
///
public class LoggingServiceFactory_Tests
{
diff --git a/src/Build/BackEnd/Components/Logging/ILoggingService.cs b/src/Build/BackEnd/Components/Logging/ILoggingService.cs
index 85538f7baa4..c3b2c3045c3 100644
--- a/src/Build/BackEnd/Components/Logging/ILoggingService.cs
+++ b/src/Build/BackEnd/Components/Logging/ILoggingService.cs
@@ -267,7 +267,7 @@ MessageImportance MinimumRequiredMessageImportance
/// Register an logger which expects all logging events from the system
///
/// The logger to register.
- ///True if the central was registered. False if the central logger was already registered
+ /// True if the central was registered. False if the central logger was already registered
bool RegisterLogger(ILogger logger);
///
diff --git a/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs b/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs
index 6d55273c55c..f7cc41e5496 100644
--- a/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs
+++ b/src/Build/BackEnd/Shared/BuildRequestConfiguration.cs
@@ -121,7 +121,7 @@ internal class BuildRequestConfiguration : IEquatable
///
private int _resultsNodeId = Scheduler.InvalidNodeId;
- ///
+ ///
/// Holds a snapshot of the environment at the time we blocked.
///
private Dictionary _savedEnvironmentVariables;
diff --git a/src/Build/Construction/Solution/SolutionProjectGenerator.cs b/src/Build/Construction/Solution/SolutionProjectGenerator.cs
index 43318152844..46ea5a5343c 100644
--- a/src/Build/Construction/Solution/SolutionProjectGenerator.cs
+++ b/src/Build/Construction/Solution/SolutionProjectGenerator.cs
@@ -1974,9 +1974,9 @@ private void AddValidateProjectsTarget(ProjectInstance traversalProject, List
+ ///
/// Creates the target used to build all of the references in the traversal project.
- ///
+ ///
private static void AddTraversalReferencesTarget(ProjectInstance traversalProject, string targetName, string outputItem)
{
string outputItemAsItem = null;
diff --git a/src/Build/Definition/Project.cs b/src/Build/Definition/Project.cs
index df1d8ed8eb4..77997bc7040 100644
--- a/src/Build/Definition/Project.cs
+++ b/src/Build/Definition/Project.cs
@@ -855,27 +855,27 @@ public static string GetEvaluatedItemIncludeEscaped(ProjectItemDefinition item)
///
///
///
- ///*.txt
+ /// *.txt
///
- /// (both outside and inside project cone)
- /// (both outside and inside project cone)
- ///
- ///
- ///
- ///
- /// (If Bar has globs, they will have been included when querying Bar ProjectItems for globs)
- ///
- ///
+ /// (both outside and inside project cone)
+ /// (both outside and inside project cone)
+ ///
+ ///
+ ///
+ ///
+ /// (If Bar has globs, they will have been included when querying Bar ProjectItems for globs)
+ ///
+ ///
///
- ///Example result:
- ///[
- ///GlobResult(glob: "C:\**\*.foo", exclude: []),
- ///GlobResult(glob: ["*.a", "*.b"], exclude=["3.a"], remove=["2.a"]),
- ///GlobResult(glob: "**\*.b", exclude=["1.b, **\obj\*.b", **\bar\*.b"]),
- ///GlobResult(glob: "*.txt", exclude=[]),
- ///GlobResult(glob: "*.a", exclude=[]),
- ///GlobResult(glob: "*.cs", exclude=["bar"])
- ///].
+ /// Example result:
+ /// [
+ /// GlobResult(glob: "C:\**\*.foo", exclude: []),
+ /// GlobResult(glob: ["*.a", "*.b"], exclude=["3.a"], remove=["2.a"]),
+ /// GlobResult(glob: "**\*.b", exclude=["1.b, **\obj\*.b", **\bar\*.b"]),
+ /// GlobResult(glob: "*.txt", exclude=[]),
+ /// GlobResult(glob: "*.a", exclude=[]),
+ /// GlobResult(glob: "*.cs", exclude=["bar"])
+ /// ].
///
///
/// is a that combines all globs in the include element and ignores
diff --git a/src/Build/Evaluation/IntrinsicFunctions.cs b/src/Build/Evaluation/IntrinsicFunctions.cs
index 479d5578559..5b9cee37f6a 100644
--- a/src/Build/Evaluation/IntrinsicFunctions.cs
+++ b/src/Build/Evaluation/IntrinsicFunctions.cs
@@ -348,7 +348,7 @@ internal static string ValueOrDefault(string conditionValue, string defaultValue
}
}
- ///
+ ///
/// Hash the string independent of bitness and target framework.
///
internal static int StableStringHash(string toHash)
diff --git a/src/Deprecated/Engine/LocalProvider/SharedMemory.cs b/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
index 30bb926fc11..10752cb9136 100644
--- a/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
+++ b/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
@@ -89,7 +89,7 @@ private SharedMemory()
/// This type however does not set the type of the memory mapped section,
/// the memory mapped section itself is created
/// with READWRITE access.
- ///
+ ///
///
/// The shared memory is given a parameter to determine whether or not to
/// reuse an existing mapped memory secion. When the node is first created
@@ -98,7 +98,7 @@ private SharedMemory()
/// is created, at this point the there should be no shared memory with the
/// same name. However when we create the reader and writer threads
/// (which happens on node reuse) we want to reuse the memory.
- ///
+ ///
internal SharedMemory(string name, SharedMemoryType type, bool allowExistingMapping)
{
this.type = type;
diff --git a/src/Framework/BuildEventContext.cs b/src/Framework/BuildEventContext.cs
index 0cda93d76c6..fe29dffa9f3 100644
--- a/src/Framework/BuildEventContext.cs
+++ b/src/Framework/BuildEventContext.cs
@@ -25,7 +25,7 @@ public class BuildEventContext
private readonly int _targetId;
///
- ///The node-unique project request context the event was in
+ /// The node-unique project request context the event was in
///
private readonly int _projectContextId;
diff --git a/src/Framework/Sdk/SdkResolver.cs b/src/Framework/Sdk/SdkResolver.cs
index 9280c30af24..a9da357212d 100644
--- a/src/Framework/Sdk/SdkResolver.cs
+++ b/src/Framework/Sdk/SdkResolver.cs
@@ -30,7 +30,7 @@ public abstract class SdkResolver
/// the SDK could not be resolved. Return null if the resolver is not
/// applicable for a particular .
///
- ///
+ ///
/// Note: You must use to return a result.
///
///
diff --git a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
index 2d0aaec17b3..d2c33492cb5 100644
--- a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
+++ b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
@@ -7101,7 +7101,7 @@ public void TestProfileAndSubset2()
/// Verify setting certain combinations of Profile parameters will case an error to be logged and rar to fail execution.
///
/// Test the case where the profile name is not set and ProfileFullFrameworkFolders is set.
- ///
+ ///
[Fact]
public void TestProfileParameterCombinations()
{
@@ -7116,7 +7116,7 @@ public void TestProfileParameterCombinations()
///
/// Verify when the frameworkdirectory metadata is not set on the ProfileFullFrameworkAssemblyTables that an
/// error is logged and rar fails.
- ///
+ ///
[Fact]
public void TestFrameworkDirectoryMetadata()
{
@@ -7177,7 +7177,7 @@ private void InitializeMockEngine(out ReferenceTable referenceTable, out MockEng
}
///
- ///Initialize the black list and use it to remove references from the reference table
+ /// Initialize the black list and use it to remove references from the reference table
///
private void InitializeExclusionList(ReferenceTable referenceTable, AssemblyNameExtension[] assembliesForBlackList, out Dictionary blackList)
{
@@ -7742,12 +7742,12 @@ public void Regress397129_HandleInvalidDirectoriesAndFiles_Case2()
/// Consider this dependency chain:
///
/// App
- /// References - A
- /// Depends on B
- /// Will be found by hintpath.
- /// References -B
- /// No hintpath
- /// Exists in A.dll's folder.
+ /// References - A
+ /// Depends on B
+ /// Will be found by hintpath.
+ /// References -B
+ /// No hintpath
+ /// Exists in A.dll's folder.
///
/// B.dll should be unresolved even though its in A's folder because primary resolution needs to work
/// without looking at dependencies because of the load-time perf scenarios don't look at dependencies.
diff --git a/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs b/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
index ad61691d2b4..58aee27c91f 100644
--- a/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
+++ b/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
@@ -89,8 +89,8 @@ public void Exists()
/// Primary references are never unified. This is because:
/// (a) The user expects that a primary reference will be respected.
/// (b) When FindDependencies is false and AutoUnify is true, we'd have to find all
- /// dependencies anyway to make things work consistently. This would be a significant
- /// perf hit when loading large solutions.
+ /// dependencies anyway to make things work consistently. This would be a significant
+ /// perf hit when loading large solutions.
///
[Fact]
[Trait("Category", "mono-osx-failing")]
diff --git a/src/Tasks/FindInvalidProjectReferences.cs b/src/Tasks/FindInvalidProjectReferences.cs
index 54c84eaacdf..f800cbc226a 100644
--- a/src/Tasks/FindInvalidProjectReferences.cs
+++ b/src/Tasks/FindInvalidProjectReferences.cs
@@ -15,7 +15,7 @@ public class FindInvalidProjectReferences : TaskExtension
{
#region Fields
- ///
+ ///
/// Regex for breaking up the platform moniker
/// Example: XNA, Version=8.0
///
diff --git a/src/Tasks/InstalledSDKResolver.cs b/src/Tasks/InstalledSDKResolver.cs
index ac0ff362d0b..0214cac65ba 100644
--- a/src/Tasks/InstalledSDKResolver.cs
+++ b/src/Tasks/InstalledSDKResolver.cs
@@ -10,7 +10,7 @@
namespace Microsoft.Build.Tasks
{
///
- ///There is no search path element because the only way to get this resolver is by having the SDKName metadata on the reference.
+ /// There is no search path element because the only way to get this resolver is by having the SDKName metadata on the reference.
///
internal class InstalledSDKResolver : Resolver
{
diff --git a/src/Tasks/ResolveSDKReference.cs b/src/Tasks/ResolveSDKReference.cs
index 74d9ab45c2c..02b644a532f 100644
--- a/src/Tasks/ResolveSDKReference.cs
+++ b/src/Tasks/ResolveSDKReference.cs
@@ -21,7 +21,7 @@ public class ResolveSDKReference : TaskExtension
{
#region fields
- ///
+ ///
/// Regex for breaking up the sdk reference include into pieces.
/// Example: XNA, Version=8.0
///
diff --git a/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs b/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
index 069d4272c99..8ac948b8239 100644
--- a/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
+++ b/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
@@ -256,16 +256,16 @@ internal static string GetSourceCode(RoslynCodeTaskFactoryTaskInfo taskInfo, ICo
}
}
- ///
+ ///
/// Parses and validates the body of the <UsingTask />.
///
- /// A used to log events during parsing.
- /// The name of the task.
- /// The raw inner XML string of the <UsingTask />> to parse and validate.
+ /// A used to log events during parsing.
+ /// The name of the task.
+ /// The raw inner XML string of the <UsingTask />> to parse and validate.
/// An containing parameters for the task.
/// A object that receives the details of the parsed task.
/// true if the task body was successfully parsed, otherwise false.
- ///
+ ///
/// The will look like this:
///
Date: Mon, 3 Jan 2022 11:01:34 +1000
Subject: [PATCH 2/5] Fixes from code review
---
src/Build/Definition/Project.cs | 12 ++++++++-
src/Framework/Sdk/SdkResolver.cs | 20 +++++++-------
.../AssemblyDependency/Miscellaneous.cs | 15 +++++++----
.../SpecificVersionPrimary.cs | 26 +++++++++++++------
.../RoslynCodeTaskFactory.cs | 26 ++++++++++---------
5 files changed, 63 insertions(+), 36 deletions(-)
diff --git a/src/Build/Definition/Project.cs b/src/Build/Definition/Project.cs
index 77997bc7040..c2131da1cbd 100644
--- a/src/Build/Definition/Project.cs
+++ b/src/Build/Definition/Project.cs
@@ -855,6 +855,7 @@ public static string GetEvaluatedItemIncludeEscaped(ProjectItemDefinition item)
///
///
///
+ /// *.txt
///
/// (both outside and inside project cone)
@@ -865,9 +866,12 @@ public static string GetEvaluatedItemIncludeEscaped(ProjectItemDefinition item)
///
/// (If Bar has globs, they will have been included when querying Bar ProjectItems for globs)
///
+ /// ]]>
///
///
/// Example result:
+ ///
+ ///
+ ///
///
///
+ ///
/// is a that combines all globs in the include element and ignores
/// all the fragments in the exclude attribute and all the fragments in all Remove elements that apply to the include element.
+ ///
///
/// Users can construct a composite glob that incorporates all the globs in the Project:
///
+ /// r.MSBuildGlob).ToArray());
/// uberGlob.IsMatch("foo.cs");
+ /// ]]>
///
- ///
+ ///
///
///
/// List of .
diff --git a/src/Framework/Sdk/SdkResolver.cs b/src/Framework/Sdk/SdkResolver.cs
index a9da357212d..1bbb23d19f0 100644
--- a/src/Framework/Sdk/SdkResolver.cs
+++ b/src/Framework/Sdk/SdkResolver.cs
@@ -20,21 +20,21 @@ public abstract class SdkResolver
public abstract int Priority { get; }
///
- /// Resolves the specified SDK reference.
+ /// Resolves the specified SDK reference.
///
/// A containing the referenced SDKs be resolved.
/// Context for resolving the SDK.
/// Factory class to create an
///
- /// An containing the resolved SDKs or associated error / reason
- /// the SDK could not be resolved. Return null if the resolver is not
- /// applicable for a particular .
- ///
+ /// An containing the resolved SDKs or associated error / reason
+ /// the SDK could not be resolved. Return null if the resolver is not
+ /// applicable for a particular .
+ ///
///
- /// Note: You must use to return a result.
- ///
- ///
- public abstract SdkResult Resolve(SdkReference sdkReference, SdkResolverContext resolverContext,
- SdkResultFactory factory);
+ /// Note: You must use to return a result.
+ ///
+ public abstract SdkResult Resolve(SdkReference sdkReference,
+ SdkResolverContext resolverContext,
+ SdkResultFactory factory);
}
}
diff --git a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
index d2c33492cb5..81c8e7be898 100644
--- a/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
+++ b/src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs
@@ -7739,19 +7739,24 @@ public void Regress397129_HandleInvalidDirectoriesAndFiles_Case2()
Execute(t);
}
+ ///
/// Consider this dependency chain:
///
/// App
+ ///
+ ///
+ ///
/// B.dll should be unresolved even though its in A's folder because primary resolution needs to work
/// without looking at dependencies because of the load-time perf scenarios don't look at dependencies.
/// We must be consistent between primaries resolved with FindDependencies=true and FindDependencies=false.
+ ///
[Fact]
public void ByDesignRelatedTo454863_PrimaryReferencesDontResolveToParentFolders()
{
diff --git a/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs b/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
index 58aee27c91f..4e5758bfcc8 100644
--- a/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
+++ b/src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs
@@ -78,19 +78,29 @@ public void Exists()
///
/// In this case,
- /// - A single primary version-strict reference was passed in to assembly version 1.0.0.0
- /// - An app.config was passed in that promotes a *different* assembly version name from
- // 1.0.0.0 to 2.0.0.0
- /// - Version 1.0.0.0 of the file exists.
- /// - Version 2.0.0.0 of the file exists.
+ ///
+ /// - A single primary version-strict reference was passed in to assembly version 1.0.0.0
+ /// -
+ /// An app.config was passed in that promotes a *different* assembly version name from
+ /// 1.0.0.0 to 2.0.0.0
+ ///
+ /// - Version 1.0.0.0 of the file exists.
+ /// - Version 2.0.0.0 of the file exists.
+ ///
/// Expected:
- /// -- The resulting assembly returned should be 1.0.0.0.
+ ///
+ /// - The resulting assembly returned should be 1.0.0.0.
+ ///
/// Rationale:
/// Primary references are never unified. This is because:
- /// (a) The user expects that a primary reference will be respected.
- /// (b) When FindDependencies is false and AutoUnify is true, we'd have to find all
+ ///
+ /// -
+ /// The user expects that a primary reference will be respected.
+ /// - When FindDependencies is false and AutoUnify is true, we'd have to find all
/// dependencies anyway to make things work consistently. This would be a significant
/// perf hit when loading large solutions.
+ ///
+ ///
///
[Fact]
[Trait("Category", "mono-osx-failing")]
diff --git a/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs b/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
index 8ac948b8239..2d8ee1d418b 100644
--- a/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
+++ b/src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs
@@ -257,26 +257,28 @@ internal static string GetSourceCode(RoslynCodeTaskFactoryTaskInfo taskInfo, ICo
}
///
- /// Parses and validates the body of the <UsingTask />.
- ///
+ /// Parses and validates the body of the <UsingTask />.
+ ///
/// A used to log events during parsing.
/// The name of the task.
/// The raw inner XML string of the <UsingTask />> to parse and validate.
/// An containing parameters for the task.
/// A object that receives the details of the parsed task.
- /// true if the task body was successfully parsed, otherwise false.
+ /// true if the task body was successfully parsed, otherwise false.
///
- /// The will look like this:
- /// will look like this:
+ ///
+ ///
- ///
- ///
- /// // Source code
- ///
+ ///
+ ///
+ ///
+ /// // Source code
+ ///
///
- /// ]]>
- ///
+ /// ]]>
+ ///
+ ///
internal static bool TryLoadTaskBody(TaskLoggingHelper log, string taskName, string taskBody, ICollection parameters, out RoslynCodeTaskFactoryTaskInfo taskInfo)
{
taskInfo = new RoslynCodeTaskFactoryTaskInfo
From 750b8cb78f080d22bbf5b2edfc5ad7d38f39aa18 Mon Sep 17 00:00:00 2001
From: elachlan <2433737+elachlan@users.noreply.github.com>
Date: Tue, 4 Jan 2022 09:10:59 +1000
Subject: [PATCH 3/5] revert changes to deprecated
---
src/Deprecated/Engine/LocalProvider/SharedMemory.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Deprecated/Engine/LocalProvider/SharedMemory.cs b/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
index 10752cb9136..30bb926fc11 100644
--- a/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
+++ b/src/Deprecated/Engine/LocalProvider/SharedMemory.cs
@@ -89,7 +89,7 @@ private SharedMemory()
/// This type however does not set the type of the memory mapped section,
/// the memory mapped section itself is created
/// with READWRITE access.
- ///
+ ///
///
/// The shared memory is given a parameter to determine whether or not to
/// reuse an existing mapped memory secion. When the node is first created
@@ -98,7 +98,7 @@ private SharedMemory()
/// is created, at this point the there should be no shared memory with the
/// same name. However when we create the reader and writer threads
/// (which happens on node reuse) we want to reuse the memory.
- ///
+ ///
internal SharedMemory(string name, SharedMemoryType type, bool allowExistingMapping)
{
this.type = type;
From fbb9c736c6331a649fdef01125509fffcebd4727 Mon Sep 17 00:00:00 2001
From: elachlan <2433737+elachlan@users.noreply.github.com>
Date: Sat, 8 Jan 2022 17:12:29 +1000
Subject: [PATCH 4/5] revert changes Sdk/SdkResolver.cs
---
src/Framework/Sdk/SdkResolver.cs | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/Framework/Sdk/SdkResolver.cs b/src/Framework/Sdk/SdkResolver.cs
index 1bbb23d19f0..9280c30af24 100644
--- a/src/Framework/Sdk/SdkResolver.cs
+++ b/src/Framework/Sdk/SdkResolver.cs
@@ -20,21 +20,21 @@ public abstract class SdkResolver
public abstract int Priority { get; }
///
- /// Resolves the specified SDK reference.
+ /// Resolves the specified SDK reference.
///
/// A containing the referenced SDKs be resolved.
/// Context for resolving the SDK.
/// Factory class to create an
///
- /// An containing the resolved SDKs or associated error / reason
- /// the SDK could not be resolved. Return null if the resolver is not
- /// applicable for a particular .
- ///
- ///
- /// Note: You must use to return a result.
- ///
- public abstract SdkResult Resolve(SdkReference sdkReference,
- SdkResolverContext resolverContext,
- SdkResultFactory factory);
+ /// An containing the resolved SDKs or associated error / reason
+ /// the SDK could not be resolved. Return null if the resolver is not
+ /// applicable for a particular .
+ ///
+ ///
+ /// Note: You must use to return a result.
+ ///
+ ///
+ public abstract SdkResult Resolve(SdkReference sdkReference, SdkResolverContext resolverContext,
+ SdkResultFactory factory);
}
}
From b8bdc8d5eb7ea6ecd3e2b391446ea14b9b15765b Mon Sep 17 00:00:00 2001
From: elachlan <2433737+elachlan@users.noreply.github.com>
Date: Sat, 8 Jan 2022 17:18:06 +1000
Subject: [PATCH 5/5] enable warning on SA1004
---
eng/Common.globalconfig | 2 +-
src/Framework/Sdk/SdkResolver.cs | 25 +++++++++++++------------
2 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/eng/Common.globalconfig b/eng/Common.globalconfig
index fd878420d57..2a940a335d4 100644
--- a/eng/Common.globalconfig
+++ b/eng/Common.globalconfig
@@ -711,7 +711,7 @@ dotnet_diagnostic.SA1002.severity = suggestion
dotnet_diagnostic.SA1003.severity = none
# Documentation line should begin with a space
-dotnet_diagnostic.SA1004.severity = suggestion
+dotnet_diagnostic.SA1004.severity = warning
# Single line comment should begin with a space
dotnet_diagnostic.SA1005.severity = suggestion
diff --git a/src/Framework/Sdk/SdkResolver.cs b/src/Framework/Sdk/SdkResolver.cs
index 28c1774f028..728bc476bf3 100644
--- a/src/Framework/Sdk/SdkResolver.cs
+++ b/src/Framework/Sdk/SdkResolver.cs
@@ -6,40 +6,41 @@
namespace Microsoft.Build.Framework
{
///
- /// An abstract interface for classes that can resolve a Software Development Kit (SDK).
+ /// An abstract interface for classes that can resolve a Software Development Kit (SDK).
///
public abstract class SdkResolver
{
///
- /// Name of the SDK resolver to be displayed in build output log.
+ /// Gets the name of the to be displayed in build output log.
///
public abstract string Name { get; }
///
- /// Gets the self-described resolution priority order. MSBuild will sort resolvers
- /// by this value.
+ /// Gets the self-described resolution priority order. MSBuild will sort resolvers
+ /// by this value.
///
public abstract int Priority { get; }
///
- /// Resolves the specified SDK reference.
+ /// Resolves the specified SDK reference.
///
/// A containing the referenced SDKs be resolved.
/// Context for resolving the SDK.
/// Factory class to create an
///
- /// An containing the resolved SDKs or associated error / reason
- /// the SDK could not be resolved. Return null if the resolver is not
- /// applicable for a particular .
- ///
- /// containing the resolved SDKs or associated error / reason
+ /// the SDK could not be resolved. Return null if the resolver is not
+ /// applicable for a particular .
+ ///
+ /// [!NOTE]
/// > You must use the to return a result.
/// ]]>
///
///
- public abstract SdkResult Resolve(SdkReference sdkReference, SdkResolverContext resolverContext,
- SdkResultFactory factory);
+ public abstract SdkResult Resolve(SdkReference sdkReference,
+ SdkResolverContext resolverContext,
+ SdkResultFactory factory);
}
}