Skip to content

⚒️ [TASK] - Auto-download and select driver by environment #101

@marcosdanielr

Description

@marcosdanielr

⚒️ Task

🎯 Description

Implement in AnakiDriverManager (Dart) an automatic download feature for the driver library, based on the operating system, processor architecture, and the driver selected by the developer.

📌 Objective

Automate the process of fetching the correct library for the runtime environment in the Dart package, ensuring the appropriate driver is downloaded and configured automatically without manual intervention — so the package itself stays lightweight and free from bundling all drivers.

✅ Completion Criteria

  • Implement OS detection (Windows, Linux, macOS) and processor architecture detection (x86, x64, ARM, etc.) in Dart.
  • Map OS/architecture/driver combinations to URLs or repositories hosting the libraries.
  • Implement automatic download of the correct library for the local environment.
  • Create automated tests validating download behavior on different platforms.

🔄 Execution Steps

  1. Detect operating system and processor architecture in Dart.
  2. Automatically detect the preferred driver based on the database URL.
  3. Map OS, architecture, and driver combinations to corresponding download URLs.
  4. Implement the mechanism to automatically download the correct library.
  5. Validate the integrity of the downloaded file.
  6. Write tests to ensure functionality across different environments.

🔗 Dependencies

  • Internet access for downloading libraries.
  • Repository or server hosting the driver libraries.

📊 Impact

N/A

📝 Additional Notes

N/A

📷 Visual References (if applicable)

N/A

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions