From 574353ef530bb13b51e8de81c5caa1dd6e3971df Mon Sep 17 00:00:00 2001
From: Anipik <anirudhagnihotry098@gmail.com>
Date: Fri, 27 Aug 2021 12:18:17 -0700
Subject: [PATCH 1/3] setting properties for package validation

---
 Directory.Build.props | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Directory.Build.props b/Directory.Build.props
index dc1f3554115a..a13123cbe611 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -15,6 +15,12 @@
     <AnalysisMode>Default</AnalysisMode>
   </PropertyGroup>
 
+  <!-- Properties for Package Validation -->
+  <PropertyGroup>
+    <EnablePackageValidation>true</EnablePackageValidation>
+    <DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
+  </PropertyGroup>
+
   <!-- Defines project type conventions. -->
   <PropertyGroup>
     <RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>

From e321ee831c5bf0d20a9903e4e16d699c1d1ff344 Mon Sep 17 00:00:00 2001
From: Anipik <anirudhagnihotry098@gmail.com>
Date: Fri, 27 Aug 2021 13:00:39 -0700
Subject: [PATCH 2/3] add suppressions file

---
 Directory.Build.props                                 |  1 +
 .../SqlServer/src/CompatibilitySuppressions.xml       | 11 +++++++++++
 .../DataProtection/src/CompatibilitySuppressions.xml  | 11 +++++++++++
 .../Extensions/src/CompatibilitySuppressions.xml      | 11 +++++++++++
 .../src/CompatibilitySuppressions.xml                 | 11 +++++++++++
 .../JsonPatch/src/CompatibilitySuppressions.xml       | 11 +++++++++++
 .../Embedded/src/CompatibilitySuppressions.xml        | 11 +++++++++++
 .../src/CompatibilitySuppressions.xml                 | 11 +++++++++++
 .../src/CompatibilitySuppressions.xml                 | 11 +++++++++++
 9 files changed, 89 insertions(+)
 create mode 100644 src/Caching/SqlServer/src/CompatibilitySuppressions.xml
 create mode 100644 src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml
 create mode 100644 src/DataProtection/Extensions/src/CompatibilitySuppressions.xml
 create mode 100644 src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml
 create mode 100644 src/Features/JsonPatch/src/CompatibilitySuppressions.xml
 create mode 100644 src/FileProviders/Embedded/src/CompatibilitySuppressions.xml
 create mode 100644 src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml
 create mode 100644 src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml

diff --git a/Directory.Build.props b/Directory.Build.props
index a13123cbe611..c9697e351f92 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,7 @@
   <PropertyGroup>
     <EnablePackageValidation>true</EnablePackageValidation>
     <DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
+    <GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
   </PropertyGroup>
 
   <!-- Defines project type conventions. -->
diff --git a/src/Caching/SqlServer/src/CompatibilitySuppressions.xml b/src/Caching/SqlServer/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/Caching/SqlServer/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml b/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml b/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml b/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Features/JsonPatch/src/CompatibilitySuppressions.xml b/src/Features/JsonPatch/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/Features/JsonPatch/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml b/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml b/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml b/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file

From 7ed4b373d1cb34cb93a8a6773f4a8792ace4c3ea Mon Sep 17 00:00:00 2001
From: Anirudh Agnihotry <anagniho@microsoft.com>
Date: Fri, 17 Sep 2021 10:48:06 -0700
Subject: [PATCH 3/3] add condition for not running package validation when
 excludeFromSourceBUild is set

---
 Directory.Build.props   | 7 -------
 Directory.Build.targets | 7 +++++++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
index c9697e351f92..dc1f3554115a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -15,13 +15,6 @@
     <AnalysisMode>Default</AnalysisMode>
   </PropertyGroup>
 
-  <!-- Properties for Package Validation -->
-  <PropertyGroup>
-    <EnablePackageValidation>true</EnablePackageValidation>
-    <DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
-    <GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
-  </PropertyGroup>
-
   <!-- Defines project type conventions. -->
   <PropertyGroup>
     <RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>
diff --git a/Directory.Build.targets b/Directory.Build.targets
index e7501159d6f6..6e30c30881fb 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -169,6 +169,13 @@
     <BuildDependsOn>$(BuildDependsOn);_CopySymbolsToArtifacts</BuildDependsOn>
   </PropertyGroup>
 
+  <!-- Properties for Package Validation -->
+  <PropertyGroup Condition="'$(ExcludeFromSourceBuild)' != 'true'">
+    <EnablePackageValidation>true</EnablePackageValidation>
+    <DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
+    <GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
+  </PropertyGroup>
+
   <Target Name="_CopySymbolsToArtifacts">
     <Copy SourceFiles="$([System.IO.Path]::ChangeExtension('$(TargetPath)', 'pdb'))"
         DestinationFolder="$(SymbolsOutputPath)$(TargetFramework)"