Fixed more bugs

This commit is contained in:
Eric Ratliff
2026-01-21 08:58:23 -06:00
parent e0c5884fff
commit b1593a4f87
2 changed files with 182 additions and 102 deletions

View File

@@ -47,10 +47,120 @@ if "%PROJECT_NAME%"=="" (
exit /b 1
)
echo ============================================
echo FTC Project Generator
echo ============================================
echo.
echo Checking prerequisites...
echo.
REM Check for git
where git >nul 2>&1
if errorlevel 1 (
echo ================================================================
echo ERROR: Git not found
echo ================================================================
echo.
echo Git is required to clone the FTC SDK and manage your project.
echo.
echo TO INSTALL:
echo Download: https://git-scm.com/download/win
echo Run installer with default options
echo Restart command prompt after installation
echo.
echo ================================================================
exit /b 1
)
echo + Git found
REM Check for Java
where java >nul 2>&1
if errorlevel 1 (
echo ================================================================
echo ERROR: Java not found
echo ================================================================
echo.
echo Java 11+ is required to build FTC projects.
echo.
echo TO INSTALL:
echo Download: https://adoptium.net/temurin/releases/
echo Choose: Java 17 LTS ^(recommended^) or Java 11 LTS
echo Run installer with default options
echo Restart command prompt after installation
echo.
echo ================================================================
exit /b 1
)
REM Check Java version
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do set JAVA_VERSION=%%g
set JAVA_VERSION=%JAVA_VERSION:"=%
for /f "tokens=1,2 delims=." %%a in ("%JAVA_VERSION%") do (
set JAVA_MAJOR=%%a
if "%%a"=="1" set JAVA_MAJOR=%%b
)
if %JAVA_MAJOR% LSS 11 (
echo ================================================================
echo ERROR: Java version too old
echo ================================================================
echo.
echo Current: Java %JAVA_VERSION%
echo Required: Java 11 or later
echo.
echo TO UPGRADE:
echo Download: https://adoptium.net/temurin/releases/
echo Choose: Java 17 LTS ^(recommended^)
echo.
echo ================================================================
exit /b 1
)
echo + Java %JAVA_VERSION% found
REM Check for Gradle
where gradle >nul 2>&1
if errorlevel 1 (
echo ================================================================
echo ERROR: Gradle not found
echo ================================================================
echo.
echo Gradle is required to generate the wrapper for your project.
echo.
echo TO INSTALL ^(choose one method^):
echo.
echo Option 1 - Chocolatey ^(recommended^):
echo choco install gradle
echo.
echo Option 2 - Scoop:
echo scoop install gradle
echo.
echo Option 3 - Manual install:
echo 1. Download: https://gradle.org/releases/
echo 2. Extract to C:\Gradle
echo 3. Add C:\Gradle\bin to PATH
echo.
echo Option 4 - SDKMAN ^(if you use it^):
echo sdk install gradle
echo.
echo After installation:
echo 1. Restart command prompt
echo 2. Run: gradle --version
echo 3. Re-run this script
echo.
echo ================================================================
exit /b 1
)
for /f "tokens=3" %%v in ('gradle --version 2^>^&1 ^| findstr /C:"Gradle"') do set GRADLE_VERSION=%%v
echo + Gradle %GRADLE_VERSION% found
echo.
echo All prerequisites satisfied!
echo.
set "PROJECT_DIR=%CD%\%PROJECT_NAME%"
echo ============================================
echo FTC Project Generator
echo Project Configuration
echo ============================================
echo Project: %PROJECT_NAME%
echo SDK Dir: %FTC_SDK_DIR%
@@ -79,7 +189,7 @@ if exist "%FTC_SDK_DIR%" (
git fetch --tags
git checkout "%FTC_VERSION%"
if errorlevel 1 (
echo Error: Failed to checkout version %FTC_VERSION%
echo ERROR: Failed to checkout version %FTC_VERSION%
exit /b 1
)
echo + Updated to %FTC_VERSION%
@@ -93,19 +203,23 @@ if exist "%FTC_SDK_DIR%" (
echo This will take a minute ^(SDK is about 200MB^)...
git clone --depth 1 --branch "%FTC_VERSION%" https://github.com/FIRST-Tech-Challenge/FtcRobotController.git "%FTC_SDK_DIR%"
if errorlevel 1 (
echo Error: Failed to clone FTC SDK
echo Check your internet connection or try a different version tag
echo ERROR: Failed to clone FTC SDK
echo Check your internet connection
exit /b 1
)
echo + Cloned FTC SDK %FTC_VERSION% to %FTC_SDK_DIR%
)
REM Return to starting directory
cd /d "%~dp0"
REM Step 2: Create project structure
echo.
echo ^>^>^> Creating project: %PROJECT_NAME%
if exist "%PROJECT_DIR%" (
echo Error: Project directory already exists: %PROJECT_DIR%
echo ERROR: Project directory already exists: %PROJECT_DIR%
echo Choose a different name or remove the existing directory
exit /b 1
)
@@ -124,9 +238,17 @@ echo Generating build configuration...
call "%WINDOWS_DIR%\generate-build-gradle.bat" "%PROJECT_DIR%"
call "%WINDOWS_DIR%\generate-settings-gradle.bat" "%PROJECT_DIR%" "%FTC_SDK_DIR%"
REM Step 4: Create Gradle wrapper files
REM Step 4: Create Gradle wrapper using installed Gradle
echo Setting up Gradle wrapper...
call "%WINDOWS_DIR%\create-gradle-wrapper.bat" "%PROJECT_DIR%"
if errorlevel 1 (
echo.
echo ERROR: Failed to setup Gradle wrapper
echo Cleaning up partial project...
cd ..
rmdir /s /q "%PROJECT_DIR%" 2>nul
exit /b 1
)
REM Step 5: Generate source files
echo Generating example source files...