-
Notifications
You must be signed in to change notification settings - Fork 443
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add linter reference page (#5032)
Signed-off-by: Callahan Kovacs <[email protected]> Co-authored-by: Michael DuBelko <[email protected]> Co-authored-by: Alex Lowe <[email protected]>
- Loading branch information
1 parent
8faa6d5
commit 055fb36
Showing
2 changed files
with
62 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Linters | ||
======= | ||
|
||
A *linter* is an analysis tool that checks for common errors or compatibility | ||
issues, usually automatically, or as part of some other process. | ||
|
||
Snapcraft 7.2 and higher provides built-in linter functionality when the snap | ||
uses core22 or higher as its :doc:`base </reference/bases>`. | ||
|
||
By default, these built-in linters run automatically when a snap is built. If | ||
they're unneeded, you can disable them in the snap's ``snapcraft.yaml``. | ||
|
||
Built-in linters | ||
----------------- | ||
|
||
Snapcraft runs the following linters: | ||
|
||
- `classic`_. Verifies binary file parameters for snaps using | ||
`classic confinement`_. | ||
|
||
- `library`_. Verifies that no ELF file dependencies, such as libraries, are | ||
missing, and that no extra libraries are included in the snap package. | ||
|
||
Disable a linter | ||
---------------- | ||
|
||
You can disable a linter by adding it to the ``lint.ignore`` key in | ||
``snapcraft.yaml``. For example: | ||
|
||
.. code-block:: yaml | ||
lint: | ||
ignore: | ||
- classic | ||
- library | ||
Ignore specific files | ||
~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
To disable a linter for a specific file, you can list it under a linter's entry | ||
in the ``lint.ignore`` key. The path is relative to the snap directory tree, | ||
and supports wildcard characters (**\***). | ||
|
||
In the following example, the ``classic`` linter is disabled entirely, and the | ||
``library`` linter won't run for the files in ``usr/lib`` that match the | ||
specified pattern: | ||
|
||
.. code-block:: yaml | ||
lint: | ||
ignore: | ||
- classic | ||
- library: | ||
- usr/lib/**/libfoo.so* | ||
.. _classic: https://snapcraft.io/docs/linters-classic | ||
.. _classic confinement: https://snapcraft.io/docs/snap-confinement | ||
.. _library: https://snapcraft.io/docs/linters-library |