yuchanns commented on issue #4848:
URL: https://github.com/apache/opendal/issues/4848#issuecomment-2205904241
> Adding some context:
Ok, I've checked the context. I cited some major blockers:
- Distributing binaries in the source is not permitted.
- Binary size All-in-one.
- `go-import` doesn't support subdirectory.
Well, these are truly obstacles. I've no idea how to resolve them.
TBH, I do think it is impossible to support subdirectories in the
foreseeable future as the Go team prioritizes things based on their needs. Even
if the problem has been resolved, we still have to challenge the binary
distribution as Go is not designed to be extended with other languages.
IMO, it is inevitable to have multiple root repos for go bindings of various
features. As long as these sources are distributed under
`opendal.apache.org/go`, users can trust them, and no need to care where are
they placed.
As for the `*.so` binaries, they can be loaded separately just like various
dialects in `gorm.io/driver/{sqlite,mysql,postgres}`.
That says:
```go
package main
import (
opendal "opendal.apache.org/go"
_ "opendal.apache.org/go/services/s3" // this dynamic inject *.so
)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]