Why are methods in ProviderSet that provide interfaces defined in the dependence project being generated as ’invalid type’?
Author: NameOfGoyCreated Feb 6, 2025Updated Feb 6, 2025
Describe the bug
ProviderSet like :
import (
"dependence-project/s3"
"dependence-project/s3/minio"
"github.com/google/wire"
)
var ProviderSet = wire.NewSet(NewS3)
func NewS3(dataConf *conf.Data) (s3.S3, error) {
return minio.NewS3(dataConf.Minio.Endpoint, dataConf.Minio.AccessKeyId, dataConf.Minio.SecretAccessKey, false, "")
}the s3 definition in the dependence project like this :
wire.go:
func wireApp(*conf.Data) (*kratos.App, func(), error) {
panic(wire.Build(s3.ProviderSet, newApp))
}wire_gen.go:
invalid type, err := s3.NewS3(data)
if err != nil {
return nil, nil, err
}and the last generate err : wire: 40:10: expected ';', found 'type' (and 1 more errors)
Expected behavior
I hope that it can be able to correctly generate the interface types defined in the dependency project
Version
0.6.0
Additional context
Add any other context about the problem here.
Source: google/wire