151 lines
5.0 KiB
Batchfile
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 |