mfogliatto / mfogliatto/ReferenceCop
Enable configuration of exceptions for specific projects in ReferenceCop ruleset
- Dominant language
- C#
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Description
We need to implement a mechanism that allows configuring rule exceptions/exclusions of projects at the rule level in the ReferenceConfig ruleset file. This will give architects more flexibility in defining which references are allowed despite matching global rules.
## Problem
Currently, rules are applied globally without the ability to define project-specific exceptions. This makes it difficult to handle legitimate cases where a project should be allowed to use a reference that would otherwise be prohibited.
## Proposed Solution
1. Update the configuration model to support project-level exceptions to rules
2. Modify the violation detectors to check for these exceptions before reporting violations
3. Update the XML schema definition to include project-level exception elements
4. Add unit tests for the new functionality
## Implementation Details
- Consider adding a project-specific configuration section in the ReferenceCop.config file
- Allow specifying rule exceptions by project name, path, or other identifiers
- Ensure backward compatibility with existing configuration files
- Consider the relationship with the NoWarn feature
## Acceptance Criteria
- Projects can be configured with exceptions to specific rules
- The configuration is intuitive and well-documented
- Unit tests demonstrate the feature works as expected
- Existing configurations continue to work without modification
Contributor guide
Research direction
Start by tracing the ReferenceConfig ruleset configuration model and the violation detectors, then inspect the XML schema definition and existing unit tests. Define how project-level exceptions are represented, how they interact with NoWarn, and how existing configurations remain valid. Done means the schema, detector behavior, documentation, and tests cover project-specific exceptions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100