Lint Work
Project description
lintwork
Introduction
lintwork is a lint worker of lintflow written in Python.
Prerequisites
- gRPC >= 1.36.0
- Python >= 3.7.0
Run
- Local mode
pip install -Ur requirements.txt
python work.py --config-file="config.yml" --lint-project="project" --output-file="output.json"
- Service mode
pip install -Ur requirements.txt
python work.py --config-file="config.yml" --listen-url="127.0.0.1:9090"
Docker
- Local mode
docker build -f Dockerfile -t craftslab/lintwork:latest .
docker run -it -v /tmp:/tmp craftslab/lintwork:latest ./lintwork --config-file="config.yml" --lint-project="/tmp/project" --output-file="/tmp/output.json"
- Service mode
docker build -f Dockerfile -t craftslab/lintwork:latest .
docker run -it --network=host craftslab/lintwork:latest ./lintwork --config-file="config.yml" --listen-url="127.0.0.1:9090"
Usage
usage: work.py [-h] --config-file CONFIG_FILE
[--lint-project LINT_PROJECT | --listen-url LISTEN_URL]
[--output-file OUTPUT_FILE] [-v]
Lint Work
optional arguments:
-h, --help show this help message and exit
--config-file CONFIG_FILE
config file (.yml)
--lint-project LINT_PROJECT
lint project (/path/to/project)
--listen-url LISTEN_URL
listen url (host:port)
--output-file OUTPUT_FILE
output file (.json|.txt|.xlsx)
-v, --version show program's version number and exit
Settings
lintwork parameters can be set in the directory config.
An example of configuration in config.yml:
apiVersion: v1
kind: worker
metadata:
name: lintwork
spec:
cpp:
checkpatch:
- --no-summary
- --no-tree
- --terse
cpplint:
java:
aosplint:
- --disable
- LintError
- --nolines
- --quiet
checkstyle:
- -jar
- /home/craftslab/opt/checkstyle/lib/checkstyle.jar
- -c=/home/craftslab/opt/checkstyle/etc/google_checks.xml
javalint:
- -jar
- /home/craftslab/opt/javalint/lib/javalint.jar
- --file
stringscheck:
make:
checkmake:
- --format=:{{.LineNumber}}::{{.Violation}}\n
python:
flake8:
shell:
shellcheck:
- --format=gcc
Design
Errorformat
- JSON format
{
"lintwork": [
{
"file": "name",
"line": 1,
"type": "Error",
"details": "text"
}
]
}
- Text format
lintwork:{file}:{line}:{type}:{details}
License
Project License can be found here.
Reference
Linter
- android-lint
- checkmake
- checkpatch
- checkstyle
- cpplint
- flake8
- golangci-lint
- groovylint
- rust-clippy
- shellcheck
- spotbugs
Misc
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lintwork-1.11.0.tar.gz
(18.7 kB
view details)
Built Distribution
File details
Details for the file lintwork-1.11.0.tar.gz
.
File metadata
- Download URL: lintwork-1.11.0.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25b21ca4d7807ff59209b5b241a736e270e9ebc683fdd7faa549b08c132965fa |
|
MD5 | 7ecd697d6168ca479d39bbbe22fc1dcc |
|
BLAKE2b-256 | b62d0e6afada4d641ac2fbcf07e97d64fdf55c03f67cd3e99b0029f1a2f50c28 |
File details
Details for the file lintwork-1.11.0-py2.py3-none-any.whl
.
File metadata
- Download URL: lintwork-1.11.0-py2.py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3675dab6745ee9428bc93043330c6b88ef662476c811ad435ef80a9f4ad7cb61 |
|
MD5 | 942da64acd0089e5e1290d663d90b757 |
|
BLAKE2b-256 | b1b97787b8f01738d40765a4324d6e9e5663d8243b32b1e97377d6bdaa2cd292 |