Skip to content

Export installed HomeBrew software and import for installation on other mac#6

Merged
darthsharp merged 5 commits intomainfrom
feature/brewexportimport
Apr 24, 2026
Merged

Export installed HomeBrew software and import for installation on other mac#6
darthsharp merged 5 commits intomainfrom
feature/brewexportimport

Conversation

@darthsharp
Copy link
Copy Markdown
Contributor

No description provided.

- Implemented `BrewExportCommand` and `BrewImportCommand` for exporting and importing Homebrew data via CLI.
- Introduced `IBrewExporter` and `IBrewImporter` interfaces with corresponding implementations.
- Created models for managing Homebrew export data: `BrewExportModel`, `BrewExportCaskModel`, and `BrewExportFormulaModel`.
- Added exception handling: `BrewImportFailedException` and `BrewInstallFailedException`.
- Registered new services (`IBrewExporter`, `IBrewImporter`, `IBrewInstaller`) in DI container.
- Updated project organization to support enhanced Homebrew workflows.
- Introduced `BrewImportProgress` model for reporting import steps and states.
- Updated `IBrewImporter` interface and implementations to support progress callbacks.
- Enhanced `ImportAsync` and `ImportFromFileAsync` methods with detailed progress reporting.
- Integrated progress updates into `BrewImportCommand` console output.
…rew cask attributes

- Implemented `SingleOrArrayConverter` to handle deserialization and serialization of JSON values that can be either a single string or an array of strings.
- Updated `BrewZapModel` and `BrewUninstallModel` to use the new converter for `trash`, `rmdir`, `pkgutil`, `delete`, and `launchctl` attributes.
- Added comprehensive unit tests for `SingleOrArrayConverter` covering various scenarios.
- Updated `.gitignore` to include `.tokensave`.
- Updated `BrewExportOptions` with `IncludeDependencies` flag.
- Enhanced `IBrewExporter` and `BrewExporter` to filter formulae based on dependency state.
- Added `IsInstalledAsDependency` extension method for formulae.
- Extended unit tests to cover dependency filtering in export scenarios.
- Updated `BrewExportCommand` to pass dependency flag to `BrewExporter`.
@darthsharp darthsharp merged commit bd9c2f4 into main Apr 24, 2026
2 checks passed
@darthsharp darthsharp deleted the feature/brewexportimport branch April 24, 2026 09:34
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.

1 participant