Windows support included
This commit is contained in:
132
windows/generate-readme.bat
Normal file
132
windows/generate-readme.bat
Normal file
@@ -0,0 +1,132 @@
|
||||
@echo off
|
||||
REM Generate project README.md
|
||||
setlocal
|
||||
|
||||
set "PROJECT_DIR=%~1"
|
||||
set "PROJECT_NAME=%~2"
|
||||
|
||||
(
|
||||
echo # %PROJECT_NAME%
|
||||
echo.
|
||||
echo FTC robot project generated by FTC Project Generator.
|
||||
echo.
|
||||
echo ## Quick Start
|
||||
echo.
|
||||
echo ```batch
|
||||
echo REM Run tests
|
||||
echo gradlew test
|
||||
echo.
|
||||
echo REM Watch tests ^(auto-rerun^)
|
||||
echo gradlew test --continuous
|
||||
echo.
|
||||
echo REM Build and check
|
||||
echo build.bat
|
||||
echo.
|
||||
echo REM Deploy to robot
|
||||
echo deploy-to-robot.bat
|
||||
echo ```
|
||||
echo.
|
||||
echo ## Project Structure
|
||||
echo.
|
||||
echo ```
|
||||
echo %PROJECT_NAME%\
|
||||
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.
|
||||
echo ## Development Workflow
|
||||
echo.
|
||||
echo 1. **Write code** in `src/main/java/robot/`
|
||||
echo 2. **Write tests** in `src/test/java/robot/`
|
||||
echo 3. **Run tests** with `gradlew test --continuous`
|
||||
echo 4. **Tests pass** → You're good!
|
||||
echo.
|
||||
echo ## Deployment to Robot
|
||||
echo.
|
||||
echo When ready to test on actual hardware:
|
||||
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 ```batch
|
||||
echo deploy-to-robot.bat
|
||||
echo ```
|
||||
echo.
|
||||
echo The script will:
|
||||
echo - Deploy your code to SDK TeamCode
|
||||
echo - Build APK
|
||||
echo - Install to Control Hub ^(via USB or WiFi^)
|
||||
echo.
|
||||
echo ### Connection Methods
|
||||
echo.
|
||||
echo - **USB**: Just plug in and run ^(recommended^)
|
||||
echo - **WiFi**: Connect to 'FIRST-xxxx-RC' network ^(IP: 192.168.43.1^)
|
||||
echo - **Custom**: `deploy-to-robot.bat -i 192.168.1.x`
|
||||
echo.
|
||||
echo ## Adding New Subsystems
|
||||
echo.
|
||||
echo Follow the pattern:
|
||||
echo.
|
||||
echo 1. **Create subsystem** with inner Hardware interface:
|
||||
echo ```java
|
||||
echo public class MySubsystem {
|
||||
echo public interface Hardware {
|
||||
echo void doThing^(^);
|
||||
echo }
|
||||
echo }
|
||||
echo ```
|
||||
echo.
|
||||
echo 2. **Create test** with inline mock:
|
||||
echo ```java
|
||||
echo class MySubsystemTest {
|
||||
echo static class MockHardware implements MySubsystem.Hardware {
|
||||
echo boolean didThing = false;
|
||||
echo public void doThing^(^) { didThing = true; }
|
||||
echo }
|
||||
echo }
|
||||
echo ```
|
||||
echo.
|
||||
echo 3. **Create hardware impl** for robot ^(keep FTC imports commented during dev^)
|
||||
echo.
|
||||
echo ## Tips
|
||||
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 - Multiple projects can share the same FTC SDK
|
||||
echo.
|
||||
echo ## Commands
|
||||
echo.
|
||||
echo ```batch
|
||||
echo REM Development ^(on PC^)
|
||||
echo gradlew test Run all tests
|
||||
echo gradlew test --continuous Watch mode
|
||||
echo.
|
||||
echo REM Before deployment
|
||||
echo build.bat Check for compile errors
|
||||
echo build.bat --clean Clean build
|
||||
echo.
|
||||
echo REM Deploy to robot
|
||||
echo deploy-to-robot.bat Full deployment
|
||||
echo deploy-to-robot.bat --help Show options
|
||||
echo.
|
||||
echo REM Other
|
||||
echo gradlew clean Clean build artifacts
|
||||
echo gradlew tasks List available tasks
|
||||
echo ```
|
||||
echo.
|
||||
echo ## Generated by FTC Project Generator
|
||||
echo.
|
||||
echo This project structure separates your robot code from the FTC SDK,
|
||||
echo making it easy to test on PC and deploy when ready.
|
||||
echo.
|
||||
echo For more information, see the FTC Project Generator documentation.
|
||||
) > "%PROJECT_DIR%\README.md"
|
||||
|
||||
endlocal
|
||||
exit /b 0
|
||||
Reference in New Issue
Block a user