1 # Use "cargo install garden-tools" to install garden https://gitlab.com/garden-rs/garden
5 # # Development Workflows
6 # garden develop # Runs "pip install --editable ."
7 # garden requirements # Install runtime requirements
8 # garden requirements/opt # Install optional runtime requirements
9 # garden requirements/dev # Install developer requirements
10 # garden test # Run the test suite
11 # garden fmt # Format code using "cercis"
12 # garden doc # Generate documentation: html + manual pages
13 # garden html # Generate documentation: html only
14 # garden man # Generate documentation: manual pages only
15 # garden pot # Regenerate git-cola.pot with new translations
16 # garden po # Update .po files with new translations from git-cola.pot
19 # garden install # Install git-cola to the installation ${prefix}
20 # garden install docs # Install documentation
22 # # Variables can be overridden using "-D name=value", eg:
23 # garden -D DESTDIR=/tmp/stage -D prefix=/usr/local install
24 # garden -D prefix=$PWD/dist install docs
27 # garden macos/app # Build a git-cola.app bundle
30 # garden grow pages # Clone the Git Cola homepage
31 # garden grow fedora # Clone the Fedora packaging
32 # garden grow deb # Clone the Debian packaging
35 root: "${GARDEN_CONFIG_DIR}"
39 path: "${GARDEN_CONFIG_DIR}"
40 url: "git@gitlab.com:git-cola/git-cola.git"
42 develop: ${PIP} install --editable .
43 doc: garden -vv cmd docs html man
50 ${GIT} ls-files -- '*.py' |
52 ${XARGS} ${CERCIS} "$@"
53 html: garden -vv html docs
55 if test -n "${DESTDIR}"
57 pip_root="--root=${DESTDIR}"
58 export DESTDIR="${DESTDIR}"
60 ${PIP} install --disable-pip-version-check $pip_root --prefix=${prefix} "$@" .
65 ${MKDIR_P} ${cola_app}/Contents/MacOS
66 ${MKDIR_P} ${cola_app_resources}
67 ${PYTHON} -m venv ${cola_app_resources}
68 ${cola_app_resources}/bin/pip install --requirement requirements/requirements.txt
69 ${cola_app_resources}/bin/pip install --requirement requirements/requirements-optional.txt
70 ${cola_app_resources}/bin/pip install --requirement requirements/requirements-dev.txt
71 ${CP} contrib/darwin/Info.plist contrib/darwin/PkgInfo ${cola_app}/Contents
72 if test -n "${cola_full_version}"
74 ${SED} -i -e s/0.0.0.0/${cola_full_version}/ ${cola_app}/Contents/Info.plist
76 ${SED} -i -e s/0.0.0/${cola_version}/ ${cola_app}/Contents/Info.plist
77 ${CP} contrib/darwin/git-cola ${cola_app}/Contents/MacOS
78 ${CP} contrib/darwin/git-cola.icns ${cola_app}/Contents/Resources
79 garden -D PIP=${cola_app_resources}/bin/pip -D prefix=${cola_app_resources} install
80 garden -D SPHINXBUILD=${cola_app_resources}/bin/sphinx-build doc
81 garden -D SPHINXBUILD=${cola_app_resources}/bin/sphinx-build -D prefix=${cola_app_resources} install docs
82 man: garden -vv man docs
84 for po in cola/i18n/*.po
90 --output-file $$po.new \
92 cola/i18n/git-cola.pot
102 --output-dir cola/i18n \
103 --output git-cola.pot \
108 ${PYLINT} --rcfile=.pylintrc ${PYLINT_OPTIONS} "$@" cola test
109 requirements: ${PIP} install --requirement requirements/requirements.txt
110 requirements/maint: ${PIP} install --requirement requirements/requirements-maint.txt
111 requirements/opt: ${PIP} install --requirement requirements/requirements-optional.txt
112 requirements/dev: ${PIP} install --requirement requirements/requirements-dev.txt
113 test: ${PYTEST} ${PYTEST_OPTIONS} "$@" cola test
114 tox: ${TOX} ${TOX_OPTIONS} --parallel auto -e "${TOX_ENVS}" "$@"
115 tox/check: ${TOX} ${TOX_OPTIONS} --parallel auto -e check "$@"
117 BaumiCoder: "https://github.com/BaumiCoder/git-cola.git"
118 DasaniT: "https://github.com/DasaniT/git-cola.git"
119 Mailaender: "https://github.com/Mailaender/git-cola.git"
120 Mithil467: "https://github.com/Mithil467/git-cola.git"
121 NielBuys: "https://github.com/NielBuys/git-cola.git"
122 WNguyen14: "https://github.com/WNguyen14/git-cola.git"
123 abid1998: "https://github.com/abid1998/git-cola.git"
124 achernet: "https://github.com/achernet/git-cola.git"
125 axel-h: "https://github.com/axel-h/git-cola.git"
126 bearsh: "https://github.com/bearsh/git-cola.git"
127 bensmrs: "https://github.com/bensmrs/git-cola.git"
128 bobvanderlinden: "https://github.com/bobvanderlinden/git-cola.git"
129 brccabral: "https://github.com/brccabral/git-cola.git"
130 davvid: "git@github.com:davvid/git-cola.git"
131 dschwoerer: "https://github.com/dschwoerer/git-cola.git"
132 florisla: "https://github.com/florisla/git-cola.git"
133 fu7mu4: "https://github.com/fu7mu4/git-cola.git"
134 gdebure: "https://github.com/gdebure/git-cola.git"
135 github: "git@github.com:git-cola/git-cola.git"
136 guoyunhe: "https://github.com/guoyunhe/git-cola.git"
137 gyuris: "https://github.com/gyuris/git-cola.git"
138 haffmans: "https://github.com/haffmans/git-cola.git"
139 harmathy: "https://github.com/harmathy/git-cola.git"
140 hsoft: "https://github.com/hsoft/git-cola.git"
141 jamie-pate: "https://github.com/jamie-pate/git-cola.git"
142 kenyuy: "https://github.com/kenyuy/git-cola.git"
143 kisaragi-hiu: "https://github.com/kisaragi-hiu/git-cola.git"
144 kneirinck: "https://github.com/kneirinck/git-cola.git"
145 kurtmckee: "https://github.com/kurtmckee/git-cola.git"
146 laerreal: "https://github.com/laerreal/git-cola.git"
147 lah7: "https://github.com/lah7/git-cola.git"
148 living180: "https://github.com/living180/git-cola.git"
149 ljhcage: "https://github.com/ljhcage/git-cola.git"
150 malpas: "https://github.com/malpas/git-cola.git"
151 melkecelioglu: "https://github.com/melkecelioglu/git-cola.git"
152 milestone12: "https://github.com/milestone12/git-cola.git"
153 mmargoliono: "https://github.com/mmargoliono/git-cola"
154 mp-chet: "https://github.com/mp-chet/git-cola.git"
155 nakanoi: "https://github.com/nakanoi/git-cola.git"
156 nandalopes: "https://github.com/nandalopes/git-cola.git"
157 OriShalhon: "https://github.com/OriShalhon/git-cola.git"
158 pilarmolinalopez: "https://github.com/pilarmolinalopez/git-cola.git"
159 quintusfelix: "https://github.com/quintusfelix/git-cola.git"
160 rafaelreuber: "https://github.com/rafaelreuber/git-cola.git"
161 scop: "https://github.com/scop/git-cola.git"
162 sergei-dyshel: "https://github.com/sergei-dyshel/git-cola.git"
163 sthalik: "https://github.com/sthalik/git-cola.git"
164 skunkwerks: "https://github.com/skunkwerks/git-cola.git"
165 takluyver: "https://github.com/takluyver/git-cola.git"
166 thk123: "https://github.com/thk123/git-cola.git"
167 timgates42: "https://github.com/timgates42/git-cola.git"
168 vdragon: "https://github.com/Vdragon/git-cola.git"
169 victorhck: "https://github.com/victorhck/git-cola.git"
170 virtualstaticvoid: "https://github.com/virtualstaticvoid/git-cola.git"
171 wm4: "https://github.com/wm4/git-cola.git"
172 wojnilowicz: "https://github.com/wojnilowicz/git-cola.git"
173 yaellevy: "https://github.com/yaellevy/git-cola.git"
175 description: Debian packaging for Git Cola
176 url: "git@gitlab.com:git-cola/git-cola-debian.git"
178 davvid: "git@github.com:davvid/git-cola-debian.git"
182 doctest: ${SPHINXBUILD} -b doctest ${SPHINX_OPTIONS} _build/doctest
183 html: ${SPHINXBUILD} -b html ${SPHINX_OPTIONS} _build/html
184 man: ${SPHINXBUILD} -b man ${SPHINX_OPTIONS} _build/man
185 linkcheck: ${SPHINXBUILD} -b linkcheck ${SPHINX_OPTIONS} _build/linkcheck
187 ${MKDIR_P} ${DESTDIR}${docdir}
188 ${INSTALL} -m 644 *.html ${DESTDIR}${docdir}
189 ${INSTALL} -m 644 *.rst ${DESTDIR}${docdir}
191 ${MKDIR_P} ${DESTDIR}${htmldir}
192 ${RSYNC} ${RSYNC_OPTIONS} _build/html/ ${DESTDIR}${htmldir}/
194 ${MKDIR_P} ${DESTDIR}${mandir}
195 ${INSTALL} -m 644 _build/man/git-cola.1 ${DESTDIR}${mandir}
196 ${INSTALL} -m 644 _build/man/git-dag.1 ${DESTDIR}${mandir}
198 description: Fedora packaging for Git Cola
199 url: "https://src.fedoraproject.org/rpms/git-cola.git"
201 git-cola: "git@gitlab.com:git-cola/git-cola-fedora.git"
202 davvid: "git@github.com:davvid/git-cola-fedora.git"
204 description: "Git Cola's homepage"
205 url: "git@gitlab.com:git-cola/git-cola.gitlab.io.git"
207 github: "git@github.com:git-cola/git-cola.github.io.git"
208 ls-jad-elkik: "git://github.com/ls-jad-elkik/git-cola.github.io.git"
209 lz-coder: "https://github.com/lz-coder/git-cola.github.io.git"
211 - "https://git-cola.gitlab.io"
212 - "https://git-cola.github.io"
214 # Variables can be overridden externally using "garden -D name=value ...".
216 # Traditional DESTDIR + prefix variables
218 prefix: ${GARDEN_CONFIG_DIR}/dist
219 docdir: ${prefix}/share/doc/git-cola
220 htmldir: ${docdir}/html
221 mandir: ${prefix}/share/man/man1
222 cola_app: ${TREE_PATH}/git-cola.app
223 cola_app_resources: ${cola_app}/Contents/Resources
224 cola_full_version: $ ./bin/git-cola version --brief
225 cola_version: $ sed -e "s/VERSION = '\(.*\)'/\1/" cola/_version.py
226 # External commands and options
235 PYLINT: ${PYTHON} -B -m pylint
236 PYLINT_OPTIONS: $ ${PYLINT} --score=no --help >/dev/null 2>&1 && printf '%s' --score=no
237 PYTEST: ${PYTHON} -B -m pytest
238 PYTEST_OPTIONS: $ test "$(uname -s)" != "Linux" && printf '%s' --ignore=cola/inotify.py
241 RSYNC_OPTIONS: "-r --delete --exclude=.buildinfo"
243 SPHINXBUILD: sphinx-build
244 SPHINX_OPTIONS: "-d _build/doctrees -a ."
246 TOX_OPTIONS: "--develop --skip-missing-interpreters"
247 TOX_ENVS: "py36,py37,py38,py39,py310,py311"