2.3 KiB
2.3 KiB
Changelog
All notable changes to FTC Project Generator will be documented in this file.
[1.0.0-beta] - 2026-01-24
Added
- Template-based file generation: Files stored as templates in
linux/templates/andwindows/templates/directories - Project upgrade capability:
--upgradeflag to update existing projects while preserving user code - Version tracking: Projects track generator version in
.ftc-generator-versionfile - Comprehensive test suite:
- Unit tests for template processing and library functions
- System tests for end-to-end project creation and building
- Regression tests to ensure generated projects build and pass tests
- Improved project structure: Cleaner organization with shared library functions
- Cross-platform support: Separate but parallel Linux and Windows implementations
- Better error handling: Improved validation and error messages
- Duplicate detection: Warns when project exists and suggests upgrade option
Changed
- Reorganized file structure: Templates separated from generation logic
- Simplified deployment script: More concise and maintainable
- Better documentation: Enhanced README with upgrade instructions
- Version management: Centralized version in VERSION file
Technical Details
- Templates support placeholders:
{{PROJECT_NAME}},{{SDK_DIR}},{{FTC_VERSION}},{{GENERATOR_VERSION}} - Upgrade only touches infrastructure files (build.gradle.kts, settings.gradle.kts, .gitignore, helper scripts)
- User code (src/main/java/robot/, src/test/java/robot/) never modified during upgrade
- Test suite validates:
- Template processing correctness
- All required files/directories created
- Generated projects build successfully
- Generated project tests pass
- Upgrade functionality works correctly
- Duplicate project detection
Migration from Earlier Versions
If you have projects created with pre-1.0.0 versions:
- Add
.ftc-generator-versionfile with content0.9.0(or appropriate version) - Run
ftc-new-project your-project --upgrade - Review changes with
git diff - Test with
./gradlew test
[Pre-1.0.0] - Historical
Features
- Basic project generation
- Separate project structure from FTC SDK
- PC-based testing capability
- Deploy scripts for robot deployment
- Example subsystems and tests