Files
odoo_source/setup/package.dffedora
T
Olivier Dony 3db7956b4c [IMP] assets: switch to optimized rjsmin minification
The C implementation of the JS minification gives speedups between 6
and 55 times faster than the regex-based Python port, depending on
how compressed the input it (which is what our default implementation
does).

This is measurable when generating compiled assets bundle from scratch,
e.g. after installing/updating modules or source code.

As an illustration, the minification of a 2MB JS bundle can be 50x
faster:

```py
import rjsmin
from odoo.addons.base.models.assetsbundle import rjsmin as rjsm
js_source = open("web.assets_common_lazy.js").read() # 2MB JS
%timeit rjsm(js_source)
 # -> 339 ms ± 495 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit rjsmin.jsmin(js_source)
 # -> 6.88 ms ± 213 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
```

It's also a drop-in replacement, as long as you rjsmin 1.1.0 or better
is available (to support format strings properly, a.o.).

See also the documentation of rjsmin: http://opensource.perlig.de/rjsmin/

closes odoo/odoo#104283

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-06-05 16:16:57 +02:00

70 lines
1.9 KiB
Plaintext

# Please note that this Dockerfile is used for testing nightly builds and should
# not be used to deploy Odoo
FROM fedora:36
MAINTAINER Odoo S.A. <info@odoo.com>
# Dependencies and postgres
RUN dnf update -d 0 -e 0 -y && \
dnf install -d 0 -e 0 \
createrepo \
libsass \
postgresql \
postgresql-contrib \
postgresql-devel \
postgresql-libs \
postgresql-server \
python3-PyPDF2 \
python3-cryptography \
python3-babel \
python3-chardet \
python3-dateutil \
python3-decorator \
python3-devel \
python3-docutils \
python3-freezegun \
python3-geoip2 \
python3-gevent \
python3-greenlet \
python3-idna \
python3-jinja2 \
python3-libsass \
python3-lxml \
python3-markupsafe \
python3-mock \
python3-num2words \
python3-ofxparse \
python3-passlib \
python3-pillow \
python3-polib \
python3-psutil \
python3-psycopg2 \
python3-pydot \
python3-pyldap \
python3-pyOpenSSL \
python3-pyserial \
python3-pytz \
python3-pyusb \
python3-qrcode \
python3-reportlab \
python3-requests \
python3-rjsmin \
python3-six \
python3-stdnum \
python3-vobject \
python3-werkzeug \
python3-wheel \
python3-xlrd \
python3-xlsxwriter \
python3-xlwt \
python3-zeep \
rpmdevtools -y && \
dnf clean all
# Postgres configuration
RUN mkdir -p /var/lib/postgres/data
RUN chown -R postgres:postgres /var/lib/postgres/data
RUN su postgres -c "initdb -D /var/lib/postgres/data -E UTF-8"
RUN cp /usr/share/pgsql/postgresql.conf.sample /var/lib/postgres/data/postgresql.conf
RUN echo "PS1=\"[\u@nightly-tests] # \"" > ~/.bashrc