Windows support included

This commit is contained in:
Eric Ratliff
2026-01-21 08:00:25 -06:00
parent 81452a8670
commit 63827dba58
15 changed files with 1342 additions and 0 deletions

80
windows/show-usage.bat Normal file
View File

@@ -0,0 +1,80 @@
@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