Files
FTC-Project-Gen/windows/show-success.bat
2026-01-21 08:00:25 -06:00

151 lines
5.0 KiB
Batchfile

@echo off
REM Display success message after project creation
setlocal
set "PROJECT_NAME=%~1"
set "PROJECT_DIR=%~2"
set "FTC_SDK_DIR=%~3"
set "FTC_VERSION=%~4"
echo.
echo ================================================================
echo + Project Created!
echo ================================================================
echo.
echo Project: %PROJECT_NAME%
echo Location: %PROJECT_DIR%
echo SDK: %FTC_SDK_DIR% ^(%FTC_VERSION%^)
echo Git: Initialized with initial commit
echo.
echo ================================================================
echo QUICK START
echo ================================================================
echo.
echo 1. Enter project and run tests:
echo cd %PROJECT_NAME%
echo gradlew test
echo.
echo 2. Watch tests ^(auto-rerun on save^):
echo gradlew test --continuous
echo.
echo ================================================================
echo PROJECT STRUCTURE
echo ================================================================
echo.
echo %PROJECT_NAME%\
echo +-- src\main\java\robot\
echo ^| +-- subsystems\
echo ^| ^| +-- Drive.java ^<-- Your robot logic ^(EDIT THIS^)
echo ^| +-- hardware\
echo ^| ^| +-- MecanumDrive.java ^<-- Hardware impl ^(EDIT THIS^)
echo ^| +-- opmodes\
echo ^| +-- TeleOp.java ^<-- FTC OpMode ^(EDIT THIS^)
echo ^|
echo +-- src\test\java\robot\
echo +-- subsystems\
echo +-- DriveTest.java ^<-- Unit tests ^(ADD MORE^)
echo.
echo ================================================================
echo DEVELOPMENT WORKFLOW
echo ================================================================
echo.
echo Day-to-day development ^(on your PC^):
echo.
echo 1. Edit code in src\main\java\robot\
echo 2. Edit tests in src\test\java\robot\
echo 3. Run: gradlew test --continuous
echo 4. Tests pass -^> you're good!
echo.
echo Example: Add a new subsystem:
echo.
echo REM Create subsystem with inner Hardware interface
echo src\main\java\robot\subsystems\Intake.java
echo.
echo REM Create test with inline mock
echo src\test\java\robot\subsystems\IntakeTest.java
echo.
echo REM Run tests
echo gradlew test
echo.
echo ================================================================
echo DEPLOYMENT TO ROBOT
echo ================================================================
echo.
echo When ready to test on actual robot:
echo.
echo 1. Uncomment FTC imports in:
echo - src\main\java\robot\hardware\MecanumDrive.java
echo - src\main\java\robot\opmodes\TeleOp.java
echo.
echo 2. Run deployment script:
echo deploy-to-robot.bat
echo.
echo The script will:
echo + Deploy your code to SDK
echo + Build APK
echo + Install to Control Hub ^(via USB or WiFi^)
echo.
echo Connection methods:
echo - USB: Just plug in and run
echo - WiFi: Connect to 'FIRST-xxxx-RC' network ^(IP: 192.168.43.1^)
echo - Custom: set CONTROL_HUB_IP=192.168.1.x ^&^& deploy-to-robot.bat
echo.
echo ================================================================
echo KEY FILES TO EDIT
echo ================================================================
echo.
echo Start here:
echo.
echo src\main\java\robot\subsystems\Drive.java
echo -^> Your drive logic, tested on PC
echo.
echo src\main\java\robot\hardware\MecanumDrive.java
echo -^> Real motor control ^(uncomment FTC code when deploying^)
echo.
echo src\main\java\robot\opmodes\TeleOp.java
echo -^> Your main OpMode ^(uncomment FTC code when deploying^)
echo.
echo src\test\java\robot\subsystems\DriveTest.java
echo -^> Unit tests - add more as you build!
echo.
echo ================================================================
echo USEFUL COMMANDS
echo ================================================================
echo.
echo Development ^(on PC^):
echo gradlew test Run all tests
echo gradlew test --continuous Watch mode ^(auto-rerun^)
echo.
echo Before deployment:
echo build.bat Check for compile errors
echo build.bat --clean Clean build
echo.
echo Deploy to robot:
echo deploy-to-robot.bat Full deployment ^(build + install^)
echo deploy-to-robot.bat --help Show all deployment options
echo.
echo Other:
echo gradlew clean Clean build artifacts
echo gradlew tasks List all available tasks
echo.
echo ================================================================
echo TIPS
echo ================================================================
echo.
echo - Keep FTC imports commented during development
echo - Write tests for everything - they run instantly on PC
echo - Use 'gradlew test --continuous' for fast iteration
echo - See README.md for detailed documentation
echo - Multiple projects can share the same FTC SDK!
echo.
echo ================================================================
echo.
echo Ready to start coding? Run:
echo.
echo cd %PROJECT_NAME% ^&^& gradlew test --continuous
echo.
echo Happy coding! 🤖
echo.
endlocal
exit /b 0