53 lines
2.3 KiB
Markdown
53 lines
2.3 KiB
Markdown
# 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/` and `windows/templates/` directories
|
|
- **Project upgrade capability**: `--upgrade` flag to update existing projects while preserving user code
|
|
- **Version tracking**: Projects track generator version in `.ftc-generator-version` file
|
|
- **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:
|
|
1. Add `.ftc-generator-version` file with content `0.9.0` (or appropriate version)
|
|
2. Run `ftc-new-project your-project --upgrade`
|
|
3. Review changes with `git diff`
|
|
4. 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
|