| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/bin/bash
- # Vendoring script for hermes-chatto-plugin
- # Downloads dependencies from pyproject.toml using uv and vendors them into chattolib_vendor/
- # Usage: ./vendor_chattolib.sh
- set -euo pipefail
- PLUGIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- VENDOR_DIR="$PLUGIN_DIR/vendor"
- echo "Vendoring dependencies from pyproject.toml using uv..."
- echo "🧹 Bereinige alten vendor-Ordner..."
- rm -rf "$VENDOR_DIR"
- mkdir -p "$VENDOR_DIR"
- # Create a temporary virtual environment
- uv venv .venv --clear
- # Set environment variables for the venv
- # shellcheck disable=SC1091
- source .venv/bin/activate
- cd "${PLUGIN_DIR}"
- uv pip install --target "$VENDOR_DIR" 'chattolib>=0.4.20'
- echo "📦 Installiere chattolib und alle Abhängigkeiten in den vendor-Ordner..."
- # pip install --target installiert das Paket und ALLE Abhängigkeiten (wie connectrpc)
- # direkt in den angegebenen Ordner, völlig isoliert vom restlichen System.
- # Create __init__.py to make it importable
- echo "📄 Erstelle __init__.py..."
- touch "$VENDOR_DIR/__init__.py"
- touch "$VENDOR_DIR/chattolib/__init__.py"
- echo "Lösche unnötige Meta-Ordner, um Platz zu sparen"
- find "$VENDOR_DIR" -type d -name "__pycache__" -exec rm -rf {} +
- echo "✓ Dependencies vendored successfully to ${PLUGIN_DIR}/vendor/chattolib/"
- echo "do 'git add vendor/' now or later"
|