2020-09-25 04:32:19 -04:00
|
|
|
SHELL := /bin/bash
|
2025-12-03 05:04:16 -05:00
|
|
|
ERPLIBRE_VERSION := $(strip \
|
|
|
|
|
$(if $(wildcard .erplibre-version),$(shell cat .erplibre-version),) \
|
|
|
|
|
)
|
|
|
|
|
ODOO_VERSION := $(strip \
|
|
|
|
|
$(if $(wildcard .odoo-version),$(shell cat .odoo-version),) \
|
|
|
|
|
)
|
|
|
|
|
LOG_FILE := ./.venv.$(ERPLIBRE_VERSION)/make_test.log
|
2020-09-25 04:32:19 -04:00
|
|
|
#############
|
|
|
|
|
# General #
|
|
|
|
|
#############
|
|
|
|
|
# ALL
|
|
|
|
|
.PHONY: all
|
2025-05-04 00:40:05 -04:00
|
|
|
all: todo
|
2020-09-25 04:32:19 -04:00
|
|
|
|
|
|
|
|
###############
|
|
|
|
|
# Detect OS #
|
|
|
|
|
###############
|
|
|
|
|
# https://stackoverflow.com/questions/714100/os-detecting-makefile
|
|
|
|
|
DETECTED_OS := $(shell uname -s)
|
|
|
|
|
############################
|
|
|
|
|
# Detect browser command #
|
|
|
|
|
############################
|
|
|
|
|
#BROWSER := ls
|
|
|
|
|
ifeq ($(DETECTED_OS),Darwin)
|
|
|
|
|
BROWSER := open
|
|
|
|
|
else
|
|
|
|
|
ifeq ($(DETECTED_OS),Linux)
|
|
|
|
|
BROWSER := xdg-open
|
|
|
|
|
else
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
BROWSER := start
|
|
|
|
|
else
|
|
|
|
|
BROWSER := ls
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
2025-05-02 03:41:04 -04:00
|
|
|
# Include all Makefile
|
|
|
|
|
-include ./conf/make.code_generator.Makefile
|
2025-11-04 23:24:43 -05:00
|
|
|
-include ./conf/make.robotlibre.Makefile
|
2025-05-02 03:41:04 -04:00
|
|
|
-include ./conf/make.erplibre.Makefile
|
|
|
|
|
-include ./conf/make.database.Makefile
|
|
|
|
|
-include ./conf/make.docker.Makefile
|
|
|
|
|
-include ./conf/make.documentation.Makefile
|
|
|
|
|
-include ./conf/make.image_db.Makefile
|
|
|
|
|
-include ./conf/make.installation.Makefile
|
2025-07-14 03:44:48 -04:00
|
|
|
-include ./conf/make.installation.poetry.Makefile
|
2025-05-02 03:41:04 -04:00
|
|
|
-include ./conf/make.test.Makefile
|
[ADD] make: add SSH remote deployment targets and todo.py integration
Enable deploying and managing ERPLibre on remote servers via SSH
directly from make and the interactive todo.py CLI, since only
local deployment was previously supported.
- New conf/make.ssh.Makefile with 11 targets: ssh_check, ssh_push,
ssh_install, ssh_run, ssh_stop, ssh_restart, ssh_status, ssh_logs,
ssh_make, ssh_install_systemd, ssh_install_nginx
- Variables: SSH_HOST (required), SSH_USER, SSH_PORT, SSH_KEY,
SSH_PATH, SSH_TARGET, SSH_DOMAIN, SSH_ADMIN_EMAIL
- Execute > Deploy menu extended with 11 SSH options in todo.py
- All strings translated fr/en in todo_i18n.py
Generated by Claude Code 2.1.101 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
2026-04-10 22:53:07 -04:00
|
|
|
-include ./conf/make.ssh.Makefile
|
2025-05-02 03:41:04 -04:00
|
|
|
-include ./conf/make.todo.Makefile
|
|
|
|
|
|
|
|
|
|
# Include private Makefile
|
2025-08-07 06:28:34 -04:00
|
|
|
-include ./private/make.private.Makefile
|
2025-03-10 02:57:44 -04:00
|
|
|
|
|
|
|
|
# Example for update
|
|
|
|
|
.PHONY: custom_run_example
|
|
|
|
|
custom_run_example:
|
|
|
|
|
./run.sh -d example_prod
|
|
|
|
|
|
|
|
|
|
.PHONY: custom_update_example
|
|
|
|
|
custom_update_example:
|
|
|
|
|
./script/database/db_restore.py --database example_prod --image image_name_to_restore
|
|
|
|
|
./script/addons/update_addons_all.sh example_prod
|
|
|
|
|
./script/addons/update_prod_to_dev.sh example_prod
|
|
|
|
|
|
2021-01-20 06:35:10 -05:00
|
|
|
#########
|
|
|
|
|
# RUN #
|
|
|
|
|
#########
|
|
|
|
|
.PHONY: run
|
|
|
|
|
run:
|
|
|
|
|
echo http://localhost:8069
|
|
|
|
|
echo http://localhost:8069/web/database/manager
|
|
|
|
|
./run.sh
|
|
|
|
|
|
|
|
|
|
.PHONY: run_test
|
|
|
|
|
run_test:
|
|
|
|
|
echo http://localhost:8069
|
|
|
|
|
./run.sh --database test
|
|
|
|
|
|
2022-02-04 14:12:53 -05:00
|
|
|
.PHONY: run_prod_client
|
|
|
|
|
run_prod_client:
|
|
|
|
|
echo http://localhost:8069
|
|
|
|
|
./run.sh --database prod_client
|
|
|
|
|
|
2024-08-25 15:54:24 -04:00
|
|
|
############
|
|
|
|
|
# VERSION #
|
|
|
|
|
############
|
|
|
|
|
.PHONY: version
|
|
|
|
|
version:
|
|
|
|
|
./script/version/update_env_version.py
|
|
|
|
|
|
|
|
|
|
###################
|
|
|
|
|
# Environnement #
|
|
|
|
|
###################
|
|
|
|
|
.PHONY: pyenv_update
|
|
|
|
|
pyenv_update:
|
|
|
|
|
~/.pyenv/bin/pyenv update
|
|
|
|
|
|
[ADD] install: mise as Python provider, pyenv as fallback
mise lays down a precompiled CPython where pyenv builds one: seconds
against one to three minutes, with no -dev package at all. The choice
lives in EL_PYTHON_PROVIDER -- auto, mise or pyenv -- and in a single
file, lib_python_provider.sh. The rest of the repository only knows venv
paths and needs to know none of this.
In auto mode an ALREADY installed interpreter wins, whichever provider put
it there. mise is never installed on its own, "curl | sh" commits too much
for a script to decide -- make install_mise carries that decision.
MISE_PYTHON_COMPILE=false forbids it from quietly compiling: without that
guard it would fall back to pyenv's own engine, giving us the slowness
without the tooling. That is also what stopped gcc from collapsing while
building CPython on a low-memory s390x guest, for nothing.
One real bug falls along the way: a failed venv did not stop the install,
which then went on and failed further down, far from the cause.
--- FR ---
mise pose un CPython précompilé là où pyenv en compile un : des secondes
contre une à trois minutes, et aucun paquet -dev. Le choix vit dans
EL_PYTHON_PROVIDER — auto, mise ou pyenv — et dans un seul fichier,
lib_python_provider.sh. Le reste du dépôt ne connaît que des chemins de
venv et n'a rien à savoir de tout cela.
En mode auto, un interpréteur DÉJÀ posé l'emporte, quel qu'en soit le
fournisseur. mise n'est jamais installé de lui-même, « curl | sh » engage
trop pour qu'un script en décide — make install_mise porte cette décision.
MISE_PYTHON_COMPILE=false lui interdit de compiler en silence : sans ce
garde, il retomberait sur le moteur de pyenv, et nous aurions sa lenteur
sans son outillage. C'est aussi ce qui a évité que gcc s'écroule en
bâtissant CPython sur une VM s390x à faible mémoire, inutilement.
Un vrai défaut tombe au passage : un venv raté n'arrêtait pas
l'installation, qui continuait et échouait plus loin, loin de la cause.
Assisted-by: Claude Opus 5
2026-08-11 22:03:40 -04:00
|
|
|
# mise pose un CPython PRECOMPILE la ou pyenv le compile : quelques secondes
|
|
|
|
|
# contre une a trois minutes, et aucun paquet -dev requis. Volontairement
|
|
|
|
|
# EXPLICITE : « curl | sh » engage, et ce n'est pas a un script d'installation
|
|
|
|
|
# de le decider a la place de l'utilisateur. Une fois mise present,
|
|
|
|
|
# EL_PYTHON_PROVIDER=auto s'en sert tout seul.
|
|
|
|
|
#
|
|
|
|
|
# Pas de binaire s390x publie a ce jour : sur cette architecture, la cible
|
|
|
|
|
# le dit et n'installe rien.
|
|
|
|
|
.PHONY: install_mise
|
|
|
|
|
install_mise:
|
|
|
|
|
@if command -v mise >/dev/null 2>&1; then \
|
|
|
|
|
echo "mise deja present : $$(mise --version)"; \
|
|
|
|
|
elif command -v pacman >/dev/null 2>&1; then \
|
|
|
|
|
sudo pacman -S --needed --noconfirm mise; \
|
|
|
|
|
elif [ "$$(uname -m)" = "s390x" ]; then \
|
|
|
|
|
echo "mise ne publie pas de binaire s390x : on reste sur pyenv."; \
|
|
|
|
|
else \
|
|
|
|
|
echo "Installation de mise depuis https://mise.run"; \
|
|
|
|
|
curl -fsSL https://mise.run | sh; \
|
|
|
|
|
echo "Ajoutez ~/.local/bin a votre PATH, puis relancez l installation."; \
|
|
|
|
|
fi
|
|
|
|
|
|
2021-07-16 04:29:23 -04:00
|
|
|
.PHONY: db_create_db_test
|
2022-01-24 14:00:47 -05:00
|
|
|
db_create_db_test:
|
|
|
|
|
./script/make.sh db_drop_db_test
|
2025-05-04 23:10:34 -04:00
|
|
|
./odoo_bin.sh db --create --database test
|
2021-07-16 04:29:23 -04:00
|
|
|
|
2022-04-20 04:18:26 -04:00
|
|
|
.PHONY: db_clone_test_to_test2
|
|
|
|
|
db_clone_test_to_test2:
|
2025-05-04 23:10:34 -04:00
|
|
|
./odoo_bin.sh db --drop --database test2
|
|
|
|
|
./odoo_bin.sh db --clone --database test2 --from_database test
|
2022-04-20 04:18:26 -04:00
|
|
|
|
2022-01-24 14:00:54 -05:00
|
|
|
.PHONY: db_test_export
|
|
|
|
|
db_test_export:
|
|
|
|
|
./script/database/db_restore.py --database test_website_export
|
|
|
|
|
./script/addons/install_addons_dev.sh test_website_export demo_website_data
|
|
|
|
|
|
2022-04-08 15:41:39 -04:00
|
|
|
#########
|
2021-07-16 00:56:30 -04:00
|
|
|
# tag #
|
2022-04-08 15:41:39 -04:00
|
|
|
#########
|
2021-07-16 00:56:30 -04:00
|
|
|
.PHONY: tag_push_all
|
|
|
|
|
tag_push_all:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/tag_push_all.py
|
2021-07-16 00:56:30 -04:00
|
|
|
|
2021-05-16 17:53:27 -04:00
|
|
|
##############
|
|
|
|
|
# terminal #
|
|
|
|
|
##############
|
|
|
|
|
.PHONY: open_terminal
|
|
|
|
|
open_terminal:
|
|
|
|
|
./script/open_terminal_code_generator.sh
|
|
|
|
|
|
2024-12-20 11:14:30 -05:00
|
|
|
##############
|
|
|
|
|
# selenium #
|
|
|
|
|
##############
|
|
|
|
|
.PHONY: open_selenium
|
|
|
|
|
open_selenium:
|
2025-05-05 04:43:13 -04:00
|
|
|
./.venv.erplibre/bin/python ./script/selenium/web_login.py
|
2024-12-20 11:14:30 -05:00
|
|
|
|
2021-04-11 03:03:51 -04:00
|
|
|
############
|
|
|
|
|
# format #
|
|
|
|
|
############
|
|
|
|
|
.PHONY: format
|
2022-01-24 14:00:47 -05:00
|
|
|
format:
|
2025-10-31 01:10:54 -04:00
|
|
|
./script/maintenance/format_file_to_commit.py
|
|
|
|
|
|
|
|
|
|
.PHONY: format_all
|
|
|
|
|
format_all:
|
2023-04-29 22:07:07 -04:00
|
|
|
parallel ::: "./script/make.sh format_code_generator" "./script/make.sh format_code_generator_template" "./script/make.sh format_script" "./script/make.sh format_erplibre_addons" "./script/make.sh format_supported_addons"
|
2021-04-11 03:03:51 -04:00
|
|
|
|
|
|
|
|
.PHONY: format_code_generator
|
|
|
|
|
format_code_generator:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/TechnoLibre_odoo-code-generator/
|
2021-04-11 03:03:51 -04:00
|
|
|
./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator/
|
2022-12-27 22:45:20 -05:00
|
|
|
./script/maintenance/prettier_xml.sh ./addons/TechnoLibre_odoo-code-generator/
|
2021-04-11 03:03:51 -04:00
|
|
|
|
2022-03-30 04:35:55 -04:00
|
|
|
.PHONY: format_erplibre_addons
|
|
|
|
|
format_erplibre_addons:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/ERPLibre_erplibre_addons/
|
2022-03-30 04:35:55 -04:00
|
|
|
./script/maintenance/black.sh ./addons/ERPLibre_erplibre_addons/
|
2023-06-15 00:18:45 -04:00
|
|
|
./script/maintenance/prettier_xml.sh ./addons/ERPLibre_erplibre_addons/
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/ERPLibre_erplibre_theme_addons/
|
2022-03-31 01:10:41 -04:00
|
|
|
./script/maintenance/black.sh ./addons/ERPLibre_erplibre_theme_addons/
|
|
|
|
|
#./script/maintenance/prettier_xml.sh ./addons/ERPLibre_erplibre_theme_addons/
|
2022-03-30 04:35:55 -04:00
|
|
|
|
2022-04-01 04:33:28 -04:00
|
|
|
.PHONY: format_supported_addons
|
|
|
|
|
format_supported_addons:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/MathBenTech_erplibre-family-management/
|
2022-04-01 04:33:28 -04:00
|
|
|
./script/maintenance/black.sh ./addons/MathBenTech_erplibre-family-management/
|
|
|
|
|
#./script/maintenance/prettier_xml.sh ./addons/MathBenTech_erplibre-family-management/
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/MathBenTech_odoo-business-spending-management-quebec-canada/
|
2023-01-23 23:25:47 -05:00
|
|
|
./script/maintenance/black.sh ./addons/MathBenTech_odoo-business-spending-management-quebec-canada/
|
|
|
|
|
#./script/maintenance/prettier_xml.sh ./addons/MathBenTech_erplibre-family-management/
|
2022-04-01 04:33:28 -04:00
|
|
|
|
2021-04-11 03:03:51 -04:00
|
|
|
.PHONY: format_code_generator_template
|
|
|
|
|
format_code_generator_template:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./addons/TechnoLibre_odoo-code-generator-template/
|
2021-04-11 03:03:51 -04:00
|
|
|
./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator-template/
|
2021-05-27 01:47:32 -04:00
|
|
|
#./script/maintenance/prettier_xml.sh ./addons/TechnoLibre_odoo-code-generator-template/
|
2021-04-11 03:03:51 -04:00
|
|
|
|
2021-06-27 00:49:00 -04:00
|
|
|
.PHONY: format_script
|
|
|
|
|
format_script:
|
2025-05-05 04:43:13 -04:00
|
|
|
#.venv.erplibre/bin/isort --profile black -l 79 ./script/ --gitignore
|
2021-06-27 00:49:00 -04:00
|
|
|
./script/maintenance/black.sh ./script/
|
|
|
|
|
|
2022-01-24 14:00:47 -05:00
|
|
|
.PHONY: format_script_isort_only
|
|
|
|
|
format_script_isort_only:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/isort --profile black -l 79 ./script/ --gitignore
|
2022-01-24 14:00:47 -05:00
|
|
|
|
|
|
|
|
#########
|
|
|
|
|
# log #
|
|
|
|
|
#########
|
|
|
|
|
.PHONY: log_show_test
|
|
|
|
|
log_show_test:
|
|
|
|
|
vim ${LOG_FILE}
|
|
|
|
|
|
2021-03-16 23:13:41 -04:00
|
|
|
###########
|
|
|
|
|
# clean #
|
|
|
|
|
###########
|
|
|
|
|
.PHONY: clean_code_generator_template
|
|
|
|
|
clean_code_generator_template:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/repo_revert_git_diff_date_from_code_generator.py
|
2021-01-20 06:35:10 -05:00
|
|
|
|
2021-05-27 01:47:32 -04:00
|
|
|
.PHONY: clean_test
|
|
|
|
|
clean_test:
|
|
|
|
|
cd addons/OCA_server-tools; git stash; git clean -fd
|
|
|
|
|
|
2021-01-14 23:45:38 -05:00
|
|
|
##############
|
|
|
|
|
# Git repo #
|
|
|
|
|
##############
|
|
|
|
|
# clear all repo DANGER
|
|
|
|
|
.PHONY: repo_clear_all
|
|
|
|
|
repo_clear_all:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/clean_repo_manifest.sh
|
2021-01-14 23:45:38 -05:00
|
|
|
|
2021-03-13 02:21:45 -05:00
|
|
|
# configure all repo
|
|
|
|
|
.PHONY: repo_configure_all
|
|
|
|
|
repo_configure_all:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/manifest/update_manifest_local_dev.sh
|
2021-03-13 02:21:45 -05:00
|
|
|
|
2021-02-01 23:57:57 -05:00
|
|
|
# configure only group code_generator
|
|
|
|
|
.PHONY: repo_configure_group_code_generator
|
|
|
|
|
repo_configure_group_code_generator:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/manifest/update_manifest_local_dev_code_generator.sh
|
2021-02-01 23:57:57 -05:00
|
|
|
|
2021-07-01 03:18:56 -04:00
|
|
|
# Show git status for all repo
|
2021-07-01 00:52:15 -04:00
|
|
|
.PHONY: repo_show_status
|
|
|
|
|
repo_show_status:
|
2025-05-05 04:43:13 -04:00
|
|
|
.venv.erplibre/bin/repo forall -pc "git status -s"
|
2021-07-01 00:52:15 -04:00
|
|
|
|
2025-10-31 01:10:54 -04:00
|
|
|
# Show git stash for all repo
|
|
|
|
|
.PHONY: repo_do_stash
|
|
|
|
|
repo_do_stash:
|
|
|
|
|
.venv.erplibre/bin/repo forall -pc "git stash"
|
|
|
|
|
|
2021-07-16 00:13:05 -04:00
|
|
|
# Show divergence between actual repository and production manifest
|
|
|
|
|
.PHONY: repo_diff_manifest_production
|
|
|
|
|
repo_diff_manifest_production:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/git_show_code_diff_repo_manifest.py
|
2021-07-16 00:13:05 -04:00
|
|
|
|
2021-07-01 03:18:56 -04:00
|
|
|
# Show git diff for all repo from last tag version release
|
|
|
|
|
.PHONY: repo_diff_from_last_version
|
|
|
|
|
repo_diff_from_last_version:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/repo_diff_last_version.sh
|
2021-07-01 03:18:56 -04:00
|
|
|
|
|
|
|
|
# Show git diff statistique for all repo from last tag version release
|
|
|
|
|
.PHONY: repo_diff_stat_from_last_version
|
|
|
|
|
repo_diff_stat_from_last_version:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/repo_diff_stat_last_version.sh
|
2021-07-01 03:18:56 -04:00
|
|
|
|
2021-01-14 23:45:38 -05:00
|
|
|
# change all repo to ssh on all remote
|
|
|
|
|
.PHONY: repo_use_all_ssh
|
|
|
|
|
repo_use_all_ssh:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/git_change_remote_https_to_git.py
|
2021-01-14 23:45:38 -05:00
|
|
|
|
|
|
|
|
# change all repo to https on all remote
|
|
|
|
|
.PHONY: repo_use_all_https
|
|
|
|
|
repo_use_all_https:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/git_change_remote_https_to_git.py --git_to_https
|
2021-01-14 23:45:38 -05:00
|
|
|
|
2021-01-14 16:26:36 -05:00
|
|
|
###################
|
|
|
|
|
# Configuration #
|
|
|
|
|
###################
|
|
|
|
|
# generate new config.conf
|
|
|
|
|
.PHONY: config_install
|
|
|
|
|
config_install:
|
2021-07-21 16:20:25 -04:00
|
|
|
./script/generate_config.sh
|
2021-01-14 16:26:36 -05:00
|
|
|
|
2024-08-25 15:54:24 -04:00
|
|
|
.PHONY: config_update
|
|
|
|
|
config_update:
|
2024-12-02 05:27:57 -05:00
|
|
|
# Need http to configure the file config.conf, or will disable it
|
2024-08-25 15:54:24 -04:00
|
|
|
./run.sh -c config.conf -s --stop-after-init
|
|
|
|
|
|
|
|
|
|
.PHONY: config_update_over_proxy
|
|
|
|
|
config_update_over_proxy:
|
|
|
|
|
./run.sh -c config.conf -s --stop-after-init --max-cron-threads 2 --workers 2 --xmlrpc-interface 127.0.0.1 --proxy-mode
|
|
|
|
|
|
|
|
|
|
.PHONY: config_update_dev
|
|
|
|
|
config_update_dev:
|
|
|
|
|
./run.sh -c config.conf -s --stop-after-init --max-cron-threads 4 --workers 4
|
|
|
|
|
|
|
|
|
|
.PHONY: config_update_dev_mono
|
|
|
|
|
config_update_dev_mono:
|
|
|
|
|
./run.sh -c config.conf -s --stop-after-init --workers 0
|
|
|
|
|
|
|
|
|
|
.PHONY: config_clear
|
|
|
|
|
config_clear:
|
|
|
|
|
rm -f ./config.conf
|
|
|
|
|
|
2021-01-14 16:26:36 -05:00
|
|
|
# generate config all repo
|
|
|
|
|
.PHONY: config_gen_all
|
|
|
|
|
config_gen_all:
|
2024-08-25 15:54:24 -04:00
|
|
|
echo "config_gen_all"
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/git_repo_update_group.py
|
2021-07-21 16:20:25 -04:00
|
|
|
./script/generate_config.sh
|
2021-01-14 16:26:36 -05:00
|
|
|
|
2021-07-20 19:43:28 -04:00
|
|
|
# generate config repo image_db
|
|
|
|
|
.PHONY: config_gen_image_db
|
|
|
|
|
config_gen_image_db:
|
2023-01-02 20:33:57 -05:00
|
|
|
./script/git/git_repo_update_group.py --group base,image_db
|
2021-07-21 16:20:25 -04:00
|
|
|
./script/generate_config.sh
|
2021-07-20 19:43:28 -04:00
|
|
|
|
2025-05-04 23:10:34 -04:00
|
|
|
.PHONY: config_gen_migration
|
|
|
|
|
config_gen_migration:
|
|
|
|
|
./script/git/git_repo_update_group.py --group base,addons,migration
|
|
|
|
|
./script/generate_config.sh
|
|
|
|
|
|
2021-02-02 05:24:39 -05:00
|
|
|
##########
|
|
|
|
|
# I18n #
|
|
|
|
|
##########
|
|
|
|
|
|
|
|
|
|
# i18n generation demo_portal
|
|
|
|
|
.PHONY: i18n_generate_demo_portal
|
|
|
|
|
i18n_generate_demo_portal:
|
2025-05-04 23:10:34 -04:00
|
|
|
./odoo_bin.sh i18n --database code_generator --module demo_portal --addons_path addons/TechnoLibre_odoo-code-generator
|
2021-02-02 05:24:39 -05:00
|
|
|
|
2022-01-24 14:00:47 -05:00
|
|
|
###########
|
|
|
|
|
# Clean #
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
|
clean:
|
2025-10-31 01:10:54 -04:00
|
|
|
find . \( -name '__pycache__' -type d -prune -o -name '*.pyc' -o -name '*.pyo' \) -exec rm -rf {} +
|
2022-01-24 14:00:47 -05:00
|
|
|
|
2023-02-19 04:23:17 -05:00
|
|
|
###############
|
|
|
|
|
# Statistic #
|
|
|
|
|
###############
|
|
|
|
|
.PHONY: stat_module_evolution_per_year
|
|
|
|
|
stat_module_evolution_per_year:
|
|
|
|
|
./script/statistic/show_evolution_module.py --before_date "2016-01-01" --more_year 7
|
|
|
|
|
|
|
|
|
|
.PHONY: stat_module_evolution_per_year_OCA
|
|
|
|
|
stat_module_evolution_per_year_OCA:
|
|
|
|
|
./script/statistic/show_evolution_module.py --filter "/OCA/" --before_date "2016-01-01" --more_year 7
|
|
|
|
|
|
2024-09-11 00:28:46 -04:00
|
|
|
# Cache
|
|
|
|
|
.PHONY: clear_cache
|
|
|
|
|
clear_cache:
|
|
|
|
|
rm -rf cache artifacts .coverage coverage.json
|
2024-09-27 01:44:52 -04:00
|
|
|
|
|
|
|
|
#######
|
|
|
|
|
# IDE #
|
|
|
|
|
#######
|
|
|
|
|
.PHONY: pycharm_open
|
|
|
|
|
pycharm_open:
|
|
|
|
|
~/.local/share/JetBrains/Toolbox/scripts/pycharm .
|
|
|
|
|
|
|
|
|
|
.PHONY: pycharm_configure
|
|
|
|
|
pycharm_configure:
|
|
|
|
|
./script/ide/pycharm_configuration.py --init
|