How x1a0he/adobe-downloader works
Adobe Downloader is a macOS app for finding official Adobe products, downloading their packages, installing or uninstalling them, and cleaning Adobe-related files and settings. The principal workflow runs from the app UI through catalog and download-task handling to package transfer, validation, and installation. Separate subsystems cover persistent task and preference state, cleanup, and the privileged helper used for elevated operations. Several domain links are documented by the README; unsampled implementation details are not inferred.
Main entry points: MainContentView.swift Main UI · NetworkManager.swift Task Orchestration · DownloadManagerView.swift Download Manager UI · TaskCard.swift Task Card
Components 21
App and UI
- App Entry
Adobe Downloader/Adobe DownloaderApp.swift - Main UI
Adobe Downloader/Views/MainContentView.swift - Download Manager UI
Adobe Downloader/Views/DownloadManagerView.swift - Task Card
Adobe Downloader/Views/Download/TaskCard.swift
Catalog and Tasks
- Catalog Pipeline
Adobe Downloader/Services/CatalogPipeline.swift - Catalog Network
Adobe Downloader/Services/NewNetworkService.swift - Product and Dependency Selection
Adobe Downloader/Utils/HDPIM/HDPIMParityDecisionEngine.swift - Download Task
Adobe Downloader/Models/NewDownloadTask.swift - Task Orchestration
Adobe Downloader/Utils/NetworkManager.swift
Download and Storage
- Download Workflow
Adobe Downloader/Utils/PDMWorkflowManager.swift - Transfer Engine
Adobe Downloader/Utils/PDM/PDMDownloadEngine.swift - HTTP Transport
Adobe Downloader/Utils/PDM/PDMHttpCommunicator.swift - Artifact Verification
Adobe Downloader/Utils/DownloadArtifactStore.swift - Preferences and Task State
Adobe Downloader/Storages/StorageData.swift
Install and Cleanup
- Install Manager
Adobe Downloader/Utils/InstallManager.swift - HDPIM Install Pipeline
Adobe Downloader/Utils/HDPIM/HDPIMInstallPipeline.swift - Installer State
Adobe Downloader/Utils/HDPIM/HDPIMDatabase.swift - Adobe Cleanup
Adobe Downloader/Views/CleanupView.swift
Privileged Helper
- Helper Manager
Adobe Downloader/HelperManager/HelperManager.swift - Helper Service
AdobeDownloaderHelperTool/HelperService.swift
Other components
- User
Connections 21
- User → Main UI: uses
- App Entry → Main UI: launches
Adobe Downloader/Adobe DownloaderApp.swift - Main UI → Catalog Pipeline: requests catalog
- Catalog Pipeline → Catalog Network: fetches catalog
- Product and Dependency Selection → Catalog Network: requests product info
Adobe Downloader/Utils/HDPIM/HDPIMParityDecisionEngine.swift - Main UI → Download Manager UI: opens downloads
- Download Manager UI → Task Card: renders tasks
Adobe Downloader/Views/DownloadManagerView.swift - Task Card → Download Task: displays status
Adobe Downloader/Views/Download/TaskCard.swift - Download Task → Task Orchestration: delegates execution
Adobe Downloader/Models/NewDownloadTask.swift - Task Orchestration → Download Workflow: orchestrates transfers
Adobe Downloader/Utils/NetworkManager.swift - Download Workflow → Transfer Engine: starts downloads
Adobe Downloader/Utils/PDMWorkflowManager.swift - Transfer Engine → HTTP Transport: transfers data
Adobe Downloader/Utils/PDM/PDMDownloadEngine.swift - Download Workflow → Artifact Verification: verifies artifacts
Adobe Downloader/Utils/PDMWorkflowManager.swift - Download Manager UI → Preferences and Task State: reads task state
Adobe Downloader/Views/DownloadManagerView.swift - Task Orchestration → Preferences and Task State: reads configuration
Adobe Downloader/Utils/NetworkManager.swift - Task Orchestration → Install Manager: starts installation
Adobe Downloader/Utils/NetworkManager.swift - Install Manager → HDPIM Install Pipeline: delegates HDPIM install
- HDPIM Install Pipeline → Installer State: updates installer state
Adobe Downloader/Utils/HDPIM/HDPIMInstallPipeline.swift - Main UI → Adobe Cleanup: opens cleanup
- Task Card → Helper Manager: requests privileged work
Adobe Downloader/Views/Download/TaskCard.swift - Helper Manager → Helper Service: connects to service