This is a set of command-line utilities to facilitate the Odoo development workflow at Acsone.
It assumes the project is a setuptools-based python package that can be packaged and installed with pip.
Criteria for tools to be included here:
- being small wrappers around standard commands (
git
,pip
, etc) - yet being sufficiently non-trivial to be error-prone or time consuming when done manually
- being used across several Acsone Odoo projects
Try acsoo --help
.
Tag the current project after ensuring everything has been commited to git.
Tag all editable requirements found in requirements.txt
, so
the referenced commits are not lost in case of git garbage collection.
Build wheels for all dependencies found in requirements.txt
,
plus the project in the current directory.
This is actually almost trivial (ie pip wheel -r requirements.txt -e .
),
but works around a pip quirk.
Perform acsoo tag
, acsoo tag_editable_requirements
and
acsoo wheel
in one command.
mkdir project-dir
cd project-dir
mkvirtualenv project-dir -a .
pip install git+https://github.com/acsone/acsoo.git
mrbob acsoo:templates/project
pip freeze
(which works very well as is) with the following additions
- exluding some common dev tools that are not required in production (pudb, ipdb, acsoo, git-aggregator, setuptools-odoo...) and their dependencies unless such dependencies are required by the project (directly or indirectly).
- excluding the project itself (as usual for python requirements.txt files)
Inspiration to be found in https://pypi.python.org/pypi/pipdeptree, although I don't
think acsoo should depend on that, as it's only a thin wrapper around the pip
api.
A helper to bump version in acsoo.cfg
and also bump version in (some?) odoo addons, such
as the main addon that pulls dependencies. Requires further thinking.