Dealing with circular dependencies
Hi,
I'm trying to see if I can package two packages that depend on each other.
1. github.com/dsoprea/go-utility - This one declares #2 in go.mod
https://github.com/dsoprea/go-utility/blob/master/go.mod
github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4
2. github.com/dsoprea/go-exif - This one doesn't declare #1 in go.mod,
but its v3 package imports it
https://github.com/dsoprea/go-exif/blob/master/v3/data_layer.go
"github.com/dsoprea/go-utility/v2/filesystem"
They're from the same author, and locally it seems they use a local
version of #1 in #2.
// replace github.com/dsoprea/go-utility/v2 => ../../go-utility/v2
I considered:
a. build tags to remove either affected go files, but they're not removable
b. MUT and put both in the same package? both have overlapping filenames
(go.mod, v2, etc..)
How can this be dealt with? Any ideas welcome?
--
Regards,
Ahmad
Reply to: