diff --git a/.gitignore b/.gitignore
index 2450a0de636..d41b961a44f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,7 +18,6 @@
x64/
x86/
ARM64/
-build/
bld/
[Bb]in/
[Oo]bj/
diff --git a/build/pipelines/ci.yml b/build/pipelines/ci.yml
index 0faa383b797..0900e524145 100644
--- a/build/pipelines/ci.yml
+++ b/build/pipelines/ci.yml
@@ -19,6 +19,10 @@ pr:
name: 0.0.$(Date:yyMM).$(Date:dd)$(Rev:rr)
jobs:
+ - template: ./templates/build-console-audit-job.yml
+ parameters:
+ platform: x64
+
- template: ./templates/build-console-ci.yml
parameters:
platform: x64
diff --git a/build/pipelines/release.yml b/build/pipelines/release.yml
index 126b3dc089f..31365ae66d0 100644
--- a/build/pipelines/release.yml
+++ b/build/pipelines/release.yml
@@ -16,6 +16,10 @@ variables:
name: 'Terminal_$(date:yyMM).$(date:dd)$(rev:rrr)'
jobs:
+ - template: ./templates/build-console-audit-job.yml
+ parameters:
+ platform: x64
+
- template: ./templates/build-console-int.yml
parameters:
platform: x64
diff --git a/build/pipelines/templates/build-console-audit-job.yml b/build/pipelines/templates/build-console-audit-job.yml
new file mode 100644
index 00000000000..b5bb0699c42
--- /dev/null
+++ b/build/pipelines/templates/build-console-audit-job.yml
@@ -0,0 +1,53 @@
+parameters:
+ platform: ''
+ additionalBuildArguments: ''
+
+jobs:
+- job: Build${{ parameters.platform }}AuditMode
+ displayName: Static Analysis Build ${{ parameters.platform }}
+ variables:
+ BuildConfiguration: AuditMode
+ BuildPlatform: ${{ parameters.platform }}
+ pool: { vmImage: vs2017-win2016 }
+
+ steps:
+ - checkout: self
+ submodules: true
+ clean: true
+
+ - task: NuGetToolInstaller@0
+ displayName: Ensure NuGet 4.8.1
+ inputs:
+ versionSpec: 4.8.1
+
+ # In the Microsoft Azure DevOps tenant, NuGetCommand is ambiguous.
+ # This should be `task: NuGetCommand@2`
+ - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
+ displayName: Restore NuGet packages
+ inputs:
+ command: restore
+ feedsToUse: config
+ configPath: NuGet.config
+ restoreSolution: OpenConsole.sln
+ restoreDirectory: '$(Build.SourcesDirectory)\packages'
+
+ - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
+ displayName: 'NuGet restore packages for CI'
+ inputs:
+ command: restore
+ restoreSolution: build/.nuget/packages.config
+ feedsToUse: config
+ externalFeedCredentials: 'TAEF NuGet Feed'
+ nugetConfigPath: build/config/NuGet.config
+ restoreDirectory: '$(Build.SourcesDirectory)/packages'
+
+ - task: VSBuild@1
+ displayName: 'Build solution **\OpenConsole.sln'
+ inputs:
+ solution: '**\OpenConsole.sln'
+ vsVersion: 15.0
+ platform: '$(BuildPlatform)'
+ configuration: '$(BuildConfiguration)'
+ msbuildArgs: ${{ parameters.additionalBuildArguments }}
+ clean: true
+ maximumCpuCount: true
diff --git a/build/pipelines/templates/build-console-ci.yml b/build/pipelines/templates/build-console-ci.yml
index f8de3d1816e..a4ac7b6d8e2 100644
--- a/build/pipelines/templates/build-console-ci.yml
+++ b/build/pipelines/templates/build-console-ci.yml
@@ -4,8 +4,8 @@ parameters:
additionalBuildArguments: ''
jobs:
-- job: Build${{ parameters.platform }}
- displayName: Build ${{ parameters.platform }}
+- job: Build${{ parameters.platform }}${{ parameters.configuration }}
+ displayName: Build ${{ parameters.platform }} ${{ parameters.configuration }}
variables:
BuildConfiguration: ${{ parameters.configuration }}
BuildPlatform: ${{ parameters.platform }}
diff --git a/build/pipelines/templates/build-console-int.yml b/build/pipelines/templates/build-console-int.yml
index 708915f8ddc..bf8664d15a6 100644
--- a/build/pipelines/templates/build-console-int.yml
+++ b/build/pipelines/templates/build-console-int.yml
@@ -4,8 +4,8 @@ parameters:
additionalBuildArguments: ''
jobs:
-- job: Build${{ parameters.platform }}
- displayName: Build ${{ parameters.platform }}
+- job: Build${{ parameters.platform }}${{ parameters.configuration }}
+ displayName: Build ${{ parameters.platform }} ${{ parameters.configuration }}
variables:
BuildConfiguration: ${{ parameters.configuration }}
BuildPlatform: ${{ parameters.platform }}
diff --git a/build/pipelines/templates/release-sign-and-bundle.yml b/build/pipelines/templates/release-sign-and-bundle.yml
index 07e578a2519..105b834d4c3 100644
--- a/build/pipelines/templates/release-sign-and-bundle.yml
+++ b/build/pipelines/templates/release-sign-and-bundle.yml
@@ -6,16 +6,18 @@ jobs:
displayName: Sign and Deploy for ${{ parameters.configuration }}
dependsOn:
- - Buildx64
- - Buildx86
- - Buildarm64
+ - Buildx64AuditMode
+ - Buildx64Release
+ - Buildx86Release
+ - Buildarm64Release
condition: |
and
(
- in(dependencies.Buildx64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
- in(dependencies.Buildx86.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
- in(dependencies.Buildarm64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
- )
+ in(dependencies.Buildx64AuditMode.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
+ in(dependencies.Buildx64Release.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
+ in(dependencies.Buildx86Release.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
+ in(dependencies.Buildarm64Release.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
+ )
variables:
BuildConfiguration: ${{ parameters.configuration }}
diff --git a/src/StaticAnalysis.ruleset b/src/StaticAnalysis.ruleset
index 1eea1e89f21..e9d2a69ed8d 100644
--- a/src/StaticAnalysis.ruleset
+++ b/src/StaticAnalysis.ruleset
@@ -1,4 +1,11 @@
+
+
+
+
+
+
+
diff --git a/src/buffer/out/precomp.h b/src/buffer/out/precomp.h
index 4c6505cc1d3..adb1cfb935e 100644
--- a/src/buffer/out/precomp.h
+++ b/src/buffer/out/precomp.h
@@ -21,7 +21,6 @@ Module Name:
#include "LibraryIncludes.h"
#pragma warning(push)
-#pragma warning(disable: ALL_CPPCORECHECK_WARNINGS)
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#endif
diff --git a/src/cascadia/TerminalApp/App.h b/src/cascadia/TerminalApp/App.h
index 584168da34e..25638d3549c 100644
--- a/src/cascadia/TerminalApp/App.h
+++ b/src/cascadia/TerminalApp/App.h
@@ -8,8 +8,6 @@
#include "App.g.h"
#include "../../cascadia/inc/cppwinrt_utils.h"
-#include
-
#include
#include
diff --git a/src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp b/src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp
index 28a0b955fa8..f8d88ad4464 100644
--- a/src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp
+++ b/src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp
@@ -6,8 +6,6 @@
#include "CascadiaSettings.h"
#include "../../types/inc/utils.hpp"
#include
-#include
-#include
#include
using namespace ::TerminalApp;
diff --git a/src/cascadia/TerminalConnection/pch.h b/src/cascadia/TerminalConnection/pch.h
index 832645af3e8..04e2abdf5c1 100644
--- a/src/cascadia/TerminalConnection/pch.h
+++ b/src/cascadia/TerminalConnection/pch.h
@@ -14,4 +14,3 @@
#include "winrt/Windows.Foundation.h"
#include
-#include
diff --git a/src/common.build.post.props b/src/common.build.post.props
index 00a81388cf3..5539b05eed4 100644
--- a/src/common.build.post.props
+++ b/src/common.build.post.props
@@ -25,4 +25,9 @@
+
+
+ $(SolutionDir)\dep\;$(CAExcludePath)
+
diff --git a/src/common.build.pre.props b/src/common.build.pre.props
index 1591634fe90..d7853a892c1 100644
--- a/src/common.build.pre.props
+++ b/src/common.build.pre.props
@@ -113,8 +113,8 @@
WIN32;%(PreprocessorDefinitions)
-
-
+
+
$(SolutionDir)\src\StaticAnalysis.ruleset
true
true
diff --git a/src/inc/LibraryIncludes.h b/src/inc/LibraryIncludes.h
index e2a01094e7b..705a06237b6 100644
--- a/src/inc/LibraryIncludes.h
+++ b/src/inc/LibraryIncludes.h
@@ -3,10 +3,8 @@
#pragma once
-#include
#pragma warning(push)
-#pragma warning(disable: ALL_CPPCORECHECK_WARNINGS)
// C
#include
@@ -44,12 +42,12 @@
#include
// WIL
-
#include
#include
#include
#include
#include
+#include
// GSL
// Block GSL Multi Span include because it both has C++17 deprecated iterators
@@ -57,6 +55,9 @@
#define GSL_MULTI_SPAN_H
#include
+// CppCoreCheck
+#include
+
// IntSafe
#define ENABLE_INTSAFE_SIGNED_FUNCTIONS
#include
diff --git a/src/propsheet/precomp.h b/src/propsheet/precomp.h
index 6c44645f4d1..4b053c598bd 100644
--- a/src/propsheet/precomp.h
+++ b/src/propsheet/precomp.h
@@ -48,12 +48,7 @@
#include "strid.h"
#include "..\propslib\conpropsp.hpp"
-// WIL
#include
-#include
-#include
-#include
-#include
// This is currently bubbling up the source tree to our branch
#ifndef WM_DPICHANGED_BEFOREPARENT