Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/G-Research/ProjectLinter
An MSBuild project file linter to validate project file as part of build process
https://github.com/G-Research/ProjectLinter
Last synced: 7 days ago
JSON representation
An MSBuild project file linter to validate project file as part of build process
- Host: GitHub
- URL: https://github.com/G-Research/ProjectLinter
- Owner: G-Research
- License: apache-2.0
- Created: 2022-06-09T12:53:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-21T07:03:04.000Z (23 days ago)
- Last Synced: 2024-10-21T10:00:35.741Z (23 days ago)
- Language: C#
- Homepage:
- Size: 91.8 KB
- Stars: 32
- Watchers: 16
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Project Linter
An MSBuild project file linter to validate project file as part of build process.
## How does it work?
The ProjectLinter consists of a set of validators which run against the MSBuild project to check for known issues.
These include:
1. Rooted paths
2. Unnecessary|incorrect properties
3. Required dependenciesThese validators are automatically wired into the build process using the package .targets file and run before the 'CoreBuild' target.
Warnings and errors are written to the standard build output and any validation failures will fail the build.
## Usage
To add linting to your project simply add a PacakgeReference.
The easiest way to do this for a large number of projects is to include a Directory.Build.targets file at the root of the repo containing:```xml
```
To automatically import the nuget pacakge into all projects.
### Skip validators
To skip particular validators for a project add their Ids (separated by ;) to the `ProjectLinterSuppressions` property
```xml
NoOldStyleProjects
```