summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-08-08 00:32:19 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-08-08 00:32:19 -0400
commita4c6c6168405bb0441a40e4f6f4e86dfa46a76b2 (patch)
tree76c394722fe12c8a85687d8ad0b5c36d794c8483
parent976c66537c9f4493ce859c574675bb8651b5323f (diff)
downloadSMAPI-a4c6c6168405bb0441a40e4f6f4e86dfa46a76b2.tar.gz
SMAPI-a4c6c6168405bb0441a40e4f6f4e86dfa46a76b2.tar.bz2
SMAPI-a4c6c6168405bb0441a40e4f6f4e86dfa46a76b2.zip
enable parallel analyzer execution
-rw-r--r--docs/technical/mod-package.md33
-rw-r--r--src/SMAPI.ModBuildConfig.Analyzer/NetFieldAnalyzer.cs3
-rw-r--r--src/SMAPI.ModBuildConfig.Analyzer/ObsoleteFieldAnalyzer.cs3
3 files changed, 24 insertions, 15 deletions
diff --git a/docs/technical/mod-package.md b/docs/technical/mod-package.md
index 91da971b..7eefc7a4 100644
--- a/docs/technical/mod-package.md
+++ b/docs/technical/mod-package.md
@@ -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.
diff --git a/src/SMAPI.ModBuildConfig.Analyzer/NetFieldAnalyzer.cs b/src/SMAPI.ModBuildConfig.Analyzer/NetFieldAnalyzer.cs
index a9b981bd..1efc1616 100644
--- a/src/SMAPI.ModBuildConfig.Analyzer/NetFieldAnalyzer.cs
+++ b/src/SMAPI.ModBuildConfig.Analyzer/NetFieldAnalyzer.cs
@@ -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,
diff --git a/src/SMAPI.ModBuildConfig.Analyzer/ObsoleteFieldAnalyzer.cs b/src/SMAPI.ModBuildConfig.Analyzer/ObsoleteFieldAnalyzer.cs
index d071f0c1..722d5227 100644
--- a/src/SMAPI.ModBuildConfig.Analyzer/ObsoleteFieldAnalyzer.cs
+++ b/src/SMAPI.ModBuildConfig.Analyzer/ObsoleteFieldAnalyzer.cs
@@ -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,