Skip to content

Commit 32f029f

Browse files
authored
Enable analyzer doc validation in correctness runs (#78420)
Resolves #78414
2 parents d377ae6 + 474382a commit 32f029f

File tree

3 files changed

+357
-178
lines changed

3 files changed

+357
-178
lines changed

eng/targets/GenerateAnalyzerNuspec.targets

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@
3737
<_GeneratedRulesetsDir>$(IntermediateOutputPath)Rulesets</_GeneratedRulesetsDir>
3838
<_GeneratedEditorconfigsDir>$(IntermediateOutputPath)Editorconfig</_GeneratedEditorconfigsDir>
3939
<_GeneratedGlobalAnalyzerConfigsDir>$(IntermediateOutputPath)GlobalAnalyzerConfigs</_GeneratedGlobalAnalyzerConfigsDir>
40-
<_ValidateOffline Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(DotNetBuild)' == 'true'">true</_ValidateOffline>
41-
<_ValidateOffline Condition="'$(_ValidateOffline)' == ''">false</_ValidateOffline>
40+
<ValidateAnalyzerDocsOffline Condition="'$(ValidateAnalyzerDocsOffline)' == ''">true</ValidateAnalyzerDocsOffline>
4241
<ContainsPortedFxCopRules Condition="'$(ContainsPortedFxCopRules)' == ''">false</ContainsPortedFxCopRules>
4342
<GeneratePackagePropsFile Condition="'$(GeneratePackagePropsFile)' == ''">true</GeneratePackagePropsFile>
4443
<GenerateDisableNETAnalyzersPackagePropsFile Condition=" '$(GenerateDisableNETAnalyzersPackagePropsFile)' == '' and '$(ContainsPortedFxCopRules)' == 'true'">true</GenerateDisableNETAnalyzersPackagePropsFile>
@@ -111,15 +110,11 @@
111110
<AnalyzerRulesetAssembly Update="@(AnalyzerRulesetAssembly)" Condition="'%(AnalyzerRulesetAssembly.TargetFramework)' == ''" TargetFramework="$(TargetFramework)" />
112111
</ItemGroup>
113112

114-
<PropertyGroup>
115-
<SkipDocumentationValidation>true</SkipDocumentationValidation>
116-
</PropertyGroup>
117-
118-
<!-- Only run validate only in CI builds. Running them in local builds will prevent refreshing auto-generated files. -->
119-
<Exec Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(SkipDocumentationValidation)' != 'true'"
120-
Command='"$(DotNetExecutable)" --roll-forward major "$(_GenerateDocumentationAndConfigFilesPath)" "-validateOnly:true" "$(_GeneratedRulesetsDir)" "$(_GeneratedEditorconfigsDir)" "$(_GeneratedGlobalAnalyzerConfigsDir)" "$(ArtifactsBinDir)$(EscapeDirectorySuffix)" "$(Configuration)" "%(AnalyzerRulesetAssembly.TargetFramework)" "@(AnalyzerRulesetAssembly)" "$(PackagePropsFileDir)" "$(PackagePropsFileName)" "$(PackageTargetsFileDir)" "$(PackageTargetsFileName)" "$(DisableNETAnalyzersPackagePropsFileName)" "$(AnalyzerSarifFileDir)" "$(AnalyzerDocumentationFileName)" "$(AnalyzerSarifFileDir)" "$(AnalyzerSarifFileName)" "$(VersionPrefix)" $(NuspecPackageId) $(ContainsPortedFxCopRules) $(GenerateAnalyzerRulesMissingDocumentationFile) $(ReleaseTrackingOptOut) $(_ValidateOffline)' />
113+
<!-- Only run validate only in CI correctness builds. Running them in local builds will prevent refreshing auto-generated files. -->
114+
<Exec Condition="'$(ContinuousIntegrationBuildCorrectness)' == 'true'"
115+
Command='"$(DotNetExecutable)" --roll-forward major "$(_GenerateDocumentationAndConfigFilesPath)" --validateOnly true --analyzerRulesetsDir "$(_GeneratedRulesetsDir)" --analyzerEditorconfigsDir "$(_GeneratedEditorconfigsDir)" --analyzerGlobalconfigsDir "$(_GeneratedGlobalAnalyzerConfigsDir)" --binDirectory "$(ArtifactsBinDir)$(EscapeDirectorySuffix)" --configuration "$(Configuration)" --tfm "%(AnalyzerRulesetAssembly.TargetFramework)" --assemblies "@(AnalyzerRulesetAssembly)" --propsFileDir "$(PackagePropsFileDir)" --propsFileName "$(PackagePropsFileName)" --targetsFileDir "$(PackageTargetsFileDir)" --targetsFileName "$(PackageTargetsFileName)" --propsFileToDisableNetAnalyzers "$(DisableNETAnalyzersPackagePropsFileName)" --analyzerDocumentationFileDir "$(AnalyzerSarifFileDir)" --analyzerDocumentationFileName "$(AnalyzerDocumentationFileName)" --analyzerSarifFileDir "$(AnalyzerSarifFileDir)" --analyzerSarifFileName "$(AnalyzerSarifFileName)" --analyzerVersion "$(VersionPrefix)" --analyzerPackageName $(NuspecPackageId) --containsPortedFxcopRules $(ContainsPortedFxCopRules) --generateAnalyzerRulesMissingDocumentationFile $(GenerateAnalyzerRulesMissingDocumentationFile) --releaseTrackingOptOut $(ReleaseTrackingOptOut) --validateOffline $(ValidateAnalyzerDocsOffline)' />
121116

122-
<Exec Command='"$(DotNetExecutable)" --roll-forward major "$(_GenerateDocumentationAndConfigFilesPath)" "-validateOnly:false" "$(_GeneratedRulesetsDir)" "$(_GeneratedEditorconfigsDir)" "$(_GeneratedGlobalAnalyzerConfigsDir)" "$(ArtifactsBinDir)$(EscapeDirectorySuffix)" "$(Configuration)" "%(AnalyzerRulesetAssembly.TargetFramework)" "@(AnalyzerRulesetAssembly)" "$(PackagePropsFileDir)" "$(PackagePropsFileName)" "$(PackageTargetsFileDir)" "$(PackageTargetsFileName)" "$(DisableNETAnalyzersPackagePropsFileName)" "$(AnalyzerSarifFileDir)" "$(AnalyzerDocumentationFileName)" "$(AnalyzerSarifFileDir)" "$(AnalyzerSarifFileName)" "$(VersionPrefix)" $(NuspecPackageId) $(ContainsPortedFxCopRules) $(GenerateAnalyzerRulesMissingDocumentationFile) $(ReleaseTrackingOptOut) $(_ValidateOffline)' />
117+
<Exec Command='"$(DotNetExecutable)" --roll-forward major "$(_GenerateDocumentationAndConfigFilesPath)" --validateOnly false --analyzerRulesetsDir "$(_GeneratedRulesetsDir)" --analyzerEditorconfigsDir "$(_GeneratedEditorconfigsDir)" --analyzerGlobalconfigsDir "$(_GeneratedGlobalAnalyzerConfigsDir)" --binDirectory "$(ArtifactsBinDir)$(EscapeDirectorySuffix)" --configuration "$(Configuration)" --tfm "%(AnalyzerRulesetAssembly.TargetFramework)" --assemblies "@(AnalyzerRulesetAssembly)" --propsFileDir "$(PackagePropsFileDir)" --propsFileName "$(PackagePropsFileName)" --targetsFileDir "$(PackageTargetsFileDir)" --targetsFileName "$(PackageTargetsFileName)" --propsFileToDisableNetAnalyzers "$(DisableNETAnalyzersPackagePropsFileName)" --analyzerDocumentationFileDir "$(AnalyzerSarifFileDir)" --analyzerDocumentationFileName "$(AnalyzerDocumentationFileName)" --analyzerSarifFileDir "$(AnalyzerSarifFileDir)" --analyzerSarifFileName "$(AnalyzerSarifFileName)" --analyzerVersion "$(VersionPrefix)" --analyzerPackageName $(NuspecPackageId) --containsPortedFxcopRules $(ContainsPortedFxCopRules) --generateAnalyzerRulesMissingDocumentationFile $(GenerateAnalyzerRulesMissingDocumentationFile) --releaseTrackingOptOut $(ReleaseTrackingOptOut) --validateOffline $(ValidateAnalyzerDocsOffline)' />
123118

124119
<ItemGroup Condition="Exists('$(PackageTargetsFileDir)\$(PackageTargetsFileName)')">
125120
<AnalyzerNupkgFile Include="$(PackageTargetsFileDir)\$(PackageTargetsFileName)"/>

src/RoslynAnalyzers/Tools/GenerateDocumentationAndConfigFiles/GenerateDocumentationAndConfigFiles.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,6 @@
2727
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" VersionOverride="$(MicrosoftCodeAnalysisVersion)" />
2828
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" VersionOverride="$(MicrosoftCodeAnalysisVersion)" />
2929
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.Common" VersionOverride="$(MicrosoftCodeAnalysisVersion)" />
30+
<PackageReference Include="System.CommandLine" />
3031
</ItemGroup>
3132
</Project>

0 commit comments

Comments
 (0)