Skip to content
This repository has been archived by the owner on Aug 10, 2023. It is now read-only.

Add setting and behavior to skip checks if dependency isn't direct #51

Merged
merged 1 commit into from
Mar 15, 2023

Conversation

kzu
Copy link
Member

@kzu kzu commented Mar 15, 2023

Up to now, we were running the SL check even if the project did not have a direct dependency with SL or the sponsorable package. This is because analyzers are (by design, for now?) transitive and this can't even be stopped via NuGet (see dotnet/sdk#1212 and NuGet/Home#6279).

We now introduce a transitive setting (defaulting to false) that is combined with the package dependencies to detect the indirect-ness and if so, skip the check.

Note that unless all the targets are in place to surface this indirect-ness to the analyzer, the check will be performed. This shields against the scenario where users might tweak targets to try to avoid getting the check to run at all.

Up to now, we were running the SL check even if the project did not have a direct dependency with SL or the sponsorable package. This is because analyzers are (by design, for now?) transitive and this can't even be stopped via NuGet (see dotnet/sdk#1212 and NuGet/Home#6279).

We now introduce a `transitive` setting (defaulting to false) that is combined with the package dependencies to detect the indirect-ness and if so, skip the check.

Note that unless all the targets are in place to surface this indirect-ness to the analyzer, the check *will* be performed. This shields against the scenario where users might tweak targets to try to avoid getting the check to run at all.
@kzu kzu added the enhancement New feature or request label Mar 15, 2023
@kzu kzu merged commit 4d0b1a7 into main Mar 15, 2023
@kzu kzu deleted the dev/Transitive branch March 15, 2023 14:28
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant