From 31daa651a2cae9f3ee3fbc673de5edca0d64a2c6 Mon Sep 17 00:00:00 2001 From: Janik von Rotz Date: Thu, 22 May 2025 12:34:02 +0200 Subject: [PATCH] feat(odoo): remove version checks in module manifest files and update submodules --- CHANGELOG.md | 1 + images/odoo/README.md | 3 ++- images/odoo/bin/set-addons-path | 22 +++------------------- task | 13 ++++++++++--- versions/18.0/.gitmodules | 4 ++++ versions/18.0/.gitmodules.csv | 27 ++++++++++++++------------- 6 files changed, 34 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7b60bd4..48e3ae87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. The format * Added code parameter to `shell` command. * Renamed `install-native` to `install` * Removed `start queue` +* Do not check version in module manifest files. ### Fixed diff --git a/images/odoo/README.md b/images/odoo/README.md index 673d4cb4..37db7871 100644 --- a/images/odoo/README.md +++ b/images/odoo/README.md @@ -44,6 +44,7 @@ services: PGUSER: odoo PGPASSWORD: odoo PGPORT: 5432 + ODOO_ADDONS_PATH: /mnt/addons/,/mnt/enterprise/,/mnt/oca/,/mnt/themes/ ports: - "127.0.0.1:8069:8069" volumes: @@ -105,7 +106,7 @@ services: GITHUB_USERNAME: bot-mintsys GITHUB_PERSONAL_ACCESS_TOKEN: ***** ADDONS_GIT_REPOS: "git@github.com:Mint-System/Odoo-Apps-Server-Tools.git#16.0,git@github.com:OCA/server-tools.git#16.0" - ODOO_ADDONS_PATH: /mnt/addons/ + ODOO_ADDONS_PATH: /mnt/addons/,/mnt/enterprise/,/mnt/oca/,/mnt/themes/ ODOO_DATABASE: "16.0" ODOO_INIT_LANG: de_CH ODOO_INIT_ADDONS: server_environment_ir_config_parameter diff --git a/images/odoo/bin/set-addons-path b/images/odoo/bin/set-addons-path index 624f74fd..9473b17b 100755 --- a/images/odoo/bin/set-addons-path +++ b/images/odoo/bin/set-addons-path @@ -9,27 +9,11 @@ if [ -n "$ODOO_ADDONS_PATH" ]; then entrypoint-log "Resolve addons path: $ODOO_ADDONS_PATH" - # Search for module manifest files containing "version.+NN.0" and return list of module paths - ODOO_MODULE_PATH=$(echo "$ODOO_ADDONS_PATH" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs grep -l "version.*${ODOO_VERSION}" | xargs -r dirname | sort -u | tr "\n" ",") + # Search for module manifest files and return list of module paths + ODOO_ADDONS_PATH=$(echo "$ODOO_ADDONS_PATH" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs -r dirname | sort -u | tr "\n" ",") # Set parent folder of module paths as new addons path - ODOO_MODULE_PATH=$(echo "$ODOO_MODULE_PATH" | tr "," "\n" | xargs -I {} dirname {} | sort -u | tr "\n" "," | sed 's/,$//') - - # Enterprise modules always have version 1.0 so they are not resolved - - # Add mounted Odoo Enterprise modules - if [[ "$ODOO_ADDONS_PATH" =~ "/mnt/enterprise" ]]; then - entrypoint-log "Add /mnt/enterprise to addons path" - ODOO_ADDONS_PATH="/mnt/enterprise,$ODOO_MODULE_PATH" - else - ODOO_ADDONS_PATH="$ODOO_MODULE_PATH" - fi -fi - -# Add downloaded Odoo Enterprise modules -if [ -d "/var/lib/odoo/enterprise" ]; then - entrypoint-log "Add /var/lib/odoo/enterprise to addons path" - ODOO_ADDONS_PATH="/var/lib/odoo/enterprise,$ODOO_ADDONS_PATH" + ODOO_ADDONS_PATH=$(echo "$ODOO_ADDONS_PATH" | tr "," "\n" | xargs -I {} dirname {} | sort -u | tr "\n" "," | sed 's/,$//') fi # Combine predefined addons path and odoo addons path diff --git a/task b/task index b706d886..33d075fd 100755 --- a/task +++ b/task @@ -518,10 +518,10 @@ function get-modules() { fi if [[ "$OPTION" == "dirname" ]]; then - MODULES=$(echo "$1" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs grep -l "version.*${ODOO_VERSION}" | xargs -r dirname | sort -u | tr "\n" "," | sed 's/,$//') + MODULES=$(echo "$1" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs -r dirname | sort -u | tr "\n" "," | sed 's/,$//') fi if [[ "$OPTION" == "basename" ]]; then - MODULES=$(echo "$1" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs grep -l "version.*${ODOO_VERSION}" | xargs -r dirname | xargs -r -I {} basename {} | sort -u | tr "\n" "," | sed 's/,$//') + MODULES=$(echo "$1" | tr "," "\n" | xargs -I {} find {} -type f -name "__manifest__.py" | xargs -r dirname | xargs -r -I {} basename {} | sort -u | tr "\n" "," | sed 's/,$//') fi echo "$MODULES" } @@ -2106,10 +2106,17 @@ function add-git-submodule() { if test -z "$1"; then echo "\$1 is empty."; exit; fi if test -z "$2"; then echo "\$2 is empty."; exit; fi - # Add to .gitmodules but not to working tree + # Add to .gitmodules git submodule add -f -b "$ODOO_VERSION" "$1" "$2" + + # Remove from working tree rm -rf .git/modules/"$2" || true git rm --cached "$2" || true + git restore --staged "$2" + + # Save .gitmodules file + git restore --staged .gitmodules + save-version } function ls-git-folder() { diff --git a/versions/18.0/.gitmodules b/versions/18.0/.gitmodules index 43d40ef3..30a47c74 100644 --- a/versions/18.0/.gitmodules +++ b/versions/18.0/.gitmodules @@ -72,3 +72,7 @@ path = addons/website url = git@github.com:Mint-System/Odoo-Apps-Website.git branch = 18.0 +[submodule "oca/queue"] + path = oca/queue + url = git@github.com:OCA/queue.git + branch = 18.0 diff --git a/versions/18.0/.gitmodules.csv b/versions/18.0/.gitmodules.csv index dea8e53c..9467764c 100644 --- a/versions/18.0/.gitmodules.csv +++ b/versions/18.0/.gitmodules.csv @@ -1,19 +1,20 @@ path,rev -addons/connector,7db7b37206dcceea0a0670291b1d7afec2e89611 +addons/connector,d85cf8fca745f357e4b9409e6b7b12d645da6261 addons/hr,7c796ae6b9c73e1385a8dd8c3d67abb84f972e07 addons/management_system,18397a33f5fd66d0780b93e071ce2d6022f05ad7 addons/manufacture,a6ec23e3cd2cbf4f5a3b186883a946f73c1ef10e -addons/server_tools,9256f556e2e3e796883c42aad185f98e329f7c17 +addons/server_tools,608cb9960128465d1768e9e0a6ff72bb7b25c4c0 addons/stock_logistics_workflow,6560f0162922ff0ec4dc8be46f77157fcd3f9cad addons/website,ce8da1bfd092f356528643984a0bd780dcd0ae6e -enterprise,3cb1af6b4bae8c4531c434efa6688154b63fca91 -oca/bank-statement-import,7f5e6f1e085cc0e0d832f15d35e7fa59a2d5b456 -oca/partner-contact,b31f3d2f79beb85216f3e34a398cff02c0b5e959 -oca/project,4975070ed57cf4406d39fbb12efc309803ba50ea -oca/sale-workflow,caf67f9b5ce14c752edb10295dc9015c092e98b2 -oca/server-backend,4940e8cc7a1e786dcac6bffc268f1967b3537c65 -oca/server-env,1576cb534daf07fe26ef24e1c9b546b8298b9ef4 -oca/server-tools,120e0ad3aedbb991ff1ec50d9f09b6366d955742 -oca/stock-logistics-workflow,620caa39f7c5a237aa192046325af71d2a39deea -odoo,9b9e020d0b758ee0546db04e2b41cc4527734b1e -themes,0295bf15673467ed737a1677a5050b30ec850493 +enterprise,24a65cbe7de764330373fe1790c38283b2c4cf16 +oca/bank-statement-import,67c69acfc7d69ada16c38e153f5ae09637878dc8 +oca/partner-contact,4a5c162626d72da11cb8da52c8b69be1368a8aae +oca/project,a6263c7bb2244cf3c309836486578c48062cffe9 +oca/queue,bd3aded98a34616bac901ed2a2504419782ff42a +oca/sale-workflow,23bcc690862fa7e91bea30a1af249aa0a2007ebb +oca/server-backend,cafbb714d858a28dec73779bf1e66557d27e9188 +oca/server-env,5cbd7954af5abb6ade27d7b321735827cd2e98e3 +oca/server-tools,8c5ea468176e8b960a0ae0a52128fc65e985e8a7 +oca/stock-logistics-workflow,86dcf1377eff8d09103515cceddf26325ba73aca +odoo,9748b45b24140416fc6e0e87c25c60285bef3d70 +themes,edda5ddefc7e88a54d379ad0b552db525e6e8884