471 lines
16 KiB
Makefile
471 lines
16 KiB
Makefile
SHELL := /bin/bash
|
|
#############
|
|
# General #
|
|
#############
|
|
# ALL
|
|
.PHONY: all
|
|
all: doc
|
|
|
|
###############
|
|
# 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
|
|
|
|
#########
|
|
# 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
|
|
|
|
.PHONY: run_code_generator
|
|
run_code_generator:
|
|
echo http://localhost:8069
|
|
# -$(BROWSER) http://localhost:8069
|
|
./run.sh --database code_generator
|
|
|
|
#############
|
|
# INSTALL #
|
|
#############
|
|
.PHONY: install
|
|
install:install_os install_dev
|
|
|
|
.PHONY: install_dev
|
|
install_dev:
|
|
./script/install_locally_dev.sh
|
|
|
|
# Install this for the first time of dev environment
|
|
.PHONY: install_os
|
|
install_os:
|
|
./script/install_dev.sh
|
|
|
|
.PHONY: install_docker_debian
|
|
install_docker_debian:
|
|
./script/ install_debian_10_prod_docker.sh
|
|
|
|
.PHONY: install_docker_ubuntu
|
|
install_docker_ubuntu:
|
|
./script/install_ubuntu_docker.sh
|
|
|
|
#####################
|
|
# DB installation #
|
|
#####################
|
|
.PHONY: db_list
|
|
db_list:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --list
|
|
|
|
.PHONY: db_list_incompatible_database
|
|
db_list_incompatible_database:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --list_incompatible_db
|
|
|
|
.PHONY: db_version
|
|
db_version:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --version
|
|
|
|
.PHONY: db_drop_db_test
|
|
db_drop_db_test:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test
|
|
|
|
.PHONY: db_drop_db_test2
|
|
db_drop_db_test2:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test2
|
|
|
|
.PHONY: db_drop_db_test3
|
|
db_drop_db_test3:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test3
|
|
|
|
.PHONY: db_drop_db_code_generator
|
|
db_drop_db_code_generator:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --drop --database code_generator
|
|
|
|
.PHONY: db_drop_db_template
|
|
db_drop_db_template:
|
|
./.venv/bin/python3 ./odoo/odoo-bin db --drop --database template
|
|
|
|
.PHONY: db_restore_erplibre_base_db_test
|
|
db_restore_erplibre_base_db_test:
|
|
./script/db_restore.py --database test
|
|
|
|
.PHONY: db_restore_erplibre_base_db_test_module_test
|
|
db_restore_erplibre_base_db_test_module_test: db_restore_erplibre_base_db_test
|
|
./script/addons/install_addons.sh test test
|
|
|
|
.PHONY: db_restore_erplibre_base_db_test2
|
|
db_restore_erplibre_base_db_test2:
|
|
./script/db_restore.py --database test2
|
|
|
|
.PHONY: db_restore_erplibre_base_db_test3
|
|
db_restore_erplibre_base_db_test3:
|
|
./script/db_restore.py --database test3
|
|
|
|
.PHONY: db_restore_erplibre_website_db_test
|
|
db_restore_erplibre_website_db_test:
|
|
./script/db_restore.py --database test --image erplibre_website
|
|
|
|
.PHONY: db_restore_erplibre_website_chat_crm_db_test
|
|
db_restore_erplibre_website_chat_crm_db_test:
|
|
./script/db_restore.py --database test --image erplibre_website_chat_crm
|
|
|
|
.PHONY: db_restore_erplibre_ecommerce_base_db_test
|
|
db_restore_erplibre_ecommerce_base_db_test:
|
|
./script/db_restore.py --database test --image erplibre_ecommerce_base
|
|
|
|
.PHONY: db_restore_erplibre_base_db_code_generator
|
|
db_restore_erplibre_base_db_code_generator:
|
|
./script/db_restore.py --database code_generator
|
|
|
|
.PHONY: db_restore_erplibre_base_db_template
|
|
db_restore_erplibre_base_db_template:
|
|
./script/db_restore.py --database template
|
|
|
|
#########################
|
|
# Addons installation #
|
|
#########################
|
|
.PHONY: addons_install_code_generator_basic
|
|
addons_install_code_generator_basic: db_restore_erplibre_base_db_code_generator
|
|
./script/addons/install_addons_dev.sh code_generator code_generator
|
|
|
|
.PHONY: addons_install_code_generator_featured
|
|
addons_install_code_generator_featured: db_restore_erplibre_base_db_code_generator
|
|
./script/addons/install_addons_dev.sh code_generator code_generator_cron,code_generator_hook,code_generator_portal
|
|
|
|
.PHONY: addons_install_code_generator_full
|
|
addons_install_code_generator_full: db_restore_erplibre_base_db_code_generator
|
|
./script/addons/install_addons_dev.sh code_generator code_generator_cron,code_generator_hook,code_generator_portal,code_generator_db_servers,code_generator_website_snippet,code_generator_geoengine,code_generator_theme_website,code_generator_website_leaflet
|
|
|
|
.PHONY: addons_install_code_generator_demo
|
|
addons_install_code_generator_demo:
|
|
./script/addons/install_addons_dev.sh code_generator code_generator_demo
|
|
|
|
.PHONY: addons_uninstall_code_generator_demo
|
|
addons_uninstall_code_generator_demo:
|
|
./script/addons/uninstall_addons.sh code_generator code_generator_demo
|
|
|
|
.PHONY: addons_reinstall_code_generator_demo
|
|
addons_reinstall_code_generator_demo: addons_uninstall_code_generator_demo addons_install_code_generator_demo
|
|
|
|
.PHONY: addons_install_all_code_generator_demo
|
|
addons_install_all_code_generator_demo: db_restore_erplibre_base_db_code_generator
|
|
./script/addons/install_addons_dev.sh code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_internal,code_generator_demo_portal,code_generator_demo_theme_website,code_generator_demo_website_leaflet,code_generator_demo_website_snippet
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_export_helpdesk
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_internal
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_portal
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_theme_website
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_leaflet
|
|
# ./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_snippet
|
|
|
|
.PHONY: addons_install_all_code_generator_template
|
|
addons_install_all_code_generator_template:
|
|
./script/addons/install_addons_dev.sh template demo_portal,auto_backup
|
|
./script/addons/install_addons_dev.sh template code_generator_template_demo_portal code_generator_template_demo_sysadmin_cron
|
|
|
|
.PHONY: addons_install_all_generated_demo
|
|
addons_install_all_generated_demo:
|
|
./script/addons/install_addons_dev.sh template demo_export_helpdesk,demo_internal,demo_portal,demo_website_leaflet,demo_website_snippet
|
|
# TODO support installation theme with cli
|
|
#./script/addons/install_addons_dev.sh template theme_website_demo_code_generator
|
|
|
|
.PHONY: addons_install_all_code_generator
|
|
addons_install_all_code_generator:
|
|
./script/addons/install_addons_dev.sh code_generator code_generator_auto_backup
|
|
|
|
##########
|
|
# test #
|
|
##########
|
|
.PHONY: test
|
|
test: test_format test_code_generator_generation test_code_generator_generation_extra test_code_generator_code_i18n test_code_generator_code_i18n_extra
|
|
|
|
.PHONY: test_format
|
|
test_format:
|
|
./script/maintenance/black.sh --check ./addons/TechnoLibre_odoo-code-generator/
|
|
./script/maintenance/black.sh --check ./addons/TechnoLibre_odoo-code-generator-template/
|
|
|
|
.PHONY: test_code_generator_generation
|
|
test_code_generator_generation:
|
|
./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
|
|
./script/db_restore.py --database code_generator
|
|
./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_internal,code_generator_demo_portal,code_generator_demo_theme_website,code_generator_demo_website_leaflet,code_generator_demo_website_snippet ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_export_helpdesk ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_internal ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_portal ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_theme_website ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_website_leaflet ./addons/TechnoLibre_odoo-code-generator-template
|
|
# ./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_demo_website_snippet ./addons/TechnoLibre_odoo-code-generator-template
|
|
|
|
.PHONY: test_code_generator_generation_extra
|
|
test_code_generator_generation_extra:
|
|
./script/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
|
|
./script/db_restore.py --database code_generator
|
|
./script/code_generator/install_and_test_code_generator.sh code_generator code_generator_auto_backup ./addons/OCA_server-tools/auto_backup
|
|
|
|
.PHONY: test_code_generator_code_i18n
|
|
test_code_generator_code_i18n:
|
|
./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
|
|
./script/db_restore.py --database template
|
|
./script/addons/install_addons_dev.sh template demo_portal
|
|
./script/code_generator/install_and_test_code_generator.sh template code_generator_template_demo_portal ./addons/TechnoLibre_odoo-code-generator-template
|
|
|
|
.PHONY: test_code_generator_code_i18n_extra
|
|
test_code_generator_code_i18n_extra:
|
|
./script/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
|
|
./script/db_restore.py --database template
|
|
./script/addons/install_addons_dev.sh template auto_backup
|
|
./script/code_generator/install_and_test_code_generator.sh template code_generator_template_demo_sysadmin_cron ./addons/TechnoLibre_odoo-code-generator-template
|
|
# To support i18n in auto_backup
|
|
./script/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
|
|
|
|
##############
|
|
# terminal #
|
|
##############
|
|
.PHONY: open_terminal
|
|
open_terminal:
|
|
./script/open_terminal_code_generator.sh
|
|
|
|
############
|
|
# format #
|
|
############
|
|
.PHONY: format
|
|
format: format_code_generator format_code_generator_template format_script
|
|
|
|
.PHONY: format_code_generator
|
|
format_code_generator:
|
|
./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator/
|
|
#./script/maintenance/prettier_xml.sh ./addons/TechnoLibre_odoo-code-generator/
|
|
|
|
.PHONY: format_code_generator_template
|
|
format_code_generator_template:
|
|
./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator-template/
|
|
#./script/maintenance/prettier_xml.sh ./addons/TechnoLibre_odoo-code-generator-template/
|
|
|
|
.PHONY: format_script
|
|
format_script:
|
|
./script/maintenance/black.sh ./script/
|
|
|
|
###########
|
|
# clean #
|
|
###########
|
|
.PHONY: clean_code_generator_template
|
|
clean_code_generator_template:
|
|
./script/repo_revert_git_diff_date_from_code_generator.py
|
|
|
|
.PHONY: clean_test
|
|
clean_test:
|
|
cd addons/OCA_server-tools; git stash; git clean -fd
|
|
|
|
############
|
|
# docker #
|
|
############
|
|
# run docker
|
|
.PHONY: docker_run
|
|
docker_run:
|
|
docker-compose up
|
|
|
|
.PHONY: docker_run_daemon
|
|
docker_run_daemon:
|
|
docker-compose up -d
|
|
|
|
.PHONY: docker_stop
|
|
docker_stop:
|
|
docker-compose down
|
|
|
|
.PHONY: docker_restart_daemon
|
|
docker_restart_daemon: docker_stop docker_run_daemon
|
|
|
|
.PHONY: docker_show_logs_live
|
|
docker_show_logs_live:
|
|
docker-compose logs -f
|
|
|
|
.PHONY: docker_show_process
|
|
docker_show_process:
|
|
docker-compose ps
|
|
|
|
.PHONY: docker_exec_erplibre
|
|
docker_exec_erplibre:
|
|
./script/docker/docker_exec.sh
|
|
|
|
.PHONY: docker_exec_erplibre_gen_config
|
|
docker_exec_erplibre_gen_config:
|
|
./script/docker/docker_gen_config.sh
|
|
|
|
.PHONY: docker_exec_erplibre_make_test
|
|
docker_exec_erplibre_make_test:
|
|
./script/docker/docker_make_test.sh
|
|
|
|
.PHONY: docker_exec_erplibre_repo_show_status
|
|
docker_exec_erplibre_repo_show_status:
|
|
./script/docker/docker_repo_show_status.sh
|
|
|
|
# build docker
|
|
.PHONY: docker_build
|
|
docker_build:
|
|
./script/docker/docker_build.sh
|
|
|
|
# build docker release
|
|
.PHONY: docker_build_release
|
|
docker_build_release:
|
|
./script/docker/docker_build.sh --release
|
|
|
|
# docker clean all
|
|
.PHONY: docker_clean_all
|
|
docker_clean_all:
|
|
docker system prune -a --volumes
|
|
|
|
##############
|
|
# Git repo #
|
|
##############
|
|
# clear all repo DANGER
|
|
.PHONY: repo_clear_all
|
|
repo_clear_all:
|
|
./script/clean_repo_manifest.sh
|
|
|
|
# configure all repo
|
|
.PHONY: repo_configure_all
|
|
repo_configure_all:
|
|
./script/update_manifest_local_dev.sh
|
|
|
|
# configure only group code_generator
|
|
.PHONY: repo_configure_group_code_generator
|
|
repo_configure_group_code_generator:
|
|
./script/update_manifest_local_dev_code_generator.sh
|
|
|
|
# Show git status for all repo
|
|
.PHONY: repo_show_status
|
|
repo_show_status:
|
|
./.venv/repo forall -pc "git status -s"
|
|
|
|
# Show divergence between actual repository and production manifest
|
|
.PHONY: repo_diff_manifest_production
|
|
repo_diff_manifest_production:
|
|
./script/git_show_code_diff_repo_manifest.py
|
|
|
|
# Show git diff for all repo from last tag version release
|
|
.PHONY: repo_diff_from_last_version
|
|
repo_diff_from_last_version:
|
|
./script/repo_diff_last_version.sh
|
|
|
|
# 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:
|
|
./script/repo_diff_stat_last_version.sh
|
|
|
|
# change all repo to ssh on all remote
|
|
.PHONY: repo_use_all_ssh
|
|
repo_use_all_ssh:
|
|
./script/git_change_remote_https_to_git.py
|
|
|
|
# change all repo to https on all remote
|
|
.PHONY: repo_use_all_https
|
|
repo_use_all_https:
|
|
./script/git_change_remote_https_to_git.py --git_to_https
|
|
|
|
###################
|
|
# Configuration #
|
|
###################
|
|
# generate new config.conf
|
|
.PHONY: config_install
|
|
config_install:
|
|
./script/install_locally.sh
|
|
|
|
# generate config all repo
|
|
.PHONY: config_gen_all
|
|
config_gen_all:
|
|
./script/git_repo_update_group.py
|
|
./script/install_locally.sh
|
|
|
|
# generate config repo code_generator
|
|
.PHONY: config_gen_code_generator
|
|
config_gen_code_generator:
|
|
./script/git_repo_update_group.py --group base,code_generator
|
|
./script/install_locally.sh
|
|
|
|
##########
|
|
# I18n #
|
|
##########
|
|
|
|
# i18n generation demo_portal
|
|
.PHONY: i18n_generate_demo_portal
|
|
i18n_generate_demo_portal:
|
|
./.venv/bin/python3 ./odoo/odoo-bin i18n --database code_generator --module demo_portal --addons_path addons/TechnoLibre_odoo-code-generator
|
|
|
|
###################
|
|
# Documentation #
|
|
###################
|
|
# documentation all
|
|
.PHONY: doc
|
|
doc: doc_dev doc_migration doc_test doc_user
|
|
|
|
# documentation clean all
|
|
.PHONY: doc_clean
|
|
doc_clean: doc_clean_dev doc_clean_migration doc_clean_test doc_clean_user
|
|
|
|
# documentation dev
|
|
.PHONY: doc_dev
|
|
doc_dev:
|
|
source ./.venv/bin/activate && make -C doc/itpp-labs_odoo-development/docs html || exit 1
|
|
-$(BROWSER) doc/itpp-labs_odoo-development/docs/_build/html/index.html
|
|
|
|
.PHONY: doc_clean_dev
|
|
doc_clean_dev:
|
|
make -C doc/itpp-labs_odoo-development/docs clean
|
|
|
|
# documentation migration
|
|
.PHONY: doc_migration
|
|
doc_migration:
|
|
source ./.venv/bin/activate && make -C doc/itpp-labs_odoo-port-docs/docs html || exit 1
|
|
-$(BROWSER) doc/itpp-labs_odoo-port-docs/docs/_build/html/index.html
|
|
|
|
.PHONY: doc_clean_migration
|
|
doc_clean_migration:
|
|
make -C doc/itpp-labs_odoo-port-docs/docs clean
|
|
|
|
# documentation test
|
|
.PHONY: doc_test
|
|
doc_test:
|
|
source ./.venv/bin/activate && make -C doc/itpp-labs_odoo-test-docs/doc-src html || exit 1
|
|
-$(BROWSER) doc/itpp-labs_odoo-test-docs/doc-src/_build/html/index.html
|
|
|
|
.PHONY: doc_clean_test
|
|
doc_clean_test:
|
|
make -C doc/itpp-labs_odoo-test-docs/doc-src clean
|
|
|
|
# documentation user
|
|
.PHONY: doc_user
|
|
doc_user:
|
|
source ./.venv/bin/activate && make -C doc/odoo_documentation-user html || exit 1
|
|
-$(BROWSER) doc/odoo_documentation-user/_build/html/index.html
|
|
|
|
.PHONY: doc_clean_user
|
|
doc_clean_user:
|
|
make -C doc/odoo_documentation-user clean
|
|
|
|
# documentation markdown
|
|
.PHONY: doc_markdown
|
|
doc_markdown:
|
|
./.venv/multilang_md.py $(shell pwd)/doc/CODE_GENERATOR.base.md
|