Merge branch 'dev_1.2.1'

Release v1.2.1
This commit is contained in:
Mathieu Benoit 2021-09-28 01:45:00 -04:00
commit 9a0c46c12b
35 changed files with 929 additions and 669 deletions

View file

@ -7,13 +7,49 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
## [Unreleased]
## [1.2.0] - 2020-12-11
## [1.2.1] - 2021-09-28
### Added
- doc/migration.md
### Changed
- Update pip dependency with security update
- Jinja2==2.11.3
- lxml==4.6.3
- cryptography==3.2
- psutil==5.6.6
- Pillow==8.3.2
- Werkzeug==0.15.3
- Script separate generate_config.sh from install_locally.sh
- Improve developer documentation
- More Docker script
#### Code generator
- Improve db_servers generation code
- Improve wizard generate UI menu
### Fixed
- Mobile view menu item in Web interface from muk_web_theme
## [1.2.0] - 2021-07-21
**Migration note**
Because addons repository has change, config file need to be updated.
- When upgrading to version 1.2.0:
- From docker
- Clone project if only download docker-compose
- `git init`
- `git remote add origin https://github.com/erplibre/erplibre`
- `git fetch`
- `mv ./docker-compose.yml /tmp/temp_docker-compose.yml`
- `git checkout master`
- `mv /tmp/temp_docker-compose.yml ./docker-compose.yml`
- Update `./docker-compose.yml` depending of difference with git.
- Run script `make docker_exec_erplibre_gen_config`
- Restart the docker `make docker_restart_daemon`
- From vanilla
@ -175,7 +211,9 @@ Because addons repository has change, config file need to be updated.
- Support only python3.6 and python3.7, python3.8 causes error in runtime.
[Unreleased]: https://github.com/ERPLibre/ERPLibre/compare/v1.2.0...HEAD
[Unreleased]: https://github.com/ERPLibre/ERPLibre/compare/v1.2.1...HEAD
[1.2.1]: https://github.com/ERPLibre/ERPLibre/compare/v1.2.0...v1.2.1
[1.2.0]: https://github.com/ERPLibre/ERPLibre/compare/v1.1.1...v1.2.0

View file

@ -124,6 +124,10 @@ db_restore_erplibre_base_db_test:
db_restore_erplibre_base_db_test_module_test: db_restore_erplibre_base_db_test
./script/addons/install_addons.sh test test
.PHONY: db_restore_erplibre_base_db_test_image_test
db_restore_erplibre_base_db_test_image_test:
./script/db_restore.py --database test --image test
.PHONY: db_restore_erplibre_base_db_test2
db_restore_erplibre_base_db_test2:
./script/db_restore.py --database test2
@ -162,13 +166,14 @@ db_create_db_test: db_drop_db_test
.PHONY: image_db_create_erplibre_base
image_db_create_erplibre_base:
./script/make.sh db_create_db_test
./script/addons/install_addons.sh test erplibre_base
./script/addons/install_addons.sh test web_responsive,disable_odoo_online,remove_odoo_enterprise,auth_user_case_insensitive,muk_web_theme,muk_utils,muk_branding,muk_mail_branding,muk_web_branding,muk_web_theme_mail,muk_web_utils,fetchmail_notify_error_to_sender,mail_debrand,partner_quebec_tz,erplibre_info
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_base
.PHONY: image_db_create_erplibre_website
image_db_create_erplibre_website:
./script/make.sh db_create_db_test
./script/addons/install_addons.sh test erplibre_base,website,erplibre_website_snippets_basic_html,erplibre_website_snippets_cards,erplibre_website_snippets_structures,erplibre_website_snippets_timelines,website_form_builder
# Depend on image_db_create_erplibre_base
./script/make.sh image_db_create_erplibre_base
./script/addons/install_addons.sh test website,erplibre_website_snippets_basic_html,erplibre_website_snippets_cards,erplibre_website_snippets_structures,erplibre_website_snippets_timelines,website_form_builder
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_website
./script/addons/install_addons.sh test crm,website_crm
./.venv/bin/python3 ./odoo/odoo-bin db --backup --database test --restore_image erplibre_website_crm
@ -197,7 +202,7 @@ image_db_create_erplibre_code_generator:
.PHONY: image_db_create_all
image_db_create_all:
#./script/make.sh config_gen_image_db
./script/make.sh image_db_create_erplibre_base
#./script/make.sh image_db_create_erplibre_base
./script/make.sh image_db_create_erplibre_website
./script/make.sh image_db_create_erplibre_code_generator
#./script/make.sh config_gen_all
@ -369,6 +374,10 @@ docker_stop:
.PHONY: docker_restart_daemon
docker_restart_daemon: docker_stop 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
@ -462,25 +471,25 @@ repo_use_all_https:
# generate new config.conf
.PHONY: config_install
config_install:
./script/install_locally.sh
./script/generate_config.sh
# generate config all repo
.PHONY: config_gen_all
config_gen_all:
./script/git_repo_update_group.py
./script/install_locally.sh
./script/generate_config.sh
# generate config repo code_generator
.PHONY: config_gen_code_generator
config_gen_code_generator:
./script/git_repo_update_group.py --group base,code_generator
./script/install_locally.sh
./script/generate_config.sh
# generate config repo image_db
.PHONY: config_gen_image_db
config_gen_image_db:
./script/git_repo_update_group.py --group base,image_db
./script/install_locally.sh
./script/generate_config.sh
##########
# I18n #

View file

@ -26,7 +26,7 @@ First, install dependencies to run docker, check script `./script/install_ubuntu
The docker volume is binded to the directory name, therefore create a unique directory name and run:
```bash
wget https://raw.githubusercontent.com/ERPLibre/ERPLibre/v1.2.0/docker-compose.yml
wget https://raw.githubusercontent.com/ERPLibre/ERPLibre/v1.2.1/docker-compose.yml
docker-compose up -d
```

View file

@ -23,7 +23,7 @@
<default remote="ERPLibre" revision="12.0" sync-c="true" sync-j="4"/>
<project clone-depth="1" dest-branch="12.0" groups="base" name="ERPLibre_image_db.git" path="image_db" revision="dab97241995bb65309e92db251eda6c35849f889" upstream="12.0"/>
<project clone-depth="1" dest-branch="12.0" groups="base" name="ERPLibre_image_db.git" path="image_db" revision="890013f62132c5c8779a4ef63b820c47a7694b2f" upstream="12.0"/>
<project dest-branch="12.0" groups="addons" name="OpenHRMS.git" path="addons/CybroOdoo_OpenHRMS" remote="CybroOdoo" revision="e7881872d147e91a59e9ee9fac9e89316e1cabb4" upstream="12.0"/>
<project dest-branch="master" groups="addons" name="Property-Management_odoo.git" path="addons/kinjal-sorathiya_Property-Management_odoo" remote="kinjal-sorathiya" revision="922f6878ac560829d2ebe951b93f858c1e7d256d" upstream="master"/>
<project dest-branch="12.0" groups="addons" name="QuotationRevision.git" path="addons/odooaktiv_QuotationRevision" remote="odooaktiv" revision="701438f9c59bd657de516d9ef4de1ba6167bf30b" upstream="12.0"/>
@ -87,14 +87,14 @@
<project dest-branch="12.0" groups="addons" name="muk_docs.git" path="addons/muk-it_muk_docs" remote="muk-it" revision="a8ea02b9f00ae9fe5d2ea25ac43d23532cc11d45" upstream="12.0"/>
<project dest-branch="12.0" groups="addons,base" name="muk_misc.git" path="addons/muk-it_muk_misc" remote="muk-it" revision="37b9d6dc20fa686a323057b160015bfc2c2c8143" upstream="12.0"/>
<project dest-branch="12.0" groups="addons" name="muk_quality.git" path="addons/muk-it_muk_quality" remote="muk-it" revision="1a4c6f25c5e4fe0029d406d6283555bd23a44d27" upstream="12.0"/>
<project dest-branch="12.0_dev" groups="addons,base" name="muk_web.git" path="addons/muk-it_muk_web" remote="muk-it" revision="d857e59a288f81ee1119860f30802473166888e1" upstream="12.0_dev"/>
<project dest-branch="12.0_dev" groups="addons,base" name="muk_web.git" path="addons/muk-it_muk_web" remote="muk-it" revision="89018ef54942ed958b10a3fb5a4e63a84ced8095" upstream="12.0_dev"/>
<project dest-branch="12.0_remove_autoinstall" groups="addons,base" name="muk_website.git" path="addons/muk-it_muk_website" remote="muk-it" revision="c6c42a4b7187f8964675d004e478e2251f2cdde9" upstream="12.0_remove_autoinstall"/>
<project dest-branch="12.0" groups="addons" name="multi-company.git" path="addons/OCA_multi-company" remote="OCA" revision="9d689c5ad230f8f2e6a550354a6b1577a8e5a3c9" upstream="12.0"/>
<project dest-branch="12.0_dev" groups="addons" name="odoo-base-addons.git" path="addons/Numigi_odoo-base-addons" remote="Numigi" revision="78c23a29283f35ef480186358dd6d848a38a2aff" upstream="12.0_dev"/>
<project dest-branch="12.0_sale_order_line_timesheet_attribution" groups="addons,base" name="odoo-business-spending-management-quebec-canada.git" path="addons/MathBenTech_odoo-business-spending-management-quebec-canada" remote="MathBenTech" revision="822d2e018554119fa63f79ac91625473ec54b9fe" upstream="12.0_sale_order_line_timesheet_attribution"/>
<project dest-branch="12.0_dev" groups="addons" name="odoo-cloud-platform.git" path="addons/camptocamp_odoo-cloud-platform" remote="camptocamp" revision="66ab5ab453d38f480bd8b07c54b9925e25e9890b" upstream="12.0_dev"/>
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator-template.git" path="addons/TechnoLibre_odoo-code-generator-template" remote="TechnoLibre" revision="4be2d00b98788b2b741a9c51c27bdab08c2905ef" upstream="12.0"/>
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator.git" path="addons/TechnoLibre_odoo-code-generator" remote="TechnoLibre" revision="899858faa3c27979783896a7d9004d4e9c7c59b0" upstream="12.0"/>
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator-template.git" path="addons/TechnoLibre_odoo-code-generator-template" remote="TechnoLibre" revision="57e09628115f8fa8868fd4006e41d68ccb595c0f" upstream="12.0"/>
<project dest-branch="12.0" groups="addons,code_generator,image_db" name="odoo-code-generator.git" path="addons/TechnoLibre_odoo-code-generator" remote="TechnoLibre" revision="256d298b0638eb00cc88e875530c1f394ff0d7f2" upstream="12.0"/>
<project dest-branch="12.0_dev" groups="odoo" name="odoo-development.git" path="doc/itpp-labs_odoo-development" remote="itpp-labs" revision="388bc9b618a0e7ccf970fc678028f19b146e65f9" upstream="12.0_dev"/>
<project dest-branch="12.0_dev" groups="addons" name="odoo-entertainment-addons.git" path="addons/Numigi_odoo-entertainment-addons" remote="Numigi" revision="5abba3eabcb60c96d80240ab756736eb57ed345b" upstream="12.0_dev"/>
<project dest-branch="12.0_dev" groups="addons" name="odoo-git-addons.git" path="addons/Numigi_odoo-git-addons" remote="Numigi" revision="a394f422a5d3063dd2c339544ecca74bdbbe19ae" upstream="12.0_dev"/>

View file

@ -91,7 +91,7 @@ make addons_install_code_generator_full
make run_code_generator
```
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `admin` et mot de passe `admin`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.

View file

@ -52,7 +52,7 @@ make addons_install_code_generator_full
make run_code_generator
```
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `admin` et mot de passe `admin`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.

View file

@ -34,7 +34,7 @@ make addons_install_code_generator_full
make run_code_generator
```
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `test` et mot de passe `test`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir le navigateur sur [http://localhost:8069](http://localhost:8069). Utilisateur `admin` et mot de passe `admin`. Une fois connecté, ouvrir sur [http://localhost:8069/web?debug=](http://localhost:8069/web?debug=) pour activer le mode déverminage.
Ouvrir l'application `Code Generator` et créer un `Module`. Remplir les champs requis et générer avec `Action/Generate code`.

View file

@ -155,14 +155,37 @@ You can limit your addons in ERPlibre config file depending on a group of your a
```bash
./script/git_repo_update_group.py --group base,code_generator
./script/install_locally.sh
./script/generate_config.sh
```
Or go back to normal
```bash
./script/git_repo_update_group.py
./script/install_locally.sh
./script/generate_config.sh
```
# Database
## Clean database PostgreSQL
Sometime, it's not possible to delete a database from the database manager `http://127.0.0.1:8069/web/database/manager`, so you can do it manually. Replace `database_name` by your database name:
```bash
sudo -iu postgres
psql
```
And run:
```postgres-sql
DROP DATABASE database_name;
```
Exit and delete filestore:
```bash
rm -r ~/.local/share/Odoo/filestore/database_name
```
# Coding

View file

@ -125,3 +125,11 @@ Maybe, some version diverge from your manifest. Simply clean all and relaunch yo
```bash
./script/clean_repo_manifest.sh
```
### Unshallow git
By example, the repo Odoo use a depth clone. If you need all the clone repo, use this command on right directory:
```bash
git fetch REMOTE --unshallow
```

38
doc/MIGRATION.md Normal file
View file

@ -0,0 +1,38 @@
# Migration
Guide to help migration with different version.
## Docker
- Clone project if only download docker-compose
- `git init`
- `git remote add origin https://github.com/erplibre/erplibre`
- `git fetch`
- `mv ./docker-compose.yml /tmp/temp_docker-compose.yml`
- `git checkout master`
- `mv /tmp/temp_docker-compose.yml ./docker-compose.yml`
- Do manually a backup of ERPLibre database (TODO implement makefile command)
- Update `./docker-compose.yml` depending of difference with git.
- Run script `make docker_exec_erplibre_gen_config`
- Stop the docker `make docker_stop`
- Delete the volume, `docker volume rm ${BASENAME}_erplibre-db-data`
- Start the docker `make docker_run_daemon`
- Restore the backup manually.
### Database migration, PostgreSQL update 11 to 12
TODO not working automatically, check last procedure and do it manually. The command to the docker is missing support when database is external.
Easy way, do a backup with ERPLibre, upgrade Postgresql, restore the same backup.
List all database :
```bash
make docker_show_databases
```
## Vanilla
- Run script `make install_dev`
- Restart your daemon
- Regenerate master password manually

View file

@ -15,7 +15,7 @@ cd ERPLibre
### 2. Modify the parameters
Modify the file env_var.sh for production installation. Enable nginx if you need a proxy with `EL_INSTALL_NGINX`.
Modify the file env_var.sh for production installation. Enable nginx if you need a proxy with `EL_INSTALL_NGINX` at True.
Redirect your DNS to the proxy's ip and add your A and AAAA into `WL_WEBSITE_NAME` with space between.
### 3. Execute the scripts:

View file

@ -64,6 +64,15 @@ To generate a docker, run:
make docker_build
```
### Rename old version to new version
Search old version, like :
```bash
grep --color=always --exclude-dir={.repo,.venv,.git} --exclude="*.svg" -nri v1.2.0
```
Replace if need it to new version.
### Test production Ubuntu environment
Follow instructions in [PRODUCTION.md](./PRODUCTION.md).
@ -126,7 +135,14 @@ Create a branch release/#.#.# and create a pull request to branch master with yo
git commit -am "Release v#.#.#"
```
Review by your peers, test the docker file and merge to master.
Review by your peers, test the docker file and **merge to master**.
```bash
git checkout master
git merge --no-ff RELEASE_BRANCH
```
Add comment `Release v#.#.#`.
## Generate image db to accelerate db installation

View file

@ -1,7 +1,7 @@
version: "3.3"
services:
ERPLibre:
image: technolibre/erplibre:1.2.0
image: technolibre/erplibre:1.2.1
ports:
- 8069:8069
- 8071:8071
@ -16,6 +16,10 @@ services:
UPDATE_ALL_DB: "False"
depends_on:
- db
# not behind a proxy
#command: odoo --workers 0
# behind a proxy
#command: odoo --workers 2
command: odoo
volumes:
# See the volume section at the end of the file

View file

@ -1,4 +1,4 @@
FROM technolibre/erplibre-base:1.2.0
FROM technolibre/erplibre-base:1.2.1
ENV REPO_MANIFEST_URL https://github.com/ERPLibre/ERPLibre
ARG WORKING_BRANCH

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash
ERPLIBRE_VERSION="1.2.0"
ERPLIBRE_VERSION="1.2.1"
EL_USER="erplibre"
EL_HOME="/${EL_USER}"
@ -17,7 +17,7 @@ EL_SUPERADMIN="admin"
EL_CONFIG="${EL_USER}"
EL_MINIMAL_ADDONS="False"
# Set this to True if you want to install Nginx!
EL_INSTALL_NGINX="True"
EL_INSTALL_NGINX="False"
# Set the website name
EL_WEBSITE_NAME="localhost"
EL_GITHUB_TOKEN=""

View file

@ -14,3 +14,4 @@ ldap
pythonjsonlogger
python-alipay-sdk
pyrfc
MySQLdb

948
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -13,19 +13,19 @@ authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
python = "^3.7.7"
Asterisk = "^0.0.8"
Babel = "2.3.4"
BeautifulSoup4 = "^4.9.3"
BeautifulSoup4 = "^4.10.0"
GitPython = "3.1.12"
Jinja2 = "2.10.1"
Jinja2 = "2.11.3"
Mako = "1.0.4"
MarkupSafe = "0.23"
Pillow = "6.1.0"
Pillow = "8.3.2"
PyJWT = "1.7.1"
PyPDF2 = "1.26.0"
PyYAML = "4.2b4"
SOAPpy = "^0.12.22"
Sphinx = ">=2.4.0"
Voicent-Python = "^1.0"
Werkzeug = "0.11.15"
Werkzeug = "0.15.3"
XlsxWriter = "0.9.3"
agithub = "^2.2.2"
altair = "^4.1.0"
@ -39,15 +39,15 @@ click = "^8.0.1"
cloudflare = "^2.8.15"
code_writer = "^1.1.1"
colorama = "^0.4.4"
cryptography = "2.6.1"
cryptography = "3.2"
css-html-prettify = "^2.5.5"
cython = "^0.29.23"
cython = "^0.29.24"
ddt = "1.2.0"
decorator = "4.0.10"
docutils = "0.16"
ebaysdk = "2.1.5"
email_validator = "^1.1.3"
emoji = "^1.2.0"
emoji = "^1.5.0"
escpos = "^1.9"
extract-msg = "^0.28.7"
extract_msg = "^0.28.7"
@ -68,28 +68,28 @@ js2py = "^0.71"
keystoneauth1 = "3.14.0"
lasso = "^0.0.5"
libsass = "0.12.3"
lxml = "4.2.3"
lxml = "4.6.3"
matplotlib = ">=2.0.0"
mock = "2.0.0"
mpld3 = "0.3"
mysqlclient = "^2.0.3"
num2words = "0.5.6"
numpy = "^1.21.0"
numpy = "1.21.1"
oauthlib = "2.1.0"
"oca.decorators" = "^0.0.1"
ofxparse = "0.16"
openpyxl = "^3.0.7"
openupgradelib = "^2.0.0"
openpyxl = "^3.0.9"
openupgradelib = "^3.1.1"
pandas = "1.2.0"
paramiko = "^2.7.2"
passlib = "1.6.5"
pdf2image = "^1.16.0"
pdfminer = "^20191125"
pexpect = "^4.8.0"
phonenumbers = "^8.12.26"
phonenumbers = "^8.12.33"
plotly = "4.1.0"
premailer = "^3.9.0"
psutil = "4.3.1"
premailer = "^3.10.0"
psutil = "5.6.6"
psycopg2 = "2.7.3.1"
py-Asterisk = "^0.5.18"
"py3o.formats" = "^0.3"
@ -98,11 +98,11 @@ pycountry = "^20.7.3"
pydot = "1.2.3"
pygount = "<1.2.0"
pyldap = "2.4.28"
pymssql = "^2.2.1"
pymssql = "^2.2.2"
pymysql = "^1.0.2"
pyotp = "^2.6.0"
pyparsing = "2.1.10"
pyproj = "^3.1.0"
pyproj = "^3.2.1"
pyserial = "3.1.1"
pysftp = "^0.2.9"
python-chess = "<0.24"
@ -130,34 +130,34 @@ requests-toolbelt = "0.9.1"
retrying = "^1.3.3"
serial = "^0.0.97"
shapely = "1.6.4.post2"
simplejson = "^3.17.2"
simplejson = "^3.17.5"
slugify = "^0.0.1"
sphinx = ">=1.6.7"
sphinx-intl = "^2.0.1"
sphinx-patchqueue = ">=1.0"
sphinx_rtd_theme = "^0.5.2"
sqlalchemy = "^1.4.19"
sphinx_rtd_theme = "^1.0.0"
sqlalchemy = "^1.4.25"
statsd = "3.2.1"
suds-jurko = "0.6"
toml = "^0.10.2"
twython = "^3.8.2"
twython = "^3.9.1"
unidecode = "1.0.22"
unidiff = "^0.6.0"
unidiff = "^0.7.0"
vatnumber = "1.2"
vcrpy = ">=2.1.1"
vcrpy-unittest = "^0.1.7"
vobject = "0.9.3"
voicent-python = "^1.0"
webcolors = "1.10"
websocket-client = "^1.1.0"
websocket-client = "^1.2.1"
wechatpy = "^1.8.15"
wget = "^3.2"
wheel = "^0.36.2"
wheel = "^0.37.0"
xlrd = "1.0.0"
xlwt = "1.3"
xmlformatter = "^0.2.2"
xmlformatter = "^0.2.4"
xmltodict = "^0.12.0"
zeep = "^4.0.0"
zeep = "^4.1.0"
zxcvbn = "^4.4.28"
[tool.poetry.dev-dependencies]

View file

@ -55,3 +55,20 @@ cloudflare
# For multilang_md.py
click
emoji
# Code generator
mysqlclient
# Force update dependency to fix poetry
numpy==1.21.1
# Force version for security update
# Not pyyaml, break by camptocamp_odoo-cloud-platform
# error with 5.x (ConstructorError: could not determine a constructor for the tag '!record')
# pyyaml==5.4
Jinja2==2.11.3
lxml==4.6.3
cryptography==3.2
psutil==5.6.6
Pillow==8.3.2
Werkzeug==0.15.3

View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash
rm -rf ./odoo ./addons/*
rm -rf ./odoo ./addons/* ./script/OCA*
mkdir -p addons/addons

View file

@ -2,5 +2,7 @@
CURRENT=$(pwd)
BASENAME=$(basename "${CURRENT}")
# Docker remove dot
BASENAME="${BASENAME//./}"
docker exec -u root -ti ${BASENAME}_ERPLibre_1 bash

View file

@ -2,6 +2,8 @@
CURRENT=$(pwd)
BASENAME=$(basename "${CURRENT}")
# Docker remove dot
BASENAME="${BASENAME//./}"
docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\
cd /ERPLibre; \

View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
CURRENT=$(pwd)
BASENAME=$(basename "${CURRENT}")
# Docker remove dot
BASENAME="${BASENAME//./}"
docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\
cd /ERPLibre; \
time make db_list; \
"

View file

@ -2,6 +2,8 @@
CURRENT=$(pwd)
BASENAME=$(basename "${CURRENT}")
# Docker remove dot
BASENAME="${BASENAME//./}"
docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\
cd /ERPLibre; \

View file

@ -2,6 +2,8 @@
CURRENT=$(pwd)
BASENAME=$(basename "${CURRENT}")
# Docker remove dot
BASENAME="${BASENAME//./}"
docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\
cd /ERPLibre; \

View file

@ -135,7 +135,7 @@ def main():
# Update origin to new repo
GitTool().generate_install_locally()
GitTool().generate_generate_config()
if __name__ == "__main__":

2
script/fork_project_ERPLibre.py Normal file → Executable file
View file

@ -177,7 +177,7 @@ def main():
git_tool.generate_repo_manifest(
lst_repo_organization, output=f"{config.dir}manifest/default.dev.xml"
)
git_tool.generate_install_locally()
git_tool.generate_generate_config()
if __name__ == "__main__":

170
script/generate_config.sh Executable file
View file

@ -0,0 +1,170 @@
#!/usr/bin/env bash
. ./env_var.sh
EL_USER=${USER}
EL_HOME=$PWD
EL_HOME_ODOO="${EL_HOME}/odoo"
#EL_PORT="8069"
#EL_LONGPOLLING_PORT="8072"
#EL_SUPERADMIN="admin"
EL_CONFIG_FILE="${EL_HOME}/config.conf"
#EL_MINIMAL_ADDONS="False"
#EL_INSTALL_NGINX="True"
echo -e "* Create server config file"
touch ${EL_CONFIG_FILE}
echo -e "* Creating server config file"
printf '[options] \n; This is the password that allows database operations:\n' > ${EL_CONFIG_FILE}
printf "admin_passwd = ${EL_SUPERADMIN}\n" >> ${EL_CONFIG_FILE}
printf "db_host = False\n" >> ${EL_CONFIG_FILE}
printf "db_port = False\n" >> ${EL_CONFIG_FILE}
printf "db_user = ${EL_USER}\n" >> ${EL_CONFIG_FILE}
printf "db_password = False\n" >> ${EL_CONFIG_FILE}
printf "xmlrpc_port = ${EL_PORT}\n" >> ${EL_CONFIG_FILE}
printf "longpolling_port = ${EL_LONGPOLLING_PORT}\n" >> ${EL_CONFIG_FILE}
printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME}/addons/addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_web," >> ${EL_CONFIG_FILE}
if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons/CybroOdoo_OpenHRMS," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/ERPLibre_erplibre_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/ERPLibre_erplibre_theme_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_development," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_odoo-business-spending-management-quebec-canada," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_scrummer," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-base-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-entertainment-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-git-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-hr-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-partner-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-product-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-project-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-purchase-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-stock-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-survey-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-timesheet-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-web-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-analytic," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-budgeting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-closing," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-consolidation," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-financial-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-financial-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-fiscal-rule," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-invoice-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-invoicing," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-payment," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-reconcile," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_apps-store," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_bank-payment," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_bank-statement-import," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_brand," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_business-requirement," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_commission," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_community-data-files," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-ecommerce," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-interfaces," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-jira," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-telephony," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_contract," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_credit-control," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_crm," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_currency," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_data-protection," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_ddmrp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_delivery-carrier," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_donation," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_e-commerce," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_edi," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_event," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_field-service," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_fleet," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_geospatial," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_helpdesk," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_hr," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_interface-github," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_knowledge," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_l10n-canada," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_maintenance," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_management-system," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_manufacture," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_margin-analysis," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_mis-builder," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_multi-company," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_operating-unit," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_partner-contact," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_pos," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-attribute," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-pack," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-variant," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_project," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_project-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_purchase-workflow," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_queue," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_reporting-engine," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_rma," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_sale-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_sale-workflow," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-auth," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-backend," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-brand," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-env," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-ux," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_social," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_stock-logistics-warehouse," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_storage," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_timesheet," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-association," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-hotel," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-isp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-travel," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_website," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_website-cms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_wms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Smile-SA_odoo_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/TechnoLibre_odoo-code-generator," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/TechnoLibre_odoo-code-generator-template," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/camptocamp_odoo-cloud-platform," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/dhongu_deltatech," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/it-projects-llc_saas-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_access-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_pos-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_website-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/kinjal-sorathiya_Property-Management_odoo," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_base," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_dms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_misc," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_quality," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_web," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_website," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/obayit_odoo_dhtmlxgantt," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odooaktiv_QuotationRevision," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odooaktiv_product_rating_app," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odoomates_odooapps," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/openeducat_openeducat_erp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/pledra_odoo-product-configurator," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/tegin_medical-fhir," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-development," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-port-docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-test-docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/odoo_documentation-user," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/script/OCA_maintainer-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/script/OCA_odoo-module-migrator," >> ${EL_CONFIG_FILE}
fi
printf "\n" >> ${EL_CONFIG_FILE}
printf "max_cron_threads = 2\n" >> ${EL_CONFIG_FILE}
if [[ ${EL_INSTALL_NGINX} = "True" ]]; then
printf "workers = 2\n" >> ${EL_CONFIG_FILE}
printf "xmlrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
printf "netrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
printf "proxy_mode = True\n" >> ${EL_CONFIG_FILE}
else
printf "workers = 0\n" >> ${EL_CONFIG_FILE}
fi

View file

@ -51,9 +51,9 @@ def get_config():
help="Open web browser for each repo.",
)
parser.add_argument(
"--generate_only_install_locally",
"--generate_only_generate_config",
action="store_true",
help="Only generate script install_locally.sh.",
help="Only generate script generate_config.sh.",
)
parser.add_argument(
"--sync_to",
@ -81,10 +81,10 @@ def main():
# lst_repo = get_all_repo()
config = get_config()
if config.generate_only_install_locally:
if config.generate_only_generate_config:
print("Generate config file locally.")
gt = git_tool.GitTool()
gt.generate_install_locally()
gt.generate_generate_config()
return
if config.sync_to:

View file

@ -83,7 +83,7 @@ def main():
dct_project=dct_project,
keep_original=True,
)
git_tool.generate_install_locally()
git_tool.generate_generate_config()
if __name__ == "__main__":

View file

@ -46,7 +46,7 @@ def main():
filter_group = config.group if config.group else None
git_tool.generate_install_locally(filter_group=filter_group)
git_tool.generate_generate_config(filter_group=filter_group)
if __name__ == "__main__":

View file

@ -383,8 +383,8 @@ class GitTool:
if url:
webbrowser.open_new_tab(url)
def generate_install_locally(self, repo_path="./", filter_group=None):
filename_locally = f"{repo_path}script/install_locally.sh"
def generate_generate_config(self, repo_path="./", filter_group=None):
filename_locally = f"{repo_path}script/generate_config.sh"
lst_repo = self.get_repo_info(
repo_path=repo_path, filter_group=filter_group
)

View file

@ -9,167 +9,12 @@ EL_HOME_ODOO="${EL_HOME}/odoo"
#EL_PORT="8069"
#EL_LONGPOLLING_PORT="8072"
#EL_SUPERADMIN="admin"
EL_CONFIG_FILE="${EL_HOME}/config.conf"
#EL_CONFIG_FILE="${EL_HOME}/config.conf"
#EL_CONFIG="${EL_USER}"
#EL_MINIMAL_ADDONS="False"
#EL_INSTALL_NGINX="True"
echo -e "* Create server config file"
touch ${EL_CONFIG_FILE}
echo -e "* Creating server config file"
printf '[options] \n; This is the password that allows database operations:\n' > ${EL_CONFIG_FILE}
printf "admin_passwd = ${EL_SUPERADMIN}\n" >> ${EL_CONFIG_FILE}
printf "db_host = False\n" >> ${EL_CONFIG_FILE}
printf "db_port = False\n" >> ${EL_CONFIG_FILE}
printf "db_user = ${EL_USER}\n" >> ${EL_CONFIG_FILE}
printf "db_password = False\n" >> ${EL_CONFIG_FILE}
printf "xmlrpc_port = ${EL_PORT}\n" >> ${EL_CONFIG_FILE}
printf "longpolling_port = ${EL_LONGPOLLING_PORT}\n" >> ${EL_CONFIG_FILE}
printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME}/addons/addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_web," >> ${EL_CONFIG_FILE}
if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons/CybroOdoo_OpenHRMS," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/ERPLibre_erplibre_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/ERPLibre_erplibre_theme_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_development," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_odoo-business-spending-management-quebec-canada," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/MathBenTech_scrummer," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-base-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-entertainment-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-git-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-hr-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-partner-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-product-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-project-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-purchase-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-stock-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-survey-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-timesheet-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Numigi_odoo-web-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-analytic," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-budgeting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-closing," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-consolidation," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-financial-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-financial-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-fiscal-rule," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-invoice-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-invoicing," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-payment," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_account-reconcile," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_apps-store," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_bank-payment," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_bank-statement-import," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_brand," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_business-requirement," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_commission," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_community-data-files," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-ecommerce," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-interfaces," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-jira," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_connector-telephony," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_contract," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_credit-control," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_crm," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_currency," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_data-protection," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_ddmrp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_delivery-carrier," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_donation," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_e-commerce," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_edi," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_event," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_field-service," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_fleet," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_geospatial," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_helpdesk," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_hr," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_interface-github," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_knowledge," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_l10n-canada," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_maintenance," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_management-system," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_manufacture," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_margin-analysis," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_mis-builder," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_multi-company," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_operating-unit," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_partner-contact," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_pos," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-attribute," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-pack," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_product-variant," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_project," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_project-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_purchase-workflow," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_queue," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_reporting-engine," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_rma," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_sale-reporting," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_sale-workflow," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-auth," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-backend," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-brand," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-env," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_server-ux," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_social," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_stock-logistics-warehouse," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_storage," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_timesheet," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-association," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-hotel," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-isp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_vertical-travel," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_website," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_website-cms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/OCA_wms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/Smile-SA_odoo_addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/TechnoLibre_odoo-code-generator," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/TechnoLibre_odoo-code-generator-template," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/camptocamp_odoo-cloud-platform," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/dhongu_deltatech," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/it-projects-llc_saas-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_access-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_pos-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/itpp-labs_website-addons," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/kinjal-sorathiya_Property-Management_odoo," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_base," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_dms," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_misc," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_quality," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_web," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/muk-it_muk_website," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/obayit_odoo_dhtmlxgantt," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odooaktiv_QuotationRevision," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odooaktiv_product_rating_app," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/odoomates_odooapps," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/openeducat_openeducat_erp," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/pledra_odoo-product-configurator," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/addons/tegin_medical-fhir," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-development," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-port-docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/itpp-labs_odoo-test-docs," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/doc/odoo_documentation-user," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/script/OCA_maintainer-tools," >> ${EL_CONFIG_FILE}
printf "${EL_HOME}/script/OCA_odoo-module-migrator," >> ${EL_CONFIG_FILE}
fi
printf "\n" >> ${EL_CONFIG_FILE}
printf "max_cron_threads = 2\n" >> ${EL_CONFIG_FILE}
if [[ ${EL_INSTALL_NGINX} = "True" ]]; then
printf "workers = 2\n" >> ${EL_CONFIG_FILE}
printf "xmlrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
printf "netrpc_interface = 127.0.0.1\n" >> ${EL_CONFIG_FILE}
printf "proxy_mode = True\n" >> ${EL_CONFIG_FILE}
else
printf "workers = 0\n" >> ${EL_CONFIG_FILE}
fi
./script/generate_config.sh
#echo -e "\n---- Install Odoo with addons module ----"
#git submodule update --init

View file

@ -23,6 +23,9 @@ cd script/OCA_maintainer-tools
../../.venv/bin/python -m venv env
. env/bin/activate
pip install setuptools-rust
# Delete all tag before installing, or break installation, will generate a new one after
git tag | xargs git tag -d
python setup.py install
git tag ERPLibre/v1.2.1
#${VENV_PATH}/bin/pip install ./script/OCA_maintainer-tools/
cd -

View file

@ -54,6 +54,11 @@ def get_config():
action="store_true",
help="More information in execution, show stats.",
)
parser.add_argument(
"--dry",
action="store_true",
help="Don't apply change, only show warning.",
)
args = parser.parse_args()
return args
@ -349,15 +354,17 @@ def main():
# repo = Repo(root_path)
# lst_repo = get_all_repo()
config = get_config()
pyproject_toml_filename = f"{config.dir}pyproject.toml"
delete_dependency_poetry(pyproject_toml_filename)
if not config.dry:
pyproject_toml_filename = f"{config.dir}pyproject.toml"
delete_dependency_poetry(pyproject_toml_filename)
combine_requirements(config)
if config.force and os.path.isfile("./poetry.lock"):
os.remove("./poetry.lock")
status = call_poetry_add_build_dependency()
if status:
sorted_dependency_poetry(pyproject_toml_filename)
if not config.dry:
if config.force and os.path.isfile("./poetry.lock"):
os.remove("./poetry.lock")
status = call_poetry_add_build_dependency()
if status:
sorted_dependency_poetry(pyproject_toml_filename)
if __name__ == "__main__":