42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# TODO conv to py
|
|
|
|
set -o errexit -o nounset -o pipefail
|
|
eval "$@"
|
|
scriptDir="$(cd "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" && pwd)"
|
|
|
|
cd "$scriptDir"
|
|
cd "$(git -C . rev-parse --show-toplevel)"
|
|
|
|
name="$(basename "$PWD")"
|
|
|
|
# uv sync --all-extras
|
|
|
|
mkdir -p $HOME/.venv/
|
|
if [[ ! -d $HOME/.venv/$name ]]; then
|
|
uv --python-preference only-managed --no-python-downloads venv $HOME/.venv/$name
|
|
fi
|
|
|
|
. $HOME/.venv/$name/bin/activate
|
|
# uv --python-preference only-managed --no-python-downloads add --link-mode symlink $PWD
|
|
uv --python-preference only-managed pip install -e $PWD
|
|
uv --python-preference only-managed pip install -r $PWD/pyproject.toml --all-extras
|
|
# uv --python-preference only-managed pip sync pyproject.toml
|
|
# --quiet
|
|
uv --python-preference only-managed pip install -e .[all]
|
|
fd 'pyproject.toml$' $HOME --max-depth 2 -E defl -E deflDev | while read x; do
|
|
base="$(dirname "$x")"
|
|
if [[ ! -e "$base/.dontAutoInstall" ]]; then
|
|
uv --python-preference only-managed pip install -e "$base"
|
|
(set -x && uv --python-preference only-managed pip install -r "$base/pyproject.toml")
|
|
fi
|
|
done
|
|
uv pip freeze | grep '^-e'
|
|
|
|
compareDev() (
|
|
uv pip list --python ~/.venv/defl > /tmp/defl
|
|
uv pip list --python ~/.venv/deflDev > /tmp/deflDev
|
|
diff --ignore-case --report-identical-files --expand-tabs --ignore-space-change --side-by-side --suppress-blank-empty --minimal --color=always /tmp/{defl,deflDev}
|
|
)
|