Fixed more bugs
This commit is contained in:
@@ -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...
|
||||
|
||||
Reference in New Issue
Block a user