gristlabs_grist-core/buildtools/prepare_python3.sh
Paul Fitzpatrick f7f76fb5e7
A set of tweaks to simplify electron packaging (#421)
* Replace `ormconfig.js` with a newer mechanism of configuring
    TypeORM that can be included in the source code properly.
    The path to `ormconfig.js` has always been awkward to handle,
    and eliminating the file makes building different Grist setups
    a bit simpler.
  * Remove `electron` package. It is barely used, just for some old
    remnants of an older attempt at electron packaging. It was used
    for two types, which I left at `any` for now. More code pruning is
    no doubt possible here, but I'd rather do it when Electron packaging
    has solidified.
  * Add a hook for replacing the login system, and for adding some
    extra middleware the login system may need.
  * Add support for some more possible locations of Python, which
    arise when a standalone version of it is included in the Electron
    package. This isn't very general purpose, just configurations
    that I found useful.
  * Support using grist-core within a yarn workspace - the only tweak
    needed was webpack related.
  * Allow an external ID to be optionally associated with documents.
2023-02-13 15:52:17 -05:00

33 lines
748 B
Bash
Executable File

#!/usr/bin/env bash
# Prepare a Python3 sandbox in the sandbox_venv3 directory.
# Optionally, can be called with the command to use for Python,
# and the directory of a standalone version of Python to incorporate.
set -e
if [[ -e sandbox_venv3 ]]; then
echo "Have Python3 sandbox"
exit 0
fi
python="$1"
python_dir="$2"
if [[ "$python_dir" = "" ]]; then
python=python3
pip=sandbox_venv3/bin/pip
echo "Making Python3 sandbox"
$python -m venv sandbox_venv3
else
pip="$python -m pip"
fi
echo "Updating Python3 packages"
$pip install --no-deps -r sandbox/requirements3.txt
if [[ ! -e sandbox_venv3 ]]; then
echo "Moving $python_dir to sandbox_venv3"
mv $python_dir sandbox_venv3
fi
echo "Python3 packages ready in sandbox_venv3"