mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-09 09:34:49 +09:00
Use analyzers from targeting pack for NetCoreAppCurrent (#87726)
* Use analyzers from targeting pack for NetCoreAppCurrent Fixes that analyzer failures didn't show-up in #74897 Add analyzers to the frameworklist that OOB projects in src/libraries use, and only auto ProjectReference the analyzers in generators.targets when not using the analyzers from the targeting pack. Also move the generator projects related code into a separate file. Continuation of https://github.com/dotnet/runtime/pull/75093 * Fix project build * Add missing reference to Regex tests * Add missing generators for netfx build * Fix paht in test project * Fix typo * Disable runtime marshalling for SharedTypes.csproj * Disable runtime marshalling for NativeExports.csproj
This commit is contained in:
parent
903eef77d6
commit
07ae197db5
31 changed files with 103 additions and 117 deletions
|
@ -12,6 +12,7 @@
|
|||
<Import Project="$(RepositoryEngineeringDir)liveBuilds.targets" />
|
||||
<Import Project="$(RepositoryEngineeringDir)generators.targets" />
|
||||
<Import Project="$(RepositoryEngineeringDir)python.targets" />
|
||||
<Import Project="$(RepositoryEngineeringDir)generatorProjects.targets" Condition="'$(IsGeneratorProject)' == 'true'" />
|
||||
<Import Project="$(RepositoryEngineeringDir)resolveContract.targets" Condition="'$(IsSourceProject)' == 'true'" />
|
||||
<Import Project="$(RepositoryEngineeringDir)packaging.targets" Condition="'$(IsPackable)' == 'true' and '$(MSBuildProjectExtension)' != '.pkgproj'" />
|
||||
|
||||
|
@ -115,26 +116,6 @@
|
|||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetAnalyzerPackFiles"
|
||||
DependsOnTargets="$(GenerateNuspecDependsOn)"
|
||||
Returns="@(_AnalyzerPackFile)">
|
||||
<PropertyGroup>
|
||||
<_analyzerPath>analyzers/dotnet</_analyzerPath>
|
||||
<_analyzerPath Condition="'$(AnalyzerRoslynVersion)' != ''">$(_analyzerPath)/roslyn$(AnalyzerRoslynVersion)</_analyzerPath>
|
||||
<_analyzerPath Condition="'$(AnalyzerLanguage)' != ''">$(_analyzerPath)/$(AnalyzerLanguage)</_analyzerPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Filter on netstandard2.0 so that generator projects can multi-target for the purpose of enabling nullable reference type compiler checks. -->
|
||||
<ItemGroup>
|
||||
<_AnalyzerPackFile Include="@(_BuildOutputInPackage->WithMetadataValue('TargetFramework', 'netstandard2.0'))" IsSymbol="false" />
|
||||
<_AnalyzerPackFile Include="@(_TargetPathsToSymbols->WithMetadataValue('TargetFramework', 'netstandard2.0'))" IsSymbol="true" />
|
||||
<_AnalyzerPackFile PackagePath="$(_analyzerPath)/%(TargetPath)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Analyzers must target netstandard2.0 since they run in the compiler which targets netstandard2.0. $(MSBuildProjectFullPath) targets '$([MSBuild]::ValueOrDefault('$(TargetFrameworks)', '$(TargetFramework)'))' instead."
|
||||
Condition="'@(_AnalyzerPackFile)' == ''" />
|
||||
</Target>
|
||||
|
||||
<!-- Allows building against source assemblies when the 'SkipUseReferenceAssembly' attribute is present on ProjectReference items. -->
|
||||
<Target Name="HandleReferenceAssemblyAttributeForProjectReferences"
|
||||
AfterTargets="ResolveProjectReferences"
|
||||
|
@ -197,6 +178,16 @@
|
|||
Exclude="@(_targetingPackIncludedReferenceWithProjectName)" />
|
||||
<Reference Remove="@(_targetingPackExcludedReferenceWithProjectName->Metadata('OriginalIdentity'))" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_targetingPackAnalyzerReferenceWithProjectName Include="@(Analyzer->WithMetadataValue('ExternallyResolved', 'true')->Metadata('Filename'))"
|
||||
OriginalIdentity="%(Identity)" />
|
||||
<_targetingPackIncludedAnalyzerReferenceWithProjectName Include="@(_targetingPackAnalyzerReferenceWithProjectName)"
|
||||
Exclude="@(_targetingPackReferenceExclusion)" />
|
||||
<_targetingPackExcludedAnalyzerReferenceWithProjectName Include="@(_targetingPackAnalyzerReferenceWithProjectName)"
|
||||
Exclude="@(_targetingPackIncludedAnalyzerReferenceWithProjectName)" />
|
||||
<Analyzer Remove="@(_targetingPackExcludedAnalyzerReferenceWithProjectName->Metadata('OriginalIdentity'))" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue