mirror of
https://github.com/WSA-Installer/wsa-webdav.git
synced 2026-07-29 11:24:16 -07:00
175 lines
4.7 KiB
Batchfile
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
|