-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dependency loop between juju/testing several other juju libraries #161
Comments
An even tighter dependency loop was found:
If there's any way to make that dependency graph a DAG, it would make life much easier when individual libraries need to be packaged. 😄 (Helps if I draw the arrows correctly....) |
A few observations from my work while packaging this library for Debian:
The good news is that, with the above changes, I've been able to successfully build the following juju libraries without any dependency loops: clock, cmd, collections, errors, mutex, and utils. |
A dependency loop exists between juju/testing and the two libraries juju/collections and juju/clock, each of which in turn depend on juju/testing.
Within juju/testing, the use of juju/collections and juju/clock seems to be limited to only the
mgo.go
file, which imports juju/collections/set and juju/clock.This was noticed while reviewing dependencies needed to cleanly package LXD for Debian, where each library that LXD depends on must be able to build on its own with a clean set of dependencies. A dependency loop makes this very difficult to accomplish. This may not be a blocking issue as we may have to drop mongodb-specific code because mongodb is no longer in the Debian package archive.
The text was updated successfully, but these errors were encountered: