Files
FTC-Project-Gen/CHANGELOG.md
2026-01-24 12:39:32 -06:00

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/ 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