diff --git a/Makefile b/Makefile
index bb7e9f4..c33a7fe 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ LOG_FILE := ./.venv/make_test.log
#############
# ALL
.PHONY: all
-all: doc
+all: todo
###############
# Detect OS #
@@ -30,8 +30,19 @@ else
endif
endif
-# Can integrate dedicated makefile of custom project
--include Common.Makefile
+# Include all Makefile
+-include ./conf/make.code_generator.Makefile
+-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
+-include ./conf/make.test.Makefile
+-include ./conf/make.todo.Makefile
+
+# Include private Makefile
+-include make.private.Makefile
# Example for update
.PHONY: custom_run_example
@@ -63,24 +74,6 @@ run_prod_client:
echo http://localhost:8069
./run.sh --database prod_client
-.PHONY: run_code_generator
-run_code_generator:
- echo http://localhost:8069
- # -$(BROWSER) http://localhost:8069
- ./run.sh --database code_generator
-
-.PHONY: run_parallel_cg
-run_parallel_cg:
- parallel < ./conf/list_cg_test.txt
-
-.PHONY: run_parallel_cg_template
-run_parallel_cg_template:
- parallel < ./conf/list_cg_template_test.txt
-
-.PHONY: run_parallel_cg_migrator
-run_parallel_cg_migrator:
- parallel < ./conf/list_cg_migrator_test.txt
-
############
# VERSION #
############
@@ -88,86 +81,6 @@ run_parallel_cg_migrator:
version:
./script/version/update_env_version.py
-#############
-# INSTALL #
-#############
-.PHONY: install
-install:install_os install_dev
-
-.PHONY: install_dev
-install_dev:
- # ./script/version/update_env_version.py
- # ./script/install/install_locally_dev.sh
- ./script/version/update_env_version.py --install_dev
-
-.PHONY: install_odoo_16
-install_odoo_16:
- ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.14 --install_dev
-
-.PHONY: switch_odoo_16
-switch_odoo_16:
- ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.14 --switch
- ./script/make.sh config_gen_all
-
-.PHONY: install_odoo_14
-install_odoo_14:
- ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --install_dev
-
-.PHONY: switch_odoo_14
-switch_odoo_14:
- ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --switch
- ./script/make.sh config_gen_all
-
-.PHONY: install_odoo_12
-install_odoo_12:
- ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --install_dev
-
-.PHONY: switch_odoo_12
-switch_odoo_12:
- ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --switch
- ./script/make.sh config_gen_all
-
-.PHONY: install_odoo_all_version
-install_odoo_all_version:
- ./script/make.sh install_odoo_12
- ./script/make.sh install_odoo_14
- ./script/make.sh install_odoo_16
-
-.PHONY: install_odoo_all_version_dev
-install_odoo_all_version_dev:
- echo "Open Pycharm, close it before install Odoo and reopen at the end"
- pycharm .
- ./script/make.sh install_odoo_12
- ./script/make.sh install_odoo_14
- ./script/make.sh install_odoo_16
-
-#.PHONY: install_update_odoo
-#install_update_odoo:
-# ./script/version/update_env_version.py --install_dev --update_addons
-
-.PHONY: install_show_version
-install_show_version:
- ./script/version/update_env_version.py -l
-
-# Install this for the first time of dev environment
-.PHONY: install_os
-install_os:
- #./script/install/install_dev.sh
- ./script/version/update_env_version.py --install
-
-.PHONY: install_production
-install_production:
- ./script/install/install_dev.sh
- ./script/install/install_production.sh
-
-.PHONY: install_docker_debian
-install_docker_debian:
- ./script/install/install_debian_10_prod_docker.sh
-
-.PHONY: install_docker_ubuntu
-install_docker_ubuntu:
- ./script/install/install_ubuntu_docker.sh
-
###################
# Environnement #
###################
@@ -175,92 +88,6 @@ install_docker_ubuntu:
pyenv_update:
~/.pyenv/bin/pyenv update
-#####################
-# 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_drop_all
-db_drop_all:
- ./script/database/db_drop_all.py
-
-.PHONY: db_drop_test
-db_drop_test:
- ./script/database/db_drop_all.py --test_only
-
-.PHONY: db_clean_cache
-db_clean_cache:
- ./script/database/db_restore.py --clean_cache
-
-.PHONY: db_restore_erplibre_base_db_test
-db_restore_erplibre_base_db_test:
- ./script/database/db_restore.py --database test
-
-.PHONY: db_restore_erplibre_base_db_test_module_test
-db_restore_erplibre_base_db_test_module_test:
- ./script/database/db_restore.py --database test
- ./script/addons/install_addons.sh test test
-
-.PHONY: db_restore_prod_client
-db_restore_prod_client:
- # You need to put the database backup in ./image_db/prod_client.zip
- ./script/database/db_restore.py --database prod_client --image prod_client
- ./script/database/migrate_prod_to_test.sh prod_client
-
-.PHONY: db_restore_erplibre_base_db_test_image_test
-db_restore_erplibre_base_db_test_image_test:
- ./script/database/db_restore.py --database test --image test
-
-.PHONY: db_restore_erplibre_website_db_test
-db_restore_erplibre_website_db_test:
- ./script/database/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/database/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/database/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/database/db_restore.py --database code_generator
-
-.PHONY: db_restore_erplibre_base_db_template
-db_restore_erplibre_base_db_template:
- ./script/database/db_restore.py --database template
-
.PHONY: db_create_db_test
db_create_db_test:
./script/make.sh db_drop_db_test
@@ -276,465 +103,6 @@ db_test_export:
./script/database/db_restore.py --database test_website_export
./script/addons/install_addons_dev.sh test_website_export demo_website_data
-.PHONY: db_test_re_export_website_attachments
-db_test_re_export_website_attachments:
- ./script/database/db_restore.py --database test_website_export
- ./script/addons/install_addons_dev.sh test_website_export demo_website_attachments_data
- # TODO this test fail at uninstall, it remove all files.
- # TODO Strategy is to update ir_model_data, change module data and attach to another module like website
- # TODO and update all link in website, (or use id of ir.attachment instead of xmlid website.)
- ./script/addons/uninstall_addons.sh test_website_export demo_website_attachments_data
- ./script/addons/install_addons_dev.sh test_website_export code_generator_demo_export_website_attachments
-
-########################
-# Image installation #
-########################
-
-.PHONY: image_db_create_erplibre_code_generator
-image_db_create_erplibre_code_generator:
- ./script/make.sh addons_install_code_generator_basic
- ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_basic
- ./script/make.sh addons_install_code_generator_featured
- ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_featured
- ./script/make.sh addons_install_code_generator_full
- ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_full
-
-.PHONY: image_db_create_all_parallel
-image_db_create_all_parallel:
- ./script/database/db_restore.py --clean_cache
- echo "Search in-existing module"
- ./.venv/bin/python3 ./script/database/image_db.py --check_addons_exist
- echo "Create Image DB"
- ./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel | bash
- ./script/database/db_restore.py --clean_cache
- #./script/make.sh image_db_create_test_website_attachments
-
-.PHONY: image_db_list_data
-image_db_list_data:
- ./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel
- #./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel --odoo_version 12.0
-
-.PHONY: image_db_list
-image_db_list:
- ./.venv/bin/python3 ./script/database/image_db.py --show_list_only
- #./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel --odoo_version 12.0
-
-.PHONY: image_db_create_test_website_attachments
-image_db_create_test_website_attachments:
- ./script/database/db_restore.py --database code_generator_test_website_attachements --image test_website_attachments
- # Do your stuff
- ./.venv/bin/python3 ./odoo/odoo-bin --limit-time-real 999999 --no-http -c config.conf --stop-after-init -d code_generator_test_website_attachements -u all
- ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator_test_website_attachements --restore_image test_website_attachments
-
-.PHONY: image_diff_base_website
-image_diff_base_website:
- #./script/database/compare_backup.py --backup_file_1 ./image_db/erplibre_base.zip --backup_file_2 ./image_db/erplibre_website.zip
- ./script/database/compare_backup.py --backup_1 odoo12.0_base --backup_2 odoo12.0_website
-
-#########################
-# Addons installation #
-#########################
-.PHONY: addons_install_code_generator_basic
-addons_install_code_generator_basic:
- ./script/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator
-
-.PHONY: addons_install_code_generator_featured
-addons_install_code_generator_featured:
- ./script/database/db_restore.py --database 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:
- ./script/database/db_restore.py --database 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/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator_demo
-
-.PHONY: addons_install_all_code_generator_demo
-addons_install_all_code_generator_demo:
- ./script/database/db_restore.py --database code_generator
- # TODO ignore code_generator_demo_internal cause (demo_internal, demo_model_2_internal_view_form) already exists
- ./script/addons/install_addons_dev.sh code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_export_website,code_generator_demo_internal_inherit,code_generator_demo_portal,code_generator_demo_theme_website,code_generator_demo_website_leaflet,code_generator_demo_website_snippet,code_generator_auto_backup
- # Conflict between code_generator_demo_website_multiple_snippet and code_generator_demo_internal_inherit
- ./script/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_multiple_snippet
- ./script/database/db_restore.py --database code_generator_test_website_attachements --image test_website_attachments
- ./script/addons/install_addons_dev.sh code_generator_test_website_attachements code_generator_demo_export_website_attachments
-
- #./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_export_website
- #./script/addons/install_addons_dev.sh code_generator code_generator_demo_internal
- #./script/addons/install_addons_dev.sh code_generator code_generator_demo_internal_inherit
- #./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
- #./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_multiple_snippet
- #./script/addons/install_addons_dev.sh code_generator code_generator_auto_backup
-
-.PHONY: addons_install_all_code_generator_template
-addons_install_all_code_generator_template:
- ./script/database/db_restore.py --database template
- ./script/addons/install_addons_dev.sh template demo_portal,auto_backup,demo_internal_inherit
- ./script/addons/install_addons_dev.sh template code_generator_template_demo_portal,code_generator_template_demo_sysadmin_cron,code_generator_template_demo_internal_inherit
-
- #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_portal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_portal
- #./script/addons/install_addons_dev.sh template demo_portal
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_portal
-
- #./script/code_generator/search_class_model.py --quiet -d addons/OCA_server-tools/auto_backup -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_sysadmin_cron
- #./script/addons/install_addons_dev.sh template auto_backup
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_sysadmin_cron
-
- #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal
- #./script/addons/install_addons_dev.sh template demo_internal
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_internal
-
- #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal_inherit -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal_inherit
- #./script/addons/install_addons_dev.sh template demo_internal_inherit
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_internal_inherit
-
- # TODO not working, need to add in test parallel
- #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_website_snippet -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_website_snippet
- #./script/addons/install_addons_dev.sh template demo_website_snippet
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_website_snippet
-
- # TODO not working, need to add in test parallel
- #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_website_multiple_snippet -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_website_multiple_snippet
- #./script/addons/install_addons_dev.sh template demo_website_multiple_snippet
- #./script/addons/install_addons_dev.sh template code_generator_template_demo_website_multiple_snippet
-
-.PHONY: addons_install_all_generated_demo
-addons_install_all_generated_demo:
- ./script/database/db_restore.py --database template
- ./script/addons/install_addons_dev.sh template demo_helpdesk_data,demo_website_data,demo_internal,demo_internal_inherit,demo_portal,demo_website_leaflet,demo_website_snippet,auto_backup
- ./script/addons/install_addons_theme.sh template theme_website_demo_code_generator
- #./script/addons/install_addons_dev.sh template demo_helpdesk_data
- #./script/addons/install_addons_dev.sh template demo_website_data
- #./script/addons/install_addons_dev.sh template demo_internal
- #./script/addons/install_addons_dev.sh template demo_internal_inherit
- #./script/addons/install_addons_dev.sh template demo_portal
- #./script/addons/install_addons_dev.sh template demo_website_leaflet
- #./script/addons/install_addons_dev.sh template demo_website_snippet
- #./script/addons/install_addons_dev.sh template auto_backup
- #./script/addons/install_addons_theme.sh template theme_website_demo_code_generator
-
-##################
-# Code generator #
-##################
-.PHONY: addons_install_code_generator_template_code_generator
-addons_install_code_generator_template_code_generator:
- ./script/database/db_restore.py --database template
- ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator/code_generator -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_code_generator --with_inherit
- ./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator-template/code_generator_template_code_generator
- ./script/addons/install_addons_dev.sh template code_generator
- ./script/addons/install_addons_dev.sh template code_generator_template_code_generator
- ./script/git/remote_code_generation_git_compare.py --quiet --git_gui --clear --replace_directory --directory1 ./addons/TechnoLibre_odoo-code-generator-template/code_generator_code_generator --directory2 ./addons/TechnoLibre_odoo-code-generator/code_generator_code_generator
-
-.PHONY: addons_install_code_generator_code_generator
-addons_install_code_generator_code_generator:
- ./script/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator_code_generator
- ./script/git/remote_code_generation_git_compare.py --quiet --git_gui --clear --replace_directory --directory1 ./addons/TechnoLibre_odoo-code-generator/code_generator --directory2 ./addons/TechnoLibre_odoo-code-generator-template/code_generator
-
-.PHONY: meld_code_generator_template_code_generator
-meld_code_generator_template_code_generator:
- ./script/make.sh clean
- meld ./addons/TechnoLibre_odoo-code-generator/code_generator_code_generator ./addons/TechnoLibre_odoo-code-generator-template/code_generator_code_generator
-
-.PHONY: meld_code_generator_code_generator
-meld_code_generator_code_generator:
- ./script/make.sh clean
- meld ./addons/TechnoLibre_odoo-code-generator-template/code_generator ./addons/TechnoLibre_odoo-code-generator/code_generator
-
-########################
-# Extra migrator sql #
-########################
-.PHONY: addons_install_code_generator_mariadb_sql_example_1
-addons_install_code_generator_mariadb_sql_example_1:
- ./script/database/restore_mariadb_sql_example_1.sh
- ./script/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator_portal
- ./script/addons/install_addons_dev.sh code_generator code_generator_migrator_demo_mariadb_sql_example_1
-
- ./script/database/db_restore.py --database template
- ./script/addons/install_addons_dev.sh template code_generator_portal,demo_mariadb_sql_example_1
- ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_mariadb_sql_example_1 -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_mariadb_sql_example_1
- ./script/addons/install_addons_dev.sh template code_generator_template_demo_mariadb_sql_example_1
-
- ./script/database/db_restore.py --database code_generator
- ./script/addons/install_addons_dev.sh code_generator code_generator_portal
- ./script/addons/install_addons_dev.sh code_generator code_generator_demo_mariadb_sql_example_1
-
-##########
-# test #
-##########
-.PHONY: test
-test:
- ./script/make.sh clean
- -rm ${LOG_FILE}
- ./script/make.sh test_base |& tee -a ${LOG_FILE}
- ./script/test/check_result_test.sh ${LOG_FILE}
-
-.PHONY: test_full
-test_full:
- ./script/make.sh clean
- -rm ${LOG_FILE}
- ./script/make.sh test_base |& tee -a ${LOG_FILE}
- ./script/make.sh test_extra |& tee -a ${LOG_FILE}
- #./script/make.sh doc |& tee -a ${LOG_FILE}
- ./script/test/check_result_test.sh ${LOG_FILE}
-
-.PHONY: test_full_fast
-test_full_fast:
- ./script/make.sh clean
- # Need to create a BD to create cache _cache_erplibre_base
- ./script/database/db_restore.py --database test
- #./script/test/run_parallel_test.py --keep_cache
- ./script/test/run_parallel_test.py
- # TODO This test is broken in parallel
- #./script/make.sh test_code_generator_hello_world
-
-.PHONY: test_full_fast_debug
-test_full_fast_debug:
- ./script/make.sh clean
- # Need to create a BD to create cache _cache_erplibre_base
- ./script/database/db_restore.py --database test
- ./script/test/run_parallel_test.py --keep_cache
- # TODO This test is broken in parallel
- #./script/make.sh test_code_generator_hello_world
-
-.PHONY: test_full_fast_coverage
-test_full_fast_coverage:
- ./script/make.sh clean
- # Need to create a BD to create cache _cache_erplibre_base
- ./script/database/db_restore.py --database test
- ./.venv/bin/coverage erase
- ./script/test/run_parallel_test.py --coverage
- # TODO This test is broken in parallel
- #./script/make.sh test_coverage_code_generator_hello_world
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
- # run: make open_test_coverage
-
-
-.PHONY: test_cg_demo
-test_cg_demo:
- ./script/make.sh clean
- # Need to create a BD to create cache _cache_erplibre_base
- ./script/database/db_restore.py --database test
- ./.venv/bin/coverage erase
- ./script/addons/coverage_install_addons_dev.sh test code_generator_demo
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
-
-
-.PHONY: test_base
-test_base:
- ./script/make.sh test_format
- ./script/make.sh test_code_generator_hello_world
- ./script/make.sh test_installation_demo
- ./script/make.sh test_code_generator_generation
- ./script/make.sh test_code_generator_generation_template
-
-.PHONY: test_extra
-test_extra:
- ./script/make.sh test_code_generator_migrator_demo_mariadb_sql_example_1
- ./script/make.sh test_code_generator_template_demo_mariadb_sql_example_1
- ./script/make.sh test_code_generator_demo_mariadb_sql_example_1
-
-.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_hello_world
-test_code_generator_hello_world:
- ./test/code_generator/hello_world.sh
-
-.PHONY: test_coverage_code_generator_hello_world
-test_coverage_code_generator_hello_world:
- ./test/code_generator/coverage_hello_world.sh
-
-.PHONY: test_installation_demo
-test_installation_demo:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/db_restore.py --database test_demo
- ./script/addons/install_addons.sh test_demo demo_helpdesk_data,demo_internal,demo_internal_inherit,demo_mariadb_sql_example_1,demo_portal,demo_website_data,demo_website_leaflet,demo_website_snippet
- ./script/addons/install_addons_theme.sh test_demo theme_website_demo_code_generator
-
-.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/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
- # Multiple
- ./script/database/db_restore.py --database test_code_generator
- ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_export_website,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 code_generator_demo,demo_helpdesk_data,demo_website_data,demo_internal,demo_portal,theme_website_demo_code_generator,demo_website_leaflet,demo_website_snippet
- # inherit
- # TODO should be in multiple list, need to support it
- ./script/database/db_restore.py --database test_code_generator
- ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template demo_internal_inherit
- # auto_backup
- ./script/database/db_restore.py --database test_code_generator
- ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_auto_backup ./addons/OCA_server-tools/auto_backup auto_backup
-
- # Single
- #./script/database/db_restore.py --database test_code_generator
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_export_helpdesk ./addons/TechnoLibre_odoo-code-generator-template demo_helpdesk_data
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_export_website ./addons/TechnoLibre_odoo-code-generator-template demo_website_data
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal ./addons/TechnoLibre_odoo-code-generator-template demo_internal
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_portal ./addons/TechnoLibre_odoo-code-generator-template demo_portal
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_theme_website ./addons/TechnoLibre_odoo-code-generator-template theme_website_demo_code_generator
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_website_leaflet ./addons/TechnoLibre_odoo-code-generator-template demo_website_leaflet
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_website_snippet ./addons/TechnoLibre_odoo-code-generator-template demo_website_snippet
- #./script/database/db_restore.py --database test_code_generator
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template demo_internal_inherit
- #./script/database/db_restore.py --database test_code_generator
- #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_auto_backup ./addons/OCA_server-tools/auto_backup auto_backup
-
-.PHONY: test_code_generator_generation_template
-test_code_generator_generation_template:
- ./script/make.sh test_code_generator_code_template_demo_portal
- ./script/make.sh test_code_generator_code_template_demo_internal_inherit
- ./script/make.sh test_code_generator_code_template_demo_sysadmin_cron
-
-.PHONY: test_code_generator_code_template_demo_portal
-test_code_generator_code_template_demo_portal:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/db_restore.py --database test_template
- ./script/addons/install_addons_dev.sh test_template demo_portal
- #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_portal
- ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_portal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_portal --with_inherit
- ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_portal ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_portal
-
-.PHONY: test_code_generator_code_template_demo_internal_inherit
-test_code_generator_code_template_demo_internal_inherit:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/db_restore.py --database test_template
- ./script/addons/install_addons_dev.sh test_template demo_internal_inherit
- #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_internal_inherit
- ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal_inherit -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal_inherit --with_inherit
- ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_internal_inherit
-
-.PHONY: test_code_generator_code_template_demo_sysadmin_cron
-test_code_generator_code_template_demo_sysadmin_cron:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
- ./script/database/db_restore.py --database test_template
- ./script/addons/install_addons_dev.sh test_template auto_backup
- #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_sysadmin_cron
- ./script/code_generator/search_class_model.py --quiet -d addons/OCA_server-tools/auto_backup -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_sysadmin_cron --with_inherit
- ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_sysadmin_cron ./addons/TechnoLibre_odoo-code-generator-template code_generator_auto_backup
-
-.PHONY: test_code_generator_migrator_demo_mariadb_sql_example_1
-test_code_generator_migrator_demo_mariadb_sql_example_1:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/restore_mariadb_sql_example_1.sh
- ./script/database/db_restore.py --database test_code_generator
- ./script/addons/install_addons_dev.sh test_code_generator code_generator_portal
- #./script/addons/install_addons_dev.sh test_code_generator code_generator_migrator_demo_mariadb_sql_example_1
- ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_migrator_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template demo_mariadb_sql_example_1
-
-.PHONY: test_code_generator_template_demo_mariadb_sql_example_1
-test_code_generator_template_demo_mariadb_sql_example_1:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/db_restore.py --database test_template
- ./script/addons/install_addons_dev.sh test_template code_generator_portal,demo_mariadb_sql_example_1
- ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_mariadb_sql_example_1 -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_mariadb_sql_example_1 --with_inherit
- #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_mariadb_sql_example_1
- ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_mariadb_sql_example_1
-
-.PHONY: test_code_generator_demo_mariadb_sql_example_1
-test_code_generator_demo_mariadb_sql_example_1:
- ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
- ./script/database/db_restore.py --database test_code_generator
- ./script/addons/install_addons_dev.sh test_code_generator code_generator_portal
- #./script/addons/install_addons_dev.sh test_code_generator code_generator_demo_mariadb_sql_example_1
- ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template demo_mariadb_sql_example_1
-
-###############
-# Test addons #
-###############
-.PHONY: test_addons_sale
-test_addons_sale:
- ./.venv/bin/coverage erase
- ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_sale
- ./test.sh -d test_addons_sale --db-filter test_addons_sale -i sale
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m
- ./.venv/bin/coverage html
- ./.venv/bin/coverage json
-
-.PHONY: test_addons_helpdesk
-test_addons_helpdesk:
- ./.venv/bin/coverage erase
- ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_helpdesk
- ./test.sh -d test_addons_helpdesk --db-filter test_addons_helpdesk -i helpdesk_mgmt
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m
- ./.venv/bin/coverage html
- ./.venv/bin/coverage json
-
-.PHONY: test_addons_code_generator
-test_addons_code_generator:
- ./.venv/bin/coverage erase
- ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_code_generator
- # TODO missing test in code_generator
- ./test.sh --dev cg -d test_addons_code_generator --db-filter test_addons_code_generator -i code_generator
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
- # run: make open_test_coverage
-
-.PHONY: test_addons_code_generator_code_generator
-test_addons_code_generator_code_generator:
- # TODO this test only generation, not test
- ./.venv/bin/coverage erase
- ./script/database/db_restore.py --database test_addons_code_generator_code_generator
- ./test.sh --dev cg -d test_addons_code_generator_code_generator --db-filter test_addons_code_generator_code_generator -i code_generator_code_generator
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
- # run: make open_test_coverage
-
-.PHONY: test_addons_code_generator_template_code_generator
-test_addons_code_generator_template_code_generator:
- # TODO this test only generation, not test
- ./.venv/bin/coverage erase
- ./script/database/db_restore.py --database test_addons_code_generator_template_code_generator
- ./test.sh --dev cg -d test_addons_code_generator_template_code_generator --db-filter test_addons_code_generator_template_code_generator -i code_generator
- ./test.sh --dev cg -d test_addons_code_generator_template_code_generator --db-filter test_addons_code_generator_template_code_generator -i code_generator_template_code_generator
- ./.venv/bin/coverage combine -a
- ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
- ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
- # run: make open_test_coverage
-
-.PHONY: open_test_coverage
-open_test_coverage:
- -$(BROWSER) htmlcov/index.html
-
-# TODO load specific test file : ./run.sh -d test_file --log-level=test --test-enable --stop-after-init --test-file ./.venv/test.py
-
-########
-# TODO #
-########
-
-.PHONY: todo
-todo:
- ./script/todo/todo.py
-
#########
# tag #
#########
@@ -827,88 +195,6 @@ clean_code_generator_template:
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:
- ./script/make.sh docker_stop
- ./script/make.sh docker_run_daemon
-
-.PHONY: docker_show_databases
-docker_show_databases:
- ./script/docker/docker_list_database.sh
-
-.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_odoo_16
-docker_build_odoo_16:
- ./script/docker/docker_build.sh --odoo_16
-
-.PHONY: docker_build_odoo_14
-docker_build_odoo_14:
- ./script/docker/docker_build.sh --odoo_14
-
-.PHONY: docker_build_odoo_12
-docker_build_odoo_12:
- ./script/docker/docker_build.sh --odoo_12
-
-# build docker release
-.PHONY: docker_build_release
-docker_build_release:
- ./script/docker/docker_build.sh --release
-
-# build docker release alpha
-.PHONY: docker_build_release_alpha
-docker_build_release_alpha:
- ./script/docker/docker_build.sh --release_alpha
-
-# build docker release beta
-.PHONY: docker_build_release_beta
-docker_build_release_beta:
- ./script/docker/docker_build.sh --release_beta
-
-# docker clean all
-.PHONY: docker_clean_all
-docker_clean_all:
- docker system prune -a --volumes
-
##############
# Git repo #
##############
@@ -993,12 +279,6 @@ config_gen_all:
./script/git/git_repo_update_group.py
./script/generate_config.sh
-# generate config repo code_generator
-.PHONY: config_gen_code_generator
-config_gen_code_generator:
- ./script/git/git_repo_update_group.py --group base,code_generator
- ./script/generate_config.sh
-
# generate config repo image_db
.PHONY: config_gen_image_db
config_gen_image_db:
@@ -1033,93 +313,6 @@ stat_module_evolution_per_year:
stat_module_evolution_per_year_OCA:
./script/statistic/show_evolution_module.py --filter "/OCA/" --before_date "2016-01-01" --more_year 7
-###################
-# Documentation #
-###################
-# documentation all
-.PHONY: doc
-doc:
-# ./script/make.sh doc_dev
-# ./script/make.sh doc_migration
-# ./script/make.sh doc_test
-# ./script/make.sh doc_user
-# ./script/make.sh doc_markdown
- parallel ::: "./script/make.sh doc_dev" "./script/make.sh doc_migration" "./script/make.sh doc_test" "./script/make.sh doc_user" "./script/make.sh doc_markdown"
-
-# documentation clean all
-.PHONY: doc_clean
-doc_clean:
- ./script/make.sh doc_clean_dev
- ./script/make.sh doc_clean_migration
- ./script/make.sh doc_clean_test
- ./script/make.sh doc_clean_user
-
-# open documentation all
-.PHONY: open_doc_all
-open_doc_all:
- ./script/make.sh open_doc_dev
- ./script/make.sh open_doc_migration
- ./script/make.sh open_doc_test
- ./script/make.sh open_doc_user
-
-# documentation dev
-.PHONY: doc_dev
-doc_dev:
- source ./.venv/bin/activate && make -C doc/itpp-labs_odoo-development/docs html || exit 1
-
-.PHONY: open_doc_dev
-open_doc_dev:
- -$(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
-
-.PHONY: open_doc_migration
-open_doc_migration:
- -$(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
-
-.PHONY: open_doc_test
-open_doc_test:
- -$(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:
- ln -sf ../../odoo/odoo ./doc/odoo_documentation-user/odoo
- source ./.venv/bin/activate && make -C doc/odoo_documentation-user html || exit 1
-
-.PHONY: open_doc_user
-open_doc_user:
- -$(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/bin/mmg --verbose --yes ./doc/CODE_GENERATOR.base.md
-
# Cache
.PHONY: clear_cache
clear_cache:
@@ -1135,4 +328,3 @@ pycharm_open:
.PHONY: pycharm_configure
pycharm_configure:
./script/ide/pycharm_configuration.py --init
-
diff --git a/conf/make.code_generator.Makefile b/conf/make.code_generator.Makefile
new file mode 100644
index 0000000..ddf481e
--- /dev/null
+++ b/conf/make.code_generator.Makefile
@@ -0,0 +1,330 @@
+##################
+# CODE GENERATOR #
+##################
+
+.PHONY: run_code_generator
+run_code_generator:
+ echo http://localhost:8069
+ # -$(BROWSER) http://localhost:8069
+ ./run.sh --database code_generator
+
+.PHONY: run_parallel_cg
+run_parallel_cg:
+ parallel < ./conf/list_cg_test.txt
+
+.PHONY: run_parallel_cg_template
+run_parallel_cg_template:
+ parallel < ./conf/list_cg_template_test.txt
+
+.PHONY: run_parallel_cg_migrator
+run_parallel_cg_migrator:
+ parallel < ./conf/list_cg_migrator_test.txt
+
+.PHONY: db_restore_erplibre_base_db_code_generator
+db_restore_erplibre_base_db_code_generator:
+ ./script/database/db_restore.py --database code_generator
+
+.PHONY: db_restore_erplibre_base_db_template
+db_restore_erplibre_base_db_template:
+ ./script/database/db_restore.py --database template
+
+.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_test_re_export_website_attachments
+db_test_re_export_website_attachments:
+ ./script/database/db_restore.py --database test_website_export
+ ./script/addons/install_addons_dev.sh test_website_export demo_website_attachments_data
+ # TODO this test fail at uninstall, it remove all files.
+ # TODO Strategy is to update ir_model_data, change module data and attach to another module like website
+ # TODO and update all link in website, (or use id of ir.attachment instead of xmlid website.)
+ ./script/addons/uninstall_addons.sh test_website_export demo_website_attachments_data
+ ./script/addons/install_addons_dev.sh test_website_export code_generator_demo_export_website_attachments
+
+#########################
+# Addons installation #
+#########################
+.PHONY: addons_install_code_generator_basic
+addons_install_code_generator_basic:
+ ./script/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator
+
+.PHONY: addons_install_code_generator_featured
+addons_install_code_generator_featured:
+ ./script/database/db_restore.py --database 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:
+ ./script/database/db_restore.py --database 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/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator_demo
+
+.PHONY: addons_install_all_code_generator_demo
+addons_install_all_code_generator_demo:
+ ./script/database/db_restore.py --database code_generator
+ # TODO ignore code_generator_demo_internal cause (demo_internal, demo_model_2_internal_view_form) already exists
+ ./script/addons/install_addons_dev.sh code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_export_website,code_generator_demo_internal_inherit,code_generator_demo_portal,code_generator_demo_theme_website,code_generator_demo_website_leaflet,code_generator_demo_website_snippet,code_generator_auto_backup
+ # Conflict between code_generator_demo_website_multiple_snippet and code_generator_demo_internal_inherit
+ ./script/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_multiple_snippet
+ ./script/database/db_restore.py --database code_generator_test_website_attachements --image test_website_attachments
+ ./script/addons/install_addons_dev.sh code_generator_test_website_attachements code_generator_demo_export_website_attachments
+
+ #./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_export_website
+ #./script/addons/install_addons_dev.sh code_generator code_generator_demo_internal
+ #./script/addons/install_addons_dev.sh code_generator code_generator_demo_internal_inherit
+ #./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
+ #./script/addons/install_addons_dev.sh code_generator code_generator_demo_website_multiple_snippet
+ #./script/addons/install_addons_dev.sh code_generator code_generator_auto_backup
+
+.PHONY: addons_install_all_code_generator_template
+addons_install_all_code_generator_template:
+ ./script/database/db_restore.py --database template
+ ./script/addons/install_addons_dev.sh template demo_portal,auto_backup,demo_internal_inherit
+ ./script/addons/install_addons_dev.sh template code_generator_template_demo_portal,code_generator_template_demo_sysadmin_cron,code_generator_template_demo_internal_inherit
+
+ #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_portal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_portal
+ #./script/addons/install_addons_dev.sh template demo_portal
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_portal
+
+ #./script/code_generator/search_class_model.py --quiet -d addons/OCA_server-tools/auto_backup -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_sysadmin_cron
+ #./script/addons/install_addons_dev.sh template auto_backup
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_sysadmin_cron
+
+ #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal
+ #./script/addons/install_addons_dev.sh template demo_internal
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_internal
+
+ #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal_inherit -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal_inherit
+ #./script/addons/install_addons_dev.sh template demo_internal_inherit
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_internal_inherit
+
+ # TODO not working, need to add in test parallel
+ #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_website_snippet -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_website_snippet
+ #./script/addons/install_addons_dev.sh template demo_website_snippet
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_website_snippet
+
+ # TODO not working, need to add in test parallel
+ #./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_website_multiple_snippet -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_website_multiple_snippet
+ #./script/addons/install_addons_dev.sh template demo_website_multiple_snippet
+ #./script/addons/install_addons_dev.sh template code_generator_template_demo_website_multiple_snippet
+
+.PHONY: addons_install_all_generated_demo
+addons_install_all_generated_demo:
+ ./script/database/db_restore.py --database template
+ ./script/addons/install_addons_dev.sh template demo_helpdesk_data,demo_website_data,demo_internal,demo_internal_inherit,demo_portal,demo_website_leaflet,demo_website_snippet,auto_backup
+ ./script/addons/install_addons_theme.sh template theme_website_demo_code_generator
+ #./script/addons/install_addons_dev.sh template demo_helpdesk_data
+ #./script/addons/install_addons_dev.sh template demo_website_data
+ #./script/addons/install_addons_dev.sh template demo_internal
+ #./script/addons/install_addons_dev.sh template demo_internal_inherit
+ #./script/addons/install_addons_dev.sh template demo_portal
+ #./script/addons/install_addons_dev.sh template demo_website_leaflet
+ #./script/addons/install_addons_dev.sh template demo_website_snippet
+ #./script/addons/install_addons_dev.sh template auto_backup
+ #./script/addons/install_addons_theme.sh template theme_website_demo_code_generator
+
+##################
+# Code generator #
+##################
+.PHONY: addons_install_code_generator_template_code_generator
+addons_install_code_generator_template_code_generator:
+ ./script/database/db_restore.py --database template
+ ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator/code_generator -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_code_generator --with_inherit
+ ./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator-template/code_generator_template_code_generator
+ ./script/addons/install_addons_dev.sh template code_generator
+ ./script/addons/install_addons_dev.sh template code_generator_template_code_generator
+ ./script/git/remote_code_generation_git_compare.py --quiet --git_gui --clear --replace_directory --directory1 ./addons/TechnoLibre_odoo-code-generator-template/code_generator_code_generator --directory2 ./addons/TechnoLibre_odoo-code-generator/code_generator_code_generator
+
+.PHONY: addons_install_code_generator_code_generator
+addons_install_code_generator_code_generator:
+ ./script/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator_code_generator
+ ./script/git/remote_code_generation_git_compare.py --quiet --git_gui --clear --replace_directory --directory1 ./addons/TechnoLibre_odoo-code-generator/code_generator --directory2 ./addons/TechnoLibre_odoo-code-generator-template/code_generator
+
+.PHONY: meld_code_generator_template_code_generator
+meld_code_generator_template_code_generator:
+ ./script/make.sh clean
+ meld ./addons/TechnoLibre_odoo-code-generator/code_generator_code_generator ./addons/TechnoLibre_odoo-code-generator-template/code_generator_code_generator
+
+.PHONY: meld_code_generator_code_generator
+meld_code_generator_code_generator:
+ ./script/make.sh clean
+ meld ./addons/TechnoLibre_odoo-code-generator-template/code_generator ./addons/TechnoLibre_odoo-code-generator/code_generator
+
+########################
+# Extra migrator sql #
+########################
+.PHONY: addons_install_code_generator_mariadb_sql_example_1
+addons_install_code_generator_mariadb_sql_example_1:
+ ./script/database/restore_mariadb_sql_example_1.sh
+ ./script/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator_portal
+ ./script/addons/install_addons_dev.sh code_generator code_generator_migrator_demo_mariadb_sql_example_1
+
+ ./script/database/db_restore.py --database template
+ ./script/addons/install_addons_dev.sh template code_generator_portal,demo_mariadb_sql_example_1
+ ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_mariadb_sql_example_1 -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_mariadb_sql_example_1
+ ./script/addons/install_addons_dev.sh template code_generator_template_demo_mariadb_sql_example_1
+
+ ./script/database/db_restore.py --database code_generator
+ ./script/addons/install_addons_dev.sh code_generator code_generator_portal
+ ./script/addons/install_addons_dev.sh code_generator code_generator_demo_mariadb_sql_example_1
+
+##########
+# TEST #
+##########
+.PHONY: test_code_generator_hello_world
+test_code_generator_hello_world:
+ ./test/code_generator/hello_world.sh
+
+.PHONY: test_coverage_code_generator_hello_world
+test_coverage_code_generator_hello_world:
+ ./test/code_generator/coverage_hello_world.sh
+
+.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/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
+ # Multiple
+ ./script/database/db_restore.py --database test_code_generator
+ ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo,code_generator_demo_export_helpdesk,code_generator_demo_export_website,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 code_generator_demo,demo_helpdesk_data,demo_website_data,demo_internal,demo_portal,theme_website_demo_code_generator,demo_website_leaflet,demo_website_snippet
+ # inherit
+ # TODO should be in multiple list, need to support it
+ ./script/database/db_restore.py --database test_code_generator
+ ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template demo_internal_inherit
+ # auto_backup
+ ./script/database/db_restore.py --database test_code_generator
+ ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_auto_backup ./addons/OCA_server-tools/auto_backup auto_backup
+
+ # Single
+ #./script/database/db_restore.py --database test_code_generator
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_export_helpdesk ./addons/TechnoLibre_odoo-code-generator-template demo_helpdesk_data
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_export_website ./addons/TechnoLibre_odoo-code-generator-template demo_website_data
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal ./addons/TechnoLibre_odoo-code-generator-template demo_internal
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_portal ./addons/TechnoLibre_odoo-code-generator-template demo_portal
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_theme_website ./addons/TechnoLibre_odoo-code-generator-template theme_website_demo_code_generator
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_website_leaflet ./addons/TechnoLibre_odoo-code-generator-template demo_website_leaflet
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_website_snippet ./addons/TechnoLibre_odoo-code-generator-template demo_website_snippet
+ #./script/database/db_restore.py --database test_code_generator
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template demo_internal_inherit
+ #./script/database/db_restore.py --database test_code_generator
+ #./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_auto_backup ./addons/OCA_server-tools/auto_backup auto_backup
+
+.PHONY: test_code_generator_generation_template
+test_code_generator_generation_template:
+ ./script/make.sh test_code_generator_code_template_demo_portal
+ ./script/make.sh test_code_generator_code_template_demo_internal_inherit
+ ./script/make.sh test_code_generator_code_template_demo_sysadmin_cron
+
+.PHONY: test_code_generator_code_template_demo_portal
+test_code_generator_code_template_demo_portal:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/db_restore.py --database test_template
+ ./script/addons/install_addons_dev.sh test_template demo_portal
+ #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_portal
+ ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_portal -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_portal --with_inherit
+ ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_portal ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_portal
+
+.PHONY: test_code_generator_code_template_demo_internal_inherit
+test_code_generator_code_template_demo_internal_inherit:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/db_restore.py --database test_template
+ ./script/addons/install_addons_dev.sh test_template demo_internal_inherit
+ #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_internal_inherit
+ ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_internal_inherit -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_internal_inherit --with_inherit
+ ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_internal_inherit ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_internal_inherit
+
+.PHONY: test_code_generator_code_template_demo_sysadmin_cron
+test_code_generator_code_template_demo_sysadmin_cron:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/OCA_server-tools/auto_backup
+ ./script/database/db_restore.py --database test_template
+ ./script/addons/install_addons_dev.sh test_template auto_backup
+ #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_sysadmin_cron
+ ./script/code_generator/search_class_model.py --quiet -d addons/OCA_server-tools/auto_backup -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_sysadmin_cron --with_inherit
+ ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_sysadmin_cron ./addons/TechnoLibre_odoo-code-generator-template code_generator_auto_backup
+
+.PHONY: test_code_generator_migrator_demo_mariadb_sql_example_1
+test_code_generator_migrator_demo_mariadb_sql_example_1:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/restore_mariadb_sql_example_1.sh
+ ./script/database/db_restore.py --database test_code_generator
+ ./script/addons/install_addons_dev.sh test_code_generator code_generator_portal
+ #./script/addons/install_addons_dev.sh test_code_generator code_generator_migrator_demo_mariadb_sql_example_1
+ ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_migrator_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template demo_mariadb_sql_example_1
+
+.PHONY: test_code_generator_template_demo_mariadb_sql_example_1
+test_code_generator_template_demo_mariadb_sql_example_1:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/db_restore.py --database test_template
+ ./script/addons/install_addons_dev.sh test_template code_generator_portal,demo_mariadb_sql_example_1
+ ./script/code_generator/search_class_model.py --quiet -d addons/TechnoLibre_odoo-code-generator-template/demo_mariadb_sql_example_1 -t addons/TechnoLibre_odoo-code-generator-template/code_generator_template_demo_mariadb_sql_example_1 --with_inherit
+ #./script/addons/install_addons_dev.sh test_template code_generator_template_demo_mariadb_sql_example_1
+ ./script/code_generator/install_and_test_code_generator.sh test_template code_generator_template_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template code_generator_demo_mariadb_sql_example_1
+
+.PHONY: test_code_generator_demo_mariadb_sql_example_1
+test_code_generator_demo_mariadb_sql_example_1:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/db_restore.py --database test_code_generator
+ ./script/addons/install_addons_dev.sh test_code_generator code_generator_portal
+ #./script/addons/install_addons_dev.sh test_code_generator code_generator_demo_mariadb_sql_example_1
+ ./script/code_generator/install_and_test_code_generator.sh test_code_generator code_generator_demo_mariadb_sql_example_1 ./addons/TechnoLibre_odoo-code-generator-template demo_mariadb_sql_example_1
+
+.PHONY: test_addons_code_generator
+test_addons_code_generator:
+ ./.venv/bin/coverage erase
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_code_generator
+ # TODO missing test in code_generator
+ ./test.sh --dev cg -d test_addons_code_generator --db-filter test_addons_code_generator -i code_generator
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
+ # run: make open_test_coverage
+
+.PHONY: test_addons_code_generator_code_generator
+test_addons_code_generator_code_generator:
+ # TODO this test only generation, not test
+ ./.venv/bin/coverage erase
+ ./script/database/db_restore.py --database test_addons_code_generator_code_generator
+ ./test.sh --dev cg -d test_addons_code_generator_code_generator --db-filter test_addons_code_generator_code_generator -i code_generator_code_generator
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
+ # run: make open_test_coverage
+
+.PHONY: test_addons_code_generator_template_code_generator
+test_addons_code_generator_template_code_generator:
+ # TODO this test only generation, not test
+ ./.venv/bin/coverage erase
+ ./script/database/db_restore.py --database test_addons_code_generator_template_code_generator
+ ./test.sh --dev cg -d test_addons_code_generator_template_code_generator --db-filter test_addons_code_generator_template_code_generator -i code_generator
+ ./test.sh --dev cg -d test_addons_code_generator_template_code_generator --db-filter test_addons_code_generator_template_code_generator -i code_generator_template_code_generator
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
+ # run: make open_test_coverage
+
+# generate config repo code_generator
+.PHONY: config_gen_code_generator
+config_gen_code_generator:
+ ./script/git/git_repo_update_group.py --group base,code_generator
+ ./script/generate_config.sh
\ No newline at end of file
diff --git a/conf/make.database.Makefile b/conf/make.database.Makefile
new file mode 100644
index 0000000..1006375
--- /dev/null
+++ b/conf/make.database.Makefile
@@ -0,0 +1,74 @@
+############
+# DATABASE #
+############
+
+.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_all
+db_drop_all:
+ ./script/database/db_drop_all.py
+
+.PHONY: db_drop_test
+db_drop_test:
+ ./script/database/db_drop_all.py --test_only
+
+.PHONY: db_clean_cache
+db_clean_cache:
+ ./script/database/db_restore.py --clean_cache
+
+.PHONY: db_restore_erplibre_base_db_test
+db_restore_erplibre_base_db_test:
+ ./script/database/db_restore.py --database test
+
+.PHONY: db_erplibre_base_db_test_update_all
+db_erplibre_base_db_test_update_all:
+ ./script/addons/update_addons_all.sh test
+
+.PHONY: db_restore_erplibre_base_db_test_module_test
+db_restore_erplibre_base_db_test_module_test:
+ ./script/database/db_restore.py --database test
+ ./script/addons/install_addons.sh test test
+
+.PHONY: db_restore_prod_client
+db_restore_prod_client:
+ # You need to put the database backup in ./image_db/prod_client.zip
+ ./script/database/db_restore.py --database prod_client --image prod_client
+ ./script/database/migrate_prod_to_test.sh prod_client
+
+.PHONY: db_restore_erplibre_base_db_test_image_test
+db_restore_erplibre_base_db_test_image_test:
+ ./script/database/db_restore.py --database test --image test
+
+.PHONY: db_restore_erplibre_website_db_test
+db_restore_erplibre_website_db_test:
+ ./script/database/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/database/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/database/db_restore.py --database test --image erplibre_ecommerce_base
diff --git a/conf/make.docker.Makefile b/conf/make.docker.Makefile
new file mode 100644
index 0000000..cd1750f
--- /dev/null
+++ b/conf/make.docker.Makefile
@@ -0,0 +1,82 @@
+##########
+# 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:
+ ./script/make.sh docker_stop
+ ./script/make.sh docker_run_daemon
+
+.PHONY: docker_show_databases
+docker_show_databases:
+ ./script/docker/docker_list_database.sh
+
+.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_odoo_16
+docker_build_odoo_16:
+ ./script/docker/docker_build.sh --odoo_16
+
+.PHONY: docker_build_odoo_14
+docker_build_odoo_14:
+ ./script/docker/docker_build.sh --odoo_14
+
+.PHONY: docker_build_odoo_12
+docker_build_odoo_12:
+ ./script/docker/docker_build.sh --odoo_12
+
+# build docker release
+.PHONY: docker_build_release
+docker_build_release:
+ ./script/docker/docker_build.sh --release
+
+# build docker release alpha
+.PHONY: docker_build_release_alpha
+docker_build_release_alpha:
+ ./script/docker/docker_build.sh --release_alpha
+
+# build docker release beta
+.PHONY: docker_build_release_beta
+docker_build_release_beta:
+ ./script/docker/docker_build.sh --release_beta
+
+# docker clean all
+.PHONY: docker_clean_all
+docker_clean_all:
+ docker system prune -a --volumes
diff --git a/conf/make.documentation.Makefile b/conf/make.documentation.Makefile
new file mode 100644
index 0000000..f58cf68
--- /dev/null
+++ b/conf/make.documentation.Makefile
@@ -0,0 +1,87 @@
+#################
+# DOCUMENTATION #
+#################
+
+# documentation all
+.PHONY: doc
+doc:
+# ./script/make.sh doc_dev
+# ./script/make.sh doc_migration
+# ./script/make.sh doc_test
+# ./script/make.sh doc_user
+# ./script/make.sh doc_markdown
+ parallel ::: "./script/make.sh doc_dev" "./script/make.sh doc_migration" "./script/make.sh doc_test" "./script/make.sh doc_user" "./script/make.sh doc_markdown"
+
+# documentation clean all
+.PHONY: doc_clean
+doc_clean:
+ ./script/make.sh doc_clean_dev
+ ./script/make.sh doc_clean_migration
+ ./script/make.sh doc_clean_test
+ ./script/make.sh doc_clean_user
+
+# open documentation all
+.PHONY: open_doc_all
+open_doc_all:
+ ./script/make.sh open_doc_dev
+ ./script/make.sh open_doc_migration
+ ./script/make.sh open_doc_test
+ ./script/make.sh open_doc_user
+
+# documentation dev
+.PHONY: doc_dev
+doc_dev:
+ source ./.venv/bin/activate && make -C doc/itpp-labs_odoo-development/docs html || exit 1
+
+.PHONY: open_doc_dev
+open_doc_dev:
+ -$(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
+
+.PHONY: open_doc_migration
+open_doc_migration:
+ -$(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
+
+.PHONY: open_doc_test
+open_doc_test:
+ -$(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:
+ ln -sf ../../odoo/odoo ./doc/odoo_documentation-user/odoo
+ source ./.venv/bin/activate && make -C doc/odoo_documentation-user html || exit 1
+
+.PHONY: open_doc_user
+open_doc_user:
+ -$(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/bin/mmg --verbose --yes ./doc/CODE_GENERATOR.base.md
diff --git a/conf/make.image_db.Makefile b/conf/make.image_db.Makefile
new file mode 100644
index 0000000..847778e
--- /dev/null
+++ b/conf/make.image_db.Makefile
@@ -0,0 +1,44 @@
+########################
+# Image installation #
+########################
+
+.PHONY: image_db_create_erplibre_code_generator
+image_db_create_erplibre_code_generator:
+ ./script/make.sh addons_install_code_generator_basic
+ ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_basic
+ ./script/make.sh addons_install_code_generator_featured
+ ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_featured
+ ./script/make.sh addons_install_code_generator_full
+ ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator --restore_image erplibre_code_generator_full
+
+.PHONY: image_db_create_all_parallel
+image_db_create_all_parallel:
+ ./script/database/db_restore.py --clean_cache
+ echo "Search in-existing module"
+ ./.venv/bin/python3 ./script/database/image_db.py --check_addons_exist
+ echo "Create Image DB"
+ ./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel | bash
+ ./script/database/db_restore.py --clean_cache
+ #./script/make.sh image_db_create_test_website_attachments
+
+.PHONY: image_db_list_data
+image_db_list_data:
+ ./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel
+ #./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel --odoo_version 12.0
+
+.PHONY: image_db_list
+image_db_list:
+ ./.venv/bin/python3 ./script/database/image_db.py --show_list_only
+ #./.venv/bin/python3 ./script/database/image_db.py --generate_bash_cmd_parallel --odoo_version 12.0
+
+.PHONY: image_db_create_test_website_attachments
+image_db_create_test_website_attachments:
+ ./script/database/db_restore.py --database code_generator_test_website_attachements --image test_website_attachments
+ # Do your stuff
+ ./.venv/bin/python3 ./odoo/odoo-bin --limit-time-real 999999 --no-http -c config.conf --stop-after-init -d code_generator_test_website_attachements -u all
+ ./.venv/bin/python3 ./odoo/odoo-bin db --backup --database code_generator_test_website_attachements --restore_image test_website_attachments
+
+.PHONY: image_diff_base_website
+image_diff_base_website:
+ #./script/database/compare_backup.py --backup_file_1 ./image_db/erplibre_base.zip --backup_file_2 ./image_db/erplibre_website.zip
+ ./script/database/compare_backup.py --backup_1 odoo12.0_base --backup_2 odoo12.0_website
diff --git a/conf/make.installation.Makefile b/conf/make.installation.Makefile
new file mode 100644
index 0000000..ce2e6fa
--- /dev/null
+++ b/conf/make.installation.Makefile
@@ -0,0 +1,80 @@
+###########
+# INSTALL #
+###########
+
+.PHONY: install
+install:install_os install_dev
+
+.PHONY: install_dev
+install_dev:
+ # ./script/version/update_env_version.py
+ # ./script/install/install_locally_dev.sh
+ ./script/version/update_env_version.py --install_dev
+
+.PHONY: install_odoo_16
+install_odoo_16:
+ ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.14 --install_dev
+
+.PHONY: switch_odoo_16
+switch_odoo_16:
+ ./script/version/update_env_version.py --erplibre_version odoo16.0_python3.10.14 --switch
+ ./script/make.sh config_gen_all
+
+.PHONY: install_odoo_14
+install_odoo_14:
+ ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --install_dev
+
+.PHONY: switch_odoo_14
+switch_odoo_14:
+ ./script/version/update_env_version.py --erplibre_version odoo14.0_python3.8.20 --switch
+ ./script/make.sh config_gen_all
+
+.PHONY: install_odoo_12
+install_odoo_12:
+ ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --install_dev
+
+.PHONY: switch_odoo_12
+switch_odoo_12:
+ ./script/version/update_env_version.py --erplibre_version odoo12.0_python3.7.17 --switch
+ ./script/make.sh config_gen_all
+
+.PHONY: install_odoo_all_version
+install_odoo_all_version:
+ ./script/make.sh install_odoo_12
+ ./script/make.sh install_odoo_14
+ ./script/make.sh install_odoo_16
+
+.PHONY: install_odoo_all_version_dev
+install_odoo_all_version_dev:
+ echo "Open Pycharm, close it before install Odoo and reopen at the end"
+ pycharm .
+ ./script/make.sh install_odoo_12
+ ./script/make.sh install_odoo_14
+ ./script/make.sh install_odoo_16
+
+#.PHONY: install_update_odoo
+#install_update_odoo:
+# ./script/version/update_env_version.py --install_dev --update_addons
+
+.PHONY: install_show_version
+install_show_version:
+ ./script/version/update_env_version.py -l
+
+# Install this for the first time of dev environment
+.PHONY: install_os
+install_os:
+ #./script/install/install_dev.sh
+ ./script/version/update_env_version.py --install
+
+.PHONY: install_production
+install_production:
+ ./script/install/install_dev.sh
+ ./script/install/install_production.sh
+
+.PHONY: install_docker_debian
+install_docker_debian:
+ ./script/install/install_debian_10_prod_docker.sh
+
+.PHONY: install_docker_ubuntu
+install_docker_ubuntu:
+ ./script/install/install_ubuntu_docker.sh
diff --git a/conf/make.test.Makefile b/conf/make.test.Makefile
new file mode 100644
index 0000000..0fe69d9
--- /dev/null
+++ b/conf/make.test.Makefile
@@ -0,0 +1,121 @@
+########
+# TEST #
+########
+
+# TODO load specific test file : ./run.sh -d test_file --log-level=test --test-enable --stop-after-init --test-file ./.venv/test.py
+
+.PHONY: open_test_coverage
+open_test_coverage:
+ -$(BROWSER) htmlcov/index.html
+
+.PHONY: test
+test:
+ ./script/make.sh clean
+ -rm ${LOG_FILE}
+ ./script/make.sh test_base |& tee -a ${LOG_FILE}
+ ./script/test/check_result_test.sh ${LOG_FILE}
+
+.PHONY: test_full
+test_full:
+ ./script/make.sh clean
+ -rm ${LOG_FILE}
+ ./script/make.sh test_base |& tee -a ${LOG_FILE}
+ ./script/make.sh test_extra |& tee -a ${LOG_FILE}
+ #./script/make.sh doc |& tee -a ${LOG_FILE}
+ ./script/test/check_result_test.sh ${LOG_FILE}
+
+.PHONY: test_full_fast
+test_full_fast:
+ ./script/make.sh clean
+ # Need to create a BD to create cache _cache_erplibre_base
+ ./script/database/db_restore.py --database test
+ #./script/test/run_parallel_test.py --keep_cache
+ ./script/test/run_parallel_test.py
+ # TODO This test is broken in parallel
+ #./script/make.sh test_code_generator_hello_world
+
+.PHONY: test_full_fast_debug
+test_full_fast_debug:
+ ./script/make.sh clean
+ # Need to create a BD to create cache _cache_erplibre_base
+ ./script/database/db_restore.py --database test
+ ./script/test/run_parallel_test.py --keep_cache
+ # TODO This test is broken in parallel
+ #./script/make.sh test_code_generator_hello_world
+
+.PHONY: test_full_fast_coverage
+test_full_fast_coverage:
+ ./script/make.sh clean
+ # Need to create a BD to create cache _cache_erplibre_base
+ ./script/database/db_restore.py --database test
+ ./.venv/bin/coverage erase
+ ./script/test/run_parallel_test.py --coverage
+ # TODO This test is broken in parallel
+ #./script/make.sh test_coverage_code_generator_hello_world
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
+ # run: make open_test_coverage
+
+
+.PHONY: test_cg_demo
+test_cg_demo:
+ ./script/make.sh clean
+ # Need to create a BD to create cache _cache_erplibre_base
+ ./script/database/db_restore.py --database test
+ ./.venv/bin/coverage erase
+ ./script/addons/coverage_install_addons_dev.sh test code_generator_demo
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage html --include="addons/TechnoLibre_odoo-code-generator/*"
+ ./.venv/bin/coverage json --include="addons/TechnoLibre_odoo-code-generator/*"
+
+.PHONY: test_base
+test_base:
+ ./script/make.sh test_format
+ ./script/make.sh test_code_generator_hello_world
+ ./script/make.sh test_installation_demo
+ ./script/make.sh test_code_generator_generation
+ ./script/make.sh test_code_generator_generation_template
+
+.PHONY: test_extra
+test_extra:
+ ./script/make.sh test_code_generator_migrator_demo_mariadb_sql_example_1
+ ./script/make.sh test_code_generator_template_demo_mariadb_sql_example_1
+ ./script/make.sh test_code_generator_demo_mariadb_sql_example_1
+
+.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_installation_demo
+test_installation_demo:
+ ./script/code_generator/check_git_change_code_generator.sh ./addons/TechnoLibre_odoo-code-generator-template
+ ./script/database/db_restore.py --database test_demo
+ ./script/addons/install_addons.sh test_demo demo_helpdesk_data,demo_internal,demo_internal_inherit,demo_mariadb_sql_example_1,demo_portal,demo_website_data,demo_website_leaflet,demo_website_snippet
+ ./script/addons/install_addons_theme.sh test_demo theme_website_demo_code_generator
+
+###############
+# Test addons #
+###############
+.PHONY: test_addons_sale
+test_addons_sale:
+ ./.venv/bin/coverage erase
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_sale
+ ./test.sh -d test_addons_sale --db-filter test_addons_sale -i sale
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m
+ ./.venv/bin/coverage html
+ ./.venv/bin/coverage json
+
+.PHONY: test_addons_helpdesk
+test_addons_helpdesk:
+ ./.venv/bin/coverage erase
+ ./.venv/bin/python3 ./odoo/odoo-bin db --drop --database test_addons_helpdesk
+ ./test.sh -d test_addons_helpdesk --db-filter test_addons_helpdesk -i helpdesk_mgmt
+ ./.venv/bin/coverage combine -a
+ ./.venv/bin/coverage report -m
+ ./.venv/bin/coverage html
+ ./.venv/bin/coverage json
\ No newline at end of file
diff --git a/conf/make.todo.Makefile b/conf/make.todo.Makefile
new file mode 100644
index 0000000..bd88161
--- /dev/null
+++ b/conf/make.todo.Makefile
@@ -0,0 +1,7 @@
+########
+# TODO #
+########
+
+.PHONY: todo
+todo:
+ ./script/todo/todo.py
diff --git a/conf/pycharm_default_configuration.csv b/conf/pycharm_default_configuration.csv
index 8e4f437..65676c7 100644
--- a/conf/pycharm_default_configuration.csv
+++ b/conf/pycharm_default_configuration.csv
@@ -29,4 +29,4 @@ run_robotlibre,./odoo/odoo-bin,--limit-time-real 999999 -c config.conf -d robotl
run_robotlibre_update,./odoo/odoo-bin,--limit-time-real 999999 --no-http --stop-after-init --dev cg -d robotlibre -i erplibre_devops -u erplibre_devops,robotlibre,
run_robotlibre_generate,./script/code_generator/new_project.py,-f -d ./addons/ERPLibre_erplibre_addons -m erplibre_devops,robotlibre,
run_todo,./script/todo/todo.py,,TODO,
-
+pycharm_configuration_init,./script/ide/pycharm_configuration.py,--init,IDE,
diff --git a/docker/docker-compose_odoo_14.0.yml b/docker/docker-compose_odoo_14.0.yml
index aba13eb..a36b178 100644
--- a/docker/docker-compose_odoo_14.0.yml
+++ b/docker/docker-compose_odoo_14.0.yml
@@ -1,7 +1,7 @@
version: "3.3"
services:
ERPLibre:
- image: technolibre/erplibre:1.5.0_odoo_14.0_29e1957
+ image: technolibre/erplibre:1.6.0_odoo_14.0_2a8af84
ports:
- 8069:8069
- 8071:8071
diff --git a/manifest/default.dev.odoo14.0.xml b/manifest/default.dev.odoo14.0.xml
index 3e7072f..6e8a330 100644
--- a/manifest/default.dev.odoo14.0.xml
+++ b/manifest/default.dev.odoo14.0.xml
@@ -10,6 +10,7 @@
+
@@ -45,6 +46,7 @@
+
@@ -118,7 +120,7 @@
-
+
diff --git a/manifest/default.dev.odoo16.0.xml b/manifest/default.dev.odoo16.0.xml
index 5d28f71..b47ea74 100644
--- a/manifest/default.dev.odoo16.0.xml
+++ b/manifest/default.dev.odoo16.0.xml
@@ -10,6 +10,7 @@
+
@@ -46,6 +47,8 @@
+
+
@@ -60,6 +63,7 @@
+
diff --git a/script/docker/docker_update_version.py b/script/docker/docker_update_version.py
index fd27dad..842cc84 100755
--- a/script/docker/docker_update_version.py
+++ b/script/docker/docker_update_version.py
@@ -7,14 +7,12 @@ import logging
import os
import sys
-import yaml
new_path = os.path.normpath(
os.path.join(os.path.dirname(__file__), "..", "..")
)
sys.path.append(new_path)
-from script.git.git_tool import GitTool
_logger = logging.getLogger(__name__)
@@ -25,7 +23,6 @@ def get_config():
:return: dict of config file settings and command line arguments
"""
- config = GitTool.get_project_config()
# TODO update description
parser = argparse.ArgumentParser(
diff --git a/script/generate_config.sh b/script/generate_config.sh
index b7db9c0..b6586fe 100755
--- a/script/generate_config.sh
+++ b/script/generate_config.sh
@@ -29,6 +29,7 @@ if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/CybroOdoo_CybroAddons," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/CybroOdoo_OpenHRMS," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/ERPLibre_erplibre_addons," >> "${EL_CONFIG_FILE}"
+ printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/MathBenTech_development," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/MathBenTech_odoo-business-spending-management-quebec-canada," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-analytic," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-budgeting," >> "${EL_CONFIG_FILE}"
@@ -46,6 +47,7 @@ if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-statement-import," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_brand," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_business-requirement," >> "${EL_CONFIG_FILE}"
+ printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_calendar," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_commission," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_community-data-files," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector," >> "${EL_CONFIG_FILE}"
@@ -117,6 +119,7 @@ if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_wms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OmniaGit_odooplm," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/camptocamp_odoo-cloud-platform," >> "${EL_CONFIG_FILE}"
+ printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/cetmix_cetmix-tower," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/dhongu_deltatech," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/it-projects-llc_saas-addons," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/muk-it_muk_web," >> "${EL_CONFIG_FILE}"
diff --git a/script/git/git_tool.py b/script/git/git_tool.py
index eec304e..27f30fa 100644
--- a/script/git/git_tool.py
+++ b/script/git/git_tool.py
@@ -20,7 +20,8 @@ CST_EL_GITHUB_TOKEN = "EL_GITHUB_TOKEN"
DEFAULT_PROJECT_NAME = "ERPLibre"
DEFAULT_WEBSITE = "erplibre.ca"
DEFAULT_REMOTE_URL = "https://github.com/ERPLibre/ERPLibre.git"
-DEFAULT_BRANCH = "12.0"
+with open(".odoo-version", "r") as f:
+ DEFAULT_BRANCH = f.readline()
class Struct(object):
diff --git a/script/ide/pycharm_configuration.py b/script/ide/pycharm_configuration.py
index e1f8fea..4a2a19e 100755
--- a/script/ide/pycharm_configuration.py
+++ b/script/ide/pycharm_configuration.py
@@ -12,6 +12,13 @@ import sys
import xmltodict
+new_path = os.path.normpath(
+ os.path.join(os.path.dirname(__file__), "..", "..")
+)
+sys.path.append(new_path)
+
+from script.git.git_tool import GitTool
+
logging.basicConfig(level=os.environ.get("LOGLEVEL", "INFO"))
_logger = logging.getLogger(__name__)
@@ -20,15 +27,9 @@ PROJECT_NAME = os.path.basename(os.getcwd())
IDEA_PATH = "./.idea"
IDEA_MISC = os.path.join(IDEA_PATH, "misc.xml")
IDEA_WORKSPACE = os.path.join(IDEA_PATH, "workspace.xml")
+VCS_WORKSPACE = os.path.join(IDEA_PATH, "vcs.xml")
PATH_EXCLUDE_FOLDER = "./conf/pycharm_exclude_folder.txt"
-if os.path.isfile(PATH_EXCLUDE_FOLDER):
- with open(PATH_EXCLUDE_FOLDER) as txt:
- txt_read = txt.read()
- LST_EXCLUDE_FOLDER = txt_read.strip().split("\n")
-else:
- LST_EXCLUDE_FOLDER = []
-
PATH_DEFAULT_CONFIGURATION = "./conf/pycharm_default_configuration.csv"
@@ -95,8 +96,6 @@ def main():
config = get_config()
_logger.info(f"Work on directory {os.getcwd()}")
- # TODO modifier vcs.xml pour le mapping des répertoires git
-
die(
not os.path.isdir(IDEA_PATH),
f"Missing {IDEA_PATH} path, are you sure you run this script at root"
@@ -135,6 +134,14 @@ def main():
IDEA_WORKSPACE, add_configuration, "workspace", config
)
+ die(
+ not os.path.isfile(VCS_WORKSPACE),
+ f"Missing {VCS_WORKSPACE} file, be sure Pycharm open a project to"
+ " your workspace.",
+ )
+ has_execute = True
+ read_xml_and_execute(VCS_WORKSPACE, add_version_control, "vcs", config)
+
if not has_execute:
_logger.info("Nothing to do")
@@ -161,6 +168,46 @@ def read_xml_and_execute(file_name, cb, name, config):
_logger.info(f"No change '{name}'.")
+def add_version_control(dct_xml, file_name, config):
+ # The file .idea/vcs.xml need to be generated before
+
+ git_tool = GitTool()
+ lst_repo = git_tool.get_repo_info_manifest_xml()
+ lst_mapping_directory = []
+ # Create a mapping of git directory from ERPLibre
+ for dct_repo in lst_repo:
+ relative_path = dct_repo.get("path")
+ if not relative_path:
+ continue
+ vcs_path = os.path.join("$PROJECT_DIR$", relative_path)
+ lst_mapping_directory.append(vcs_path)
+ dct_component = dct_xml.get("project", {}).get("component", {})
+ lst_mapping = dct_component.get("mapping", [])
+ if not lst_mapping:
+ print(
+ "By default, need 1 value, the actual ERPLibre project, or create"
+ " it manually ;-)"
+ )
+ return False
+ # Detect difference
+ if type(lst_mapping) is dict:
+ # Transform it into list for multiple mapping
+ lst_mapping = [lst_mapping]
+ dct_component["mapping"] = lst_mapping
+
+ for dct_mapping in lst_mapping:
+ directory = dct_mapping.get("@directory")
+ if directory in lst_mapping_directory:
+ lst_mapping_directory.remove(directory)
+ # Update difference
+ if lst_mapping_directory:
+ for mapping_directory in lst_mapping_directory:
+ dct_mapping = {"@directory": mapping_directory, "@vcs": "Git"}
+ lst_mapping.append(dct_mapping)
+ return True
+ return False
+
+
def add_configuration(dct_xml, file_name, config):
has_change = False
dct_project = dct_xml.get("project")
@@ -382,6 +429,35 @@ def add_configuration(dct_xml, file_name, config):
return has_change
+def get_lst_exclude_folder():
+ if os.path.isfile(PATH_EXCLUDE_FOLDER):
+ with open(PATH_EXCLUDE_FOLDER) as txt:
+ txt_read = txt.read()
+ lst_exclude_folder = txt_read.strip().split("\n")
+ else:
+ lst_exclude_folder = []
+
+ # lst_to_exclude = ["./.venv.*", "./addons.*"]
+ lst_to_exclude = ["./.venv.*", "./addons"]
+ for s_exclude in lst_to_exclude:
+ for dir_venv in glob.glob(s_exclude):
+ lst_exclude_folder.append(dir_venv[2:])
+
+ # Dynamic exclude
+ lst_exclude_from_repo = ["setup"]
+
+ git_tool = GitTool()
+ lst_repo = git_tool.get_repo_info_manifest_xml()
+ # Create a mapping of git directory from ERPLibre
+ for dct_repo in lst_repo:
+ relative_path = dct_repo.get("path")
+ for exclude_from_repo in lst_exclude_from_repo:
+ path_to_check = os.path.join(relative_path, exclude_from_repo)
+ if os.path.isdir(path_to_check):
+ lst_exclude_folder.append(path_to_check)
+ return lst_exclude_folder
+
+
def add_exclude_folder(dct_xml, file_name, config):
has_change = False
dct_module = dct_xml.get("module")
@@ -415,12 +491,10 @@ def add_exclude_folder(dct_xml, file_name, config):
)
lst_exclude_folder = dct_content.get("excludeFolder")
- # lst_to_exclude = ["./.venv.*", "./addons.*"]
- lst_to_exclude = ["./.venv.*", "./addons"]
- for s_exclude in lst_to_exclude:
- for dir_venv in glob.glob(s_exclude):
- LST_EXCLUDE_FOLDER.append(dir_venv[2:])
- lst_exclude_item = [f"file://$MODULE_DIR$/{a}" for a in LST_EXCLUDE_FOLDER]
+ lst_exclude_item_raw = get_lst_exclude_folder()
+ lst_exclude_item = [
+ f"file://$MODULE_DIR$/{a}" for a in lst_exclude_item_raw
+ ]
if lst_exclude_folder:
if type(lst_exclude_folder) is list:
diff --git a/script/todo/source_todo.sh b/script/todo/source_todo.sh
new file mode 100755
index 0000000..6b6ab3b
--- /dev/null
+++ b/script/todo/source_todo.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+source .venv/bin/activate
+
+./script/todo/todo.py
diff --git a/script/todo/todo.json b/script/todo/todo.json
index db2f21c..282ab3f 100644
--- a/script/todo/todo.json
+++ b/script/todo/todo.json
@@ -20,5 +20,18 @@
"prompt_description": "Ouvrir ERPLibre avec TODO \uD83E\uDD16",
"command": "./.venv/bin/python ./script/selenium/web_login.py"
}
+ ],
+ "update_from_makefile": [
+ {
+ "prompt_description": "Update all erplibre_base on database test",
+ "makefile_cmd": "db_erplibre_base_db_test_update_all",
+ "database": "test"
+ }
+ ],
+ "code_from_makefile": [
+ {
+ "prompt_description": "Show code status",
+ "makefile_cmd": "repo_show_status"
+ }
]
}
diff --git a/script/todo/todo.py b/script/todo/todo.py
index 242b66d..de1c700 100755
--- a/script/todo/todo.py
+++ b/script/todo/todo.py
@@ -4,13 +4,83 @@ import getpass
import json
import logging
import os
+import sys
+import time
import subprocess
-import tkinter as tk
-from tkinter import filedialog
-import click
-import openai
-from pykeepass import PyKeePass
+try:
+ import tkinter as tk
+ from tkinter import filedialog
+
+ import click
+ import openai
+ from pykeepass import PyKeePass
+except ModuleNotFoundError as e:
+ # TODO auto-detect gnome-terminal, or choose another.
+ if os.path.exists(".venv"):
+ print("You forgot to activate source \nsource ./.venv/bin/activate")
+ time.sleep(0.5)
+ subprocess.run(
+ "gnome-terminal -- bash -c './script/todo/source_todo.sh'",
+ shell=True,
+ executable="/bin/bash",
+ )
+ else:
+ first_installation_input = (
+ input(
+ "First installation? This will process system installation"
+ " before (Y/N): "
+ )
+ .strip()
+ .upper()
+ )
+ if first_installation_input == "Y":
+ subprocess.run(
+ "gnome-terminal -- bash -c"
+ " './script/version/update_env_version.py --install;bash'",
+ shell=True,
+ executable="/bin/bash",
+ )
+ print("Wait after OS installation before continue.")
+
+ # First detect pycharm, need to be open before installation and close to increase speed
+ result = subprocess.run(
+ ["which", "pycharm"],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ text=True,
+ )
+ if result.returncode == 0 and not os.path.exists(".idea"):
+ pycharm_configuration_input = (
+ input("Open Pycharm? (Y/N): ").strip().upper()
+ )
+ if pycharm_configuration_input == "Y":
+ subprocess.run(
+ "gnome-terminal -- bash -c 'pycharm .'",
+ shell=True,
+ executable="/bin/bash",
+ )
+ print(
+ "Close Pycharm when processing is done before continue"
+ " this guide."
+ )
+ # Propose Odoo installation
+ # TODO detect last version supported
+ odoo_installation_input = (
+ input("Install Odoo 16? (Y/N): ").strip().upper()
+ )
+ if odoo_installation_input == "Y":
+ subprocess.run(
+ "gnome-terminal -- bash -c 'make install_odoo_16;bash'",
+ shell=True,
+ executable="/bin/bash",
+ )
+ print("Wait after installation and open projects by terminal.")
+ print("make open_terminal")
+ else:
+ print("Nothing to do, you need a fresh installation to continue.")
+ sys.exit(0)
+ sys.exit(1)
# TODO implement urwid to improve text user interface
# import urwid
@@ -31,8 +101,8 @@ class TODO:
print("Ouverture de TODO en cours ...")
print("🤖 => Entre tes directives par son chiffre et fait Entrée!")
help_info = """Commande :
-[1] Question
-[2] Execute
+[1] Execute
+[2] Question
[3] Fork - Ouvre TODO 🤖 dans une nouvelle tabulation
[0] Quitter
"""
@@ -43,9 +113,9 @@ class TODO:
if status == "0":
break
elif status == "1":
- self.execute_prompt_ia()
- elif status == "2":
self.prompt_execute()
+ elif status == "2":
+ self.execute_prompt_ia()
elif status == "3":
cmd = (
f"gnome-terminal --tab -- bash -c 'source"
@@ -136,8 +206,10 @@ class TODO:
def prompt_execute(self):
help_info = """Commande :
-[1] Gérer une instance
-[2] Fonction - Démonstration des fonctions développées
+[1] RUN Exécuter et installer une instance
+[2] EXEC Automatisation - Démonstration des fonctions développées
+[3] UPD Mise Ă jour - Update all developed staging source code
+[4] Code - Outil pour développeur
[0] Retour
"""
while True:
@@ -153,6 +225,14 @@ class TODO:
status = self.prompt_execute_fonction()
if status is not False:
return
+ elif status == "3":
+ status = self.prompt_execute_update()
+ if status is not False:
+ return
+ elif status == "4":
+ status = self.prompt_execute_code()
+ if status is not False:
+ return
else:
print("Commande non trouvée 🤖!")
@@ -202,6 +282,9 @@ class TODO:
return help_info
def prompt_execute_instance(self):
+ # TODO proposer le déploiement à distance
+ # TODO proposer l'exécution de docker
+ # TODO proposer la création de docker
lst_instance = self.get_config(["instance"])
help_info = self.fill_help_info(lst_instance)
@@ -252,6 +335,72 @@ class TODO:
if cmd_no_found:
print("Commande non trouvée 🤖!")
+ def prompt_execute_update(self):
+ # self.executer_commande_live(f"make {makefile_cmd}")
+ print("🤖 Mise à jour du développement")
+ # TODO détecter les modules en modification pour faire la mise à jour en cours
+ # TODO demander sur quel BD faire la mise Ă jour
+ # TODO proposer les modules manuelles selon la configuration Ă mettre Ă jour
+ # TODO proposer la mise Ă jour de l'IDE
+ # TODO proposer la mise Ă jour des git-repo
+
+ lst_instance = self.get_config(["update_from_makefile"])
+ help_info = self.fill_help_info(lst_instance)
+
+ while True:
+ status = click.prompt(help_info)
+ print()
+ if status == "0":
+ return False
+ else:
+ cmd_no_found = True
+ try:
+ int_cmd = int(status)
+ if 0 < int_cmd <= len(lst_instance):
+ cmd_no_found = False
+ dct_instance = lst_instance[int_cmd - 1]
+ self.execute_from_configuration(dct_instance)
+ except ValueError:
+ pass
+ if cmd_no_found:
+ print("Commande non trouvée 🤖!")
+ return False
+
+ def prompt_execute_code(self):
+ print("🤖 Qu'avez-vous de besoin pour développer?")
+ # help_info = """Commande :
+ # [1] Status Git local et distant
+ # [2] Démarrer le générateur de code
+ # [3] Format - Formatage automatique selon changement [ou manuelle]
+ # [4] Qualité - Qualité logiciel, détecter les fichiers qui manquent les licences AGPLv3
+ # [0] Retour
+ # """
+ # help_info = """Commande :
+ # [1] Status Git local et distant
+ # [0] Retour
+ # """
+ lst_instance = self.get_config(["code_from_makefile"])
+ help_info = self.fill_help_info(lst_instance)
+
+ while True:
+ status = click.prompt(help_info)
+ print()
+ if status == "0":
+ return False
+ else:
+ cmd_no_found = True
+ try:
+ int_cmd = int(status)
+ if 0 < int_cmd <= len(lst_instance):
+ cmd_no_found = False
+ dct_instance = lst_instance[int_cmd - 1]
+ self.execute_from_configuration(dct_instance)
+ except ValueError:
+ pass
+ if cmd_no_found:
+ print("Commande non trouvée 🤖!")
+ return False
+
def kdbx_get_extra_command_user(self, kdbx_key):
lst_value = []
if kdbx_key: