enable parallel analyzer execution

This commit is contained in:
Jesse Plamondon-Willard 2021-08-08 00:32:19 -04:00
parent 976c66537c
commit a4c6c61684
No known key found for this signature in database
GPG Key ID: CF8B1456B3E29F49
3 changed files with 24 additions and 15 deletions

View File

@ -365,7 +365,10 @@ The NuGet package is generated automatically in `StardewModdingAPI.ModBuildConfi
when you compile it.
## Release notes
## 3.3
## Upcoming release
* Improved analyzer performance by enabling parallel execution.
## 3.3.0
Released 30 March 2021.
* Added a build warning when the mod isn't compiled for `Any CPU`.
@ -385,19 +388,19 @@ Released 11 September 2020.
* Added more detailed logging.
* Fixed _path's format is not supported_ error when using default `Mods` path in 3.2.
### 3.2
### 3.2.0
Released 07 September 2020.
* Added option to change `Mods` folder path.
* Rewrote documentation to make it easier to read.
### 3.1
### 3.1.0
Released 01 February 2020.
* Added support for semantic versioning 2.0.
* `0Harmony.dll` is now ignored if the mod references Harmony directly (it's bundled with SMAPI).
### 3.0
### 3.0.0
Released 26 November 2019.
* Updated for SMAPI 3.0 and Stardew Valley 1.4.
@ -412,14 +415,14 @@ Released 26 November 2019.
* Dropped support for older versions of SMAPI and Visual Studio.
* Migrated package icon to NuGet's new format.
### 2.2
### 2.2.0
Released 28 October 2018.
* Added support for SMAPI 2.8+ (still compatible with earlier versions).
* Added default game paths for 32-bit Windows.
* Fixed valid manifests marked invalid in some cases.
### 2.1
### 2.1.0
Released 27 July 2018.
* Added support for Stardew Valley 1.3.
@ -439,7 +442,7 @@ Released 11 October 2017.
* Fixed mod deploy failing to create subfolders if they don't already exist.
### 2.0
### 2.0.0
Released 11 October 2017.
* Added: mods are now copied into the `Mods` folder automatically (configurable).
@ -457,7 +460,7 @@ Released 28 July 2017.
* The manifest/i18n files in the project now take precedence over those in the build output if both
are present.
### 1.7
### 1.7.0
Released 28 July 2017.
* Added option to create release zips on build.
@ -474,19 +477,19 @@ Released 09 July 2017.
* Improved crossplatform game path detection.
### 1.6
### 1.6.0
Released 05 June 2017.
* Added support for deploying mod files into `Mods` automatically.
* Added a build error if a game folder is found, but doesn't contain Stardew Valley or SMAPI.
### 1.5
### 1.5.0
Released 23 January 2017.
* Added support for setting a custom game path globally.
* Added default GOG path on macOS.
### 1.4
### 1.4.0
Released 11 January 2017.
* Fixed detection of non-default game paths on 32-bit Windows.
@ -494,22 +497,22 @@ Released 11 January 2017.
* Removed support for overriding the target platform (no longer needed since SMAPI crossplatforms
mods automatically).
### 1.3
### 1.3.0
Released 31 December 2016.
* Added support for non-default game paths on Windows.
### 1.2
### 1.2.0
Released 24 October 2016.
* Exclude game binaries from mod build output.
### 1.1
### 1.1.0
Released 21 October 2016.
* Added support for overriding the target platform.
### 1.0
### 1.0.0
Released 21 October 2016.
* Initial release.

View File

@ -174,6 +174,9 @@ namespace StardewModdingAPI.ModBuildConfig.Analyzer
/// <param name="context">The analysis context.</param>
public override void Initialize(AnalysisContext context)
{
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.Analyze | GeneratedCodeAnalysisFlags.ReportDiagnostics);
context.EnableConcurrentExecution();
context.RegisterSyntaxNodeAction(
this.AnalyzeMemberAccess,
SyntaxKind.SimpleMemberAccessExpression,

View File

@ -56,6 +56,9 @@ namespace StardewModdingAPI.ModBuildConfig.Analyzer
/// <param name="context">The analysis context.</param>
public override void Initialize(AnalysisContext context)
{
context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.Analyze | GeneratedCodeAnalysisFlags.ReportDiagnostics);
context.EnableConcurrentExecution();
context.RegisterSyntaxNodeAction(
this.AnalyzeObsoleteFields,
SyntaxKind.SimpleMemberAccessExpression,