opendal
opendal copied to clipboard
refactor: split gridfs service out as new crate
Which issue does this PR close?
Closes #6898.
Rationale for this change
This PR extracts the gridfs service from opendal-core into its own crate opendal-service-gridfs as part of the core-split effort (RFC-6828). This helps separate service-specific dependencies (like mongodb which is heavy) from the core logic, improving maintainability and compilation speed for users who don't need this service.
What changes are included in this PR?
- Created a new crate
core/services/gridfs. - Moved implementation files (backend.rs, core.rs, writer.rs, etc.) from
core/core/src/services/gridfsto the new crate. - Removed
gridfslogic and dependencies fromopendal-core. - Updated feature flags:
services-gridfsinopendalnow points toopendal-service-gridfs. - Updated
lib.rsin the facade to re-exportGridFs.
Are there any user-facing changes?
No. The public API opendal::services::GridFs remains unchanged. Users can continue to use the service exactly as before, provided they have the services-gridfs feature enabled.
AI Usage Statement
AI tools were used only for understanding existing code and project documentation. All code changes were written and reviewed manually.