80 lines
3.1 KiB
Batchfile
80 lines
3.1 KiB
Batchfile
@echo off
|
|
REM Display usage information for FTC Project Generator
|
|
|
|
echo ================================================================
|
|
echo FTC Project Generator - Clean Robot Projects
|
|
echo ================================================================
|
|
echo.
|
|
echo Creates clean, testable FTC robot projects with shared SDK.
|
|
echo Your code stays separate - SDK is just a build dependency.
|
|
echo.
|
|
echo USAGE:
|
|
echo ftc-new-project ^<project-name^> [options]
|
|
echo.
|
|
echo OPTIONS:
|
|
echo -v, --version ^<tag^> FTC SDK git tag (default: v10.1.1)
|
|
echo -d, --sdk-dir ^<path^> SDK location (default: %%USERPROFILE%%\ftc-sdk)
|
|
echo -h, --help Show this help
|
|
echo.
|
|
echo EXAMPLES:
|
|
echo REM Create new project with latest SDK
|
|
echo ftc-new-project my-robot
|
|
echo.
|
|
echo REM Create project with specific FTC version
|
|
echo ftc-new-project competition-bot -v v10.0.0
|
|
echo.
|
|
echo REM Use custom SDK location
|
|
echo ftc-new-project test-bot -d C:\my-ftc-sdk
|
|
echo.
|
|
echo REM Create second project (reuses existing SDK!)
|
|
echo ftc-new-project another-robot
|
|
echo.
|
|
echo WORKFLOW:
|
|
echo 1. Create project: ftc-new-project my-robot
|
|
echo 2. Develop ^& test: cd my-robot ^&^& gradlew test --continuous
|
|
echo 3. Deploy to SDK: gradlew deployToSDK
|
|
echo 4. Build APK: cd %%USERPROFILE%%\ftc-sdk ^&^& gradlew build
|
|
echo 5. Install to robot: Use Android Studio or adb
|
|
echo.
|
|
echo WHAT IT DOES:
|
|
echo + Checks/clones FTC SDK (shared across all projects)
|
|
echo + Creates YOUR clean project structure
|
|
echo + Generates test scaffolding with examples
|
|
echo + Sets up composite build to reference SDK
|
|
echo + Ready to code immediately
|
|
echo.
|
|
echo WHY THIS IS BETTER:
|
|
echo Traditional FTC: This Way:
|
|
echo - Clone 200MB repo - Your project: 50KB
|
|
echo - Your code mixed in - SDK separate, shared
|
|
echo - Hard to test - Tests run on PC instantly
|
|
echo - One repo per project - One SDK, many projects
|
|
echo - Forced BSD license - Your license, your code
|
|
echo.
|
|
echo ENVIRONMENT:
|
|
echo Set defaults to avoid typing them every time:
|
|
echo.
|
|
echo set FTC_SDK_DIR=%%USERPROFILE%%\ftc-sdk
|
|
echo set FTC_VERSION=v10.1.1
|
|
echo.
|
|
echo PROJECT STRUCTURE:
|
|
echo my-robot\
|
|
echo +-- src\main\java\robot\
|
|
echo ^| +-- subsystems\ -^> Your robot logic (tested on PC)
|
|
echo ^| +-- hardware\ -^> FTC hardware implementations
|
|
echo ^| +-- opmodes\ -^> FTC OpModes for Control Hub
|
|
echo +-- src\test\java\robot\ -^> Unit tests (run without robot)
|
|
echo.
|
|
echo MULTIPLE PROJECTS:
|
|
echo One SDK, unlimited projects:
|
|
echo.
|
|
echo ftc-new-project swerve-bot REM Creates project 1
|
|
echo ftc-new-project mecanum-bot REM Reuses SDK - just creates project 2
|
|
echo ftc-new-project test-chassis REM Reuses SDK - creates project 3
|
|
echo.
|
|
echo All projects share same SDK but are completely independent!
|
|
echo.
|
|
echo DOCUMENTATION:
|
|
echo See README.md for detailed information and examples.
|
|
echo.
|
|
exit /b 0 |