87 lines
2.6 KiB
Batchfile
87 lines
2.6 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo ===== Building TrulyMEM for Windows =====
|
|
|
|
set SCRIPT_DIR=%~dp0
|
|
set PROJECT_ROOT=%SCRIPT_DIR%..
|
|
cd /d "%PROJECT_ROOT%"
|
|
echo Project root: %CD%
|
|
|
|
where python >nul 2>nul
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo Error: python not found
|
|
exit /b 1
|
|
)
|
|
|
|
set VENV_DIR=%PROJECT_ROOT%\.venv_build
|
|
echo Creating virtual environment: %VENV_DIR%
|
|
python -m venv "%VENV_DIR%"
|
|
call "%VENV_DIR%\Scripts\activate.bat"
|
|
pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
|
|
echo Cleaning previous builds...
|
|
if exist build\dist rmdir /s /q build\dist
|
|
if exist build\__pycache__ rmdir /s /q build\__pycache__
|
|
|
|
echo ================================
|
|
echo Building TrulyMEM ^(TUI + Web embedded^)
|
|
echo ================================
|
|
python -m PyInstaller trulymem_entry.py ^
|
|
--clean --onefile --console --name TrulyMEM ^
|
|
--add-data "ui/styles;ui/styles" ^
|
|
--add-data "core/prompts/templates;core/prompts/templates" ^
|
|
--add-data "static;static" ^
|
|
--add-data "templates;templates" ^
|
|
--add-data "web_api.py;." ^
|
|
--hidden-import textual ^
|
|
--hidden-import textual.app ^
|
|
--hidden-import textual.widgets ^
|
|
--hidden-import textual.css ^
|
|
--hidden-import openai ^
|
|
--hidden-import openai._client ^
|
|
--hidden-import neo4j ^
|
|
--hidden-import sqlite3 ^
|
|
--hidden-import core ^
|
|
--hidden-import core.embedded_db ^
|
|
--hidden-import core.graph_client ^
|
|
--hidden-import core.tool_executor ^
|
|
--hidden-import core.tool_limiter ^
|
|
--hidden-import core.tools ^
|
|
--hidden-import core.tools.memory_tools ^
|
|
--hidden-import core.prompts ^
|
|
--hidden-import core.prompts.prompt_manager ^
|
|
--hidden-import core.server ^
|
|
--hidden-import core.client ^
|
|
--hidden-import core.migrate ^
|
|
--hidden-import core.activity_recorder ^
|
|
--hidden-import ui ^
|
|
--hidden-import ui.app ^
|
|
--hidden-import ui.login_screen ^
|
|
--hidden-import ui.models ^
|
|
--hidden-import ui.models.message ^
|
|
--hidden-import ui.models.config ^
|
|
--hidden-import ui.models.log_entry ^
|
|
--hidden-import ui.widgets ^
|
|
--hidden-import ui.handlers ^
|
|
--hidden-import ui.services ^
|
|
--hidden-import ui.services.config_manager ^
|
|
--hidden-import ui.services.config_service ^
|
|
--hidden-import web_api ^
|
|
--hidden-import flask ^
|
|
--hidden-import flask_cors ^
|
|
--hidden-import werkzeug ^
|
|
--collect-all textual ^
|
|
--noconfirm
|
|
|
|
echo ================================
|
|
echo ===== Build Complete =====
|
|
echo Binary: dist\TrulyMEM.exe
|
|
dir dist\
|
|
|
|
call deactivate
|
|
if exist "%VENV_DIR%" rmdir /s /q "%VENV_DIR%"
|
|
echo Build finished successfully!
|
|
endlocal
|