Restructured linux to match Windows
This commit is contained in:
52
CHANGELOG.md
Normal file
52
CHANGELOG.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user