Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
IsTechDebtwas added to the exception object. If a reference was forbidden and there was an exception to that rule marked withIsTechDebt: true- warning will be produced when that exception no longer exists, so it can be removed.This pull request introduces a new analyzer rule (RP0006) to help teams clean up technical debt by identifying "tech debt" exceptions in dependency rules that are no longer needed. It adds support for marking exceptions as technical debt, updates the schema and documentation, implements the analyzer logic, and provides comprehensive tests for the new behavior.
Key changes:
Analyzer enhancements:
DependencyRules.jsonno longer matches any declared reference and can be removed. [1] [2] [3]ReferenceProtector.Analyzersto detect and report stale tech debt exceptions for both project and package dependencies. [1] [2] [3]Dependency rule model/schema updates:
Exceptionsrecord and JSON schema to support anIsTechDebtboolean property, defaulting tofalse. [1] [2]Documentation and samples:
README.mdto document the new RP0006 warning and how to use theIsTechDebtflag in exceptions. [1] [2]samples/DependencyRules.jsondemonstrating tech debt exceptions and expected warnings.Testing:
Other:
DisableTransitiveProjectReferencesas needed for samples. [1] [2]