apache / apache/maven-checkstyle-plugin

[MCHECKSTYLE-362] Add suppressionFileOptional configuration option to allow builds if file in suppressionsLocation is missing

Open
#274 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
Dominant language
Java
Stars
97
Forks
67
Avg merge
14h 50m
Merged PRs (30d)
6

Description

**[Marcus Watkins](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=marwatk)** opened **[MCHECKSTYLE-362](https://issues.apache.org/jira/browse/MCHECKSTYLE-362?redirect=false)** and commented

We use a parent pom containing our checkstyle configuration but have a few projects with generated code that we'd like to exclude from checkstyle rules. This means we have to copy the whole checkstyle configuration into these projects' poms with a `suppressionsLocation` because adding it to the parent would fail the builds in projects where that file is missing.

Checkstyle itself has an `optional` flag on [`SuppressionFilter`](http://checkstyle.sourceforge.net/config_filters.html#SuppressionFilter) that allows it to continue if the supplied file is missing.

We'd like to extend the Maven Checkstyle Plugin to have similar functionality by way of a `suppressionFileOptional` configuration option that would simply skip supplying the file value to checkstyle if the file fails to resolve.

If this sounds like something you would accept let us know and we'll whip it up and submit a PR.

---

1 votes, 3 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the Maven Checkstyle Plugin configuration for suppressionsLocation and the handling of Checkstyle's SuppressionFilter optional flag. Verify how an unresolved suppression file is currently supplied to Checkstyle, then define done as accepting suppressionFileOptional and allowing the build to continue when the configured file is missing.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.