Files
wsa-webdav/build.bat
T

175 lines
4.7 KiB
Batchfile

@echo off
title WSA WebDAV APK Builder
setlocal enabledelayedexpansion
echo.
echo ================================================================
echo WSA Embedded CPython WebDAV Server - APK Builder
echo ================================================================
echo.
echo [%time%] Starting build process...
echo.
REM ============================================
REM STEP 1: Check Python
REM ============================================
echo ================================================================
echo STEP 1/6: PYTHON SETUP
echo ================================================================
echo.
echo [%time%] Checking Python...
python --version >nul 2>&1
if errorlevel 1 (
echo [%time%] [!] Python NOT FOUND
echo [%time%] Installing Python via winget...
winget install Python.Python.3.11 --accept-package-agreements --accept-source-agreements
set "PATH=C:\Python311;C:\Python311\Scripts;%LOCALAPPDATA%\Programs\Python\Python311;%LOCALAPPDATA%\Programs\Python\Python311\Scripts;%PATH%"
)
python --version >nul 2>&1
if errorlevel 1 (
echo [%time%] [x] Python install failed
pause
exit /b 1
)
echo [%time%] [+] Python OK
python --version
echo.
REM ============================================
REM STEP 2: Check Java
REM ============================================
echo ================================================================
echo STEP 2/6: JAVA SETUP
echo ================================================================
echo.
echo [%time%] Checking Java...
REM First check if java is in PATH
java -version >nul 2>&1
if not errorlevel 1 (
echo [%time%] [+] Java found in PATH
java -version 2>&1
goto :java_done
)
REM Search common installation paths
echo [%time%] Java not in PATH, searching common locations...
set "JAVA_FOUND=0"
REM Check Microsoft JDK
for /d %%i in ("C:\Program Files\Microsoft\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
set "JAVA_FOUND=1"
echo [%time%] [+] Found: %%i
goto :java_found
)
)
REM Check Eclipse Adoptium
for /d %%i in ("C:\Program Files\Eclipse Adoptium\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
set "JAVA_FOUND=1"
echo [%time%] [+] Found: %%i
goto :java_found
)
)
REM Check Oracle Java
for /d %%i in ("C:\Program Files\Java\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
set "JAVA_FOUND=1"
echo [%time%] [+] Found: %%i
goto :java_found
)
)
REM Check Amazon Corretto
for /d %%i in ("C:\Program Files\Amazon Corretto\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
set "JAVA_FOUND=1"
echo [%time%] [+] Found: %%i
goto :java_found
)
)
REM Check local user installations
for /d %%i in ("%LOCALAPPDATA%\Programs\Microsoft\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
set "JAVA_FOUND=1"
echo [%time%] [+] Found: %%i
goto :java_found
)
)
:java_found
if "%JAVA_FOUND%"=="0" (
echo [%time%] [!] Java NOT FOUND anywhere
echo [%time%] Installing JDK 17 via winget...
winget install Microsoft.OpenJDK.17 --accept-package-agreements --accept-source-agreements
REM Try to find again after install
for /d %%i in ("C:\Program Files\Microsoft\jdk-*") do (
if exist "%%i\bin\java.exe" (
set "JAVA_HOME=%%i"
set "PATH=%%i\bin;!PATH!"
echo [%time%] [+] Installed: %%i
goto :java_final_check
)
)
)
:java_final_check
java -version >nul 2>&1
if errorlevel 1 (
echo [%time%] [x] Java not working
pause
exit /b 1
)
:java_done
echo [%time%] [+] Java OK
echo.
REM ============================================
REM STEP 3-6: Run Python Build Script
REM ============================================
echo ================================================================
echo STEP 3-6/6: RUNNING BUILD SCRIPT
echo ================================================================
echo.
echo [%time%] Starting build...
echo.
python "%~dp0builder\build.py" --verbose
if errorlevel 1 (
echo.
echo ================================================================
echo BUILD FAILED
echo ================================================================
pause
exit /b 1
)
echo.
echo ================================================================
echo BUILD COMPLETE!
echo ================================================================
echo.
echo APK: output\app-release.apk
echo.
pause