Skip to content

Conversation

@mobileoverlord
Copy link
Contributor

No description provided.

This commit modernizes the Avocado configuration format with clearer,
more consistent key names and removes deprecated TOML support.

Config Key Changes:
- Rename top-level keys:
  * runtime → runtimes
  * ext → extensions
  * provision → provision_profiles
- Rename dependency keys throughout:
  * dependencies → packages (in all contexts)
- Rename extension source types:
  * ExtensionSource::Repo → ExtensionSource::Package
  * source.type: repo → source.type: package
- Update CLI flags:
  * --provision-profile → --profile

Runtime Extensions:
- Extensions now listed directly in runtimes.*.extensions as array
- Removed deprecated nested dependency syntax (vsn:, config:)
- Fixed find_required_extensions() to use new structure

TOML Support Removal:
- Remove toml crate dependency from Cargo.toml
- Remove deprecated parsing functions:
  * load_from_toml_str()
  * toml_to_yaml()
  * migrate_toml_to_yaml()
- Remove TOML fallback logic from parse_config_value()
- Simplify Config::load() to YAML-only
- Remove .toml file checks from is_extension_installed()

Code Cleanup:
- Remove unused find_nested_external_extensions() method
- Simplify RuntimeExtDep enum (keep only Local variant)
- Add #[allow(dead_code)] to ExtensionDependency deprecated variants
- Update all config templates (7 files) to use new keys
- Convert 60+ tests from TOML to YAML format
- Update 7 integration tests to use YAML syntax
@mobileoverlord mobileoverlord merged commit be0037a into main Jan 12, 2026
5 checks passed
@mobileoverlord mobileoverlord deleted the rel/0.23.0 branch January 12, 2026 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants