squashed commit

This commit is contained in:
hoangvv
2026-09-18 13:55:25 +07:00
commit 039c98d4d0
45882 changed files with 24235585 additions and 0 deletions
+175
View File
@@ -0,0 +1,175 @@
# -*- mode: python ; coding: utf-8 -*-
import os
import sys
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
block_cipher = None
# Windows-specific paths
base_path = os.path.abspath('.')
python_path = sys.executable
# Collect modules
try:
odoo_submodules = collect_submodules('odoo')
addon_submodules = collect_submodules('odoo.addons')
crypto_modules = collect_submodules('cryptography')
reportlab_modules = collect_submodules('reportlab')
babel_modules = collect_submodules('babel')
psycopg2_modules = collect_submodules('psycopg2')
except Exception:
odoo_submodules = []
addon_submodules = []
crypto_modules = []
reportlab_modules = []
babel_modules = []
psycopg2_modules = []
# Collect data files
try:
babel_data = collect_data_files('babel')
reportlab_data = collect_data_files('reportlab')
psycopg2_data = collect_data_files('psycopg2')
except Exception:
babel_data = []
reportlab_data = []
psycopg2_data = []
a = Analysis(
['odoo-bin'],
pathex=[base_path],
binaries=[
# Windows-specific binaries
# PostgreSQL client libraries (if needed)
# ('C:\\Program Files\\PostgreSQL\\15\\bin\\libpq.dll', '.'),
# ('C:\\Program Files\\PostgreSQL\\15\\bin\\libeay32.dll', '.'),
# ('C:\\Program Files\\PostgreSQL\\15\\bin\\ssleay32.dll', '.'),
],
datas=[
# Core Odoo files
('addons', 'addons'),
('odoo', 'odoo'),
('extra-addons', 'extra-addons'),
# Configuration files
('odoo.conf', '.'),
('*.conf', '.'),
# Windows-specific: Include wkhtmltopdf if available
# ('C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe', 'wkhtmltopdf'),
# ('C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltoimage.exe', 'wkhtmltopdf'),
] + babel_data + reportlab_data + psycopg2_data,
hiddenimports=[
# Core Python modules
'pkg_resources.py2_warn',
'pkg_resources',
# Database drivers
'psycopg2',
'psycopg2.extensions',
'psycopg2.extras',
'psycopg2._psycopg',
# Windows-specific modules
'win32api',
'win32con',
'win32event',
'win32file',
'win32pipe',
'win32process',
'win32security',
'pywintypes',
'pythoncom',
# Core Odoo dependencies
'lxml',
'lxml.etree',
'lxml.html',
'werkzeug',
'babel',
'passlib',
'dateutil',
'pytz',
'PIL',
'reportlab',
'openpyxl',
'xlrd',
'xlwt',
'requests',
'urllib3',
'jinja2',
'markupsafe',
# Odoo core modules
'odoo',
'odoo.addons',
'odoo.tools',
'odoo.tools.pdf',
'odoo.tools.pdf._pypdf',
'odoo.tools.pdf._pypdf2_1',
'odoo.tools.pdf._pypdf2_2',
'odoo.service',
'odoo.http',
'odoo.cli',
# Additional Windows-specific
'email.mime.multipart',
'email.mime.text',
'email.mime.base',
'timeit',
] + odoo_submodules + addon_submodules + crypto_modules + reportlab_modules + babel_modules + psycopg2_modules,
hookspath=[],
runtime_hooks=[],
excludes=[
# Exclude unnecessary modules
'tkinter',
'matplotlib',
'scipy',
'pandas',
'jupyter',
'notebook',
'ipython',
'django',
'flask',
'tornado',
'twisted',
],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='odoo18',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True, # Keep console for debugging
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='odoo_icon.ico', # Add Odoo icon if available
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='odoo18',
)