forked from jsonpickle/jsonpickle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
garden.yaml
80 lines (79 loc) · 3.04 KB
/
garden.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Use "cargo install garden-tools" to install garden https://gitlab.com/garden-rs/garden
#
# # Usage
# garden doc # Build the jsonpickle.github.io documentation
# garden fmt # Apply code formatting
# garden test # Run tests
# garden tox # Run tests using "tox"
# garden bench # Run benchmarks
trees:
jsonpickle:
description: Two-way conversion of complex Python objects into JSON.
path: "${GARDEN_CONFIG_DIR}"
url: "git@github.com:jsonpickle/jsonpickle.git"
commands:
bench: |
make benchmark
check>:
- test
- check/fmt
- check/pyupgrade
- doc
check/fmt: "garden fmt ${GARDEN_CMD_VERBOSE} -- --check"
check/pyupgrade: |
${activate}
if type pyupgrade >/dev/null 2>&1
then
pyupgrade --py38-plus jsonpickle/*.py jsonpickle/*/*.py tests/*.py fuzzing/fuzz-targets/*.py
fi
clean: |
rm -fr build dist jsonpickle.egg-info
find . -type d -name __pycache__ -print0 | xargs -0 rm -fr
doc: |
test -d pages || garden grow pages
${activate} python3 -m sphinx docs pages
fmt: |
${activate}
black --skip-string-normalization --target-version py38 "$@" jsonpickle tests fuzzing/fuzz-targets
isort --profile=black "$@" jsonpickle tests fuzzing/fuzz-targets
setup: |
test -d env3 || python3 -m venv env3
garden setup/dev ${GARDEN_CMD_VERBOSE}
setup/dev: |
${activate} pip install --editable '.[dev,docs,testing]'
setup/packaging: |
${activate} pip install --editable '.[packaging]'
test: |
${activate} python3 -m pytest ${GARDEN_CMD_VERBOSE} "$@" jsonpickle tests
tox: |
tox run-parallel --parallel-live "$@" ${GARDEN_CMD_VERBOSE}
wheel: |
${activate}
python3 -m build -n .
publish: |
${activate}
twine upload dist/*.whl dist/*.tar.gz
remotes:
aldanor: "git@github.com:aldanor/jsonpickle.git"
davvid: "git@github.com:davvid/jsonpickle.git"
DaveLak: "git@github.com:DaveLak/jsonpickle.git"
dwagon: "git@github.com:dwagon/jsonpickle.git"
eoghanmurray: "git@github.com:eoghanmurray/jsonpickle.git"
GREsau: "git@github.com:GREsau/jsonpickle.git"
hartwork: "git@github.com:hartwork/jsonpickle.git"
hroncok: "git@github.com:hroncok/jsonpickle.git"
jaraco: "git@github.com:jaraco/jsonpickle.git"
marcintustin: "git@github.com:marcintustin/jsonpickle.git"
paulocheque: "git@github.com:paulocheque/jsonpickle.git"
Squadrick: "git@github.com:Squadrick/jsonpickle.git"
synapticarbors: "git@github.com:synapticarbors/jsonpickle.git"
Theelx: "git@github.com:Theelx/jsonpickle.git"
pages:
description: The jsonpickle.github.io website.
url: "git@github.com:jsonpickle/jsonpickle.github.io.git"
variables:
activate: |
test -n "$VIRTUAL_ENV" ||
test ! -d env3 ||
source env3/bin/activate
timestamp: $ date +%Y-%m-%dT%T%z