Small CLI tool for Odoo
Project description
odoo-tools-grap
This tools provide extra cli commands to simplify recurring operations for Odoo developers.
- To develop and contribute to the library, refer to the
DEVELOP.mdfile. - Refer to the
ROADMAP.mdfile to see the current limitation, bugs, and task to do. - See authors in the
CONTRIBUTORS.mdfile.
Table of Contents
Installation
The library is available on PyPI.
To install it simply run :
pipx install odoo-tools-grap
(See alternative installation in DEVELOP.md file.)
Usage
Note:
The term odoo-tools-grap can be replaced by otg in all the command lines below.
Command: diff (View repositories status)
Based on a repos config file (repos.yml file, used by gitaggregate by
exemple), this script will display the result of the git diff for each
repository.
odoo-tools-grap diff --config repos.yml
Result Sample
2024-03-27 16:37:24.725 | WARNING | odoo_tools_grap.cli.cli_diff:diff:31 - [BAD BRANCH] ./src/OCA/product-attribute is on 16.0-product_pricelist_simulation-various-fixes.(Should be on 16.0-current)
2024-03-27 16:37:25.395 | WARNING | odoo_tools_grap.cli.cli_diff:diff:38 - [LOCAL CHANGES] ./src/OCA/sale-workflow has 1 local changes.
2024-03-27 16:37:25.444 | WARNING | odoo_tools_grap.cli.cli_diff:diff:43 - [UNTRACKED] ./src/OCA/sale-workflow has 2 untracked files.
Command: generate (Generate Odoo config File)
Base on a repos config file, (repos.yml file, used by gitaggregate by exemple),
and template(s) of odoo config file, this script will generate a complete config file for Odoo
with addons_path depending on the repos config file.
odoo-tools-grap generate\
--config repos.yml\
--input-files ./template.config.cfg\
--output-file ./odoo.cfg
Command: create-branch (Create new Orphan Branch)
This command will:
- create a new orphan target version
- add a
copier-answers.ymlfile base on the previous copier answers in the initial version and commit it - Adapt copier answers to new GRAP conventions
- Ask for copier answers. (At this step, answer default value to all questions)
- Run pre-commit
- Push the new branch on github
Before using this command, clone your repo in the previous existing branch. for exemple:
git clone git@github.com:grap/grap-odoo-custom --origin=grap --branch 12.0
cd grap-odoo-custom
Example:
odoo-tools-grap create-branch\
--initial-version 12.0\
--target-version 16.0\
--remote grap\
--copier-url https://github.com/grap/oca-addons-repo-template-v16
Command: migrate (Migrate module from a version to another)
This command will:
- Pull the last commits of the initial version
- Pull the last commits of the target version
- Create a new branch named for the module to migrate
- Cherry pick commits of the module to migrate. See OCA Documentation: https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-16.0#technical-method-to-migrate-a-module-from-150-to-160-branch
- Eventually merge neighboring commits. (if the commit contains --fixup, or have the same name)
- Run pre-commit and commit changes
- Call odoo-module-migrate (https://github.com/OCA/odoo-module-migrator)
- (At this step, please note warning and error that should be fixed in a second step)
- Commit changes
- Push the new branch on github
- Create a new draft Pull Request
Before using this command:
- you should be in the folder of the repository. (created with
create-branchcommand.) - having added your personal remote with
git remote add YOUR-GITHUB-ACCOUNT git@github.com:YOUR-GITHUB-ACCOUNT/grap-odoo-custom
odoo-tools-grap migrate\
--initial-version 12.0\
--target-version 16.0\
--modules grap_cooperative\
--distant-remote grap\
--local-remote YOUR-GITHUB-ACCOUNT\
--github-token-file ABSOLUTE-PATH-TO-A-FILE-THAT-CONTAINS-GITHUB-TOKEN
Prerequites
To understand this tool:
-
You need to know the following tools:
gitaggregatetools (https://github.com/acsone/git-aggregator)odoo-module-migratetools (https://github.com/OCA/odoo-module-migrator)
-
Understand the following processes:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_tools_grap-1.3.1.tar.gz.
File metadata
- Download URL: odoo_tools_grap-1.3.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-33-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30ccf0d071aff4ea8cea1087a4a06b1fc920d92be2cbb76d6177ccefeebe8f1d
|
|
| MD5 |
bcbcfb3e802fcb3845a4385dc10e6f52
|
|
| BLAKE2b-256 |
4a3ec14e974f7ef9cf749127120c686fe67dc6cfa6859c769a4e4a756f4f6bef
|
File details
Details for the file odoo_tools_grap-1.3.1-py3-none-any.whl.
File metadata
- Download URL: odoo_tools_grap-1.3.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-33-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f65c884abbb890b751653c8e9091ac4066208cba3a33fbafeaac0e0670eefea
|
|
| MD5 |
ce116fd43dca0fa81c1e1c7b516919da
|
|
| BLAKE2b-256 |
045304d53e526efeffeedc1ae5dba0032eb4490c771677ca53cbf504b854644b
|