Closed
Bug 734235
Opened 13 years ago
Closed 10 years ago
Track mozbase dependencies: Create dependency graph for mozbase-based projects
Categories
(Testing :: Mozbase, defect)
Testing
Mozbase
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: k0scist, Unassigned)
Details
Talos, Mozmill, and possibly other projects use MozBase packages for
dependencies. In addition, Mozbase packages depend on other mozbase
packages for dependencies. A graph should be made that details these
dependencies letting one know what versions are being used and aiding
in version bumping. This graph should be linked to from
https://wiki.mozilla.org/Auto-tools/Projects/MozBase
Reporter | ||
Comment 1•13 years ago
|
||
Comment 2•13 years ago
|
||
FWIW, Eideticker uses mozdevice, mozprofile, and mozhttpd
Reporter | ||
Comment 3•13 years ago
|
||
(In reply to William Lachance (:wlach) from comment #2)
> FWIW, Eideticker uses mozdevice, mozprofile, and mozhttpd
Thanks, updated
Comment 4•13 years ago
|
||
Also you missed from the email thread that mozmill-automation makes use of mozinfo and manifestdestiny.
Reporter | ||
Comment 5•13 years ago
|
||
(In reply to Henrik Skupin (:whimboo) from comment #4)
> Also you missed from the email thread that mozmill-automation makes use of
> mozinfo and manifestdestiny.
Thanks, updated. It might be a good idea to add a setup.py that lists these dependencies. If I ever make an automated system that updates this list and chart, it will require a setup.py to properly determine this information.
Reporter | ||
Comment 7•12 years ago
|
||
So I'm going to leave this bug open as this would be very nice to do dynamically. http://k0s.org/mozilla/mozbase/mozbase-usage.json is just a hand-written JSON file. Instead, we should gather the information from setup.py files. We can know with confidence mozbase's setup.pys due to its directory structure. What depends on mozbase will still be a matter of manual updating: in general, a software package has no real way of knowing what uses it. But in any case, given a list of consumer setup.pys we should be able to make a dynamic service.
I'm not sure the best way of gathering information from setup.py. Traditionally, I have run `python setup.py egg_info` (which only works with setuptools, but then again so does `install_requires`) and reading the generated information. However, this is (fairly) slow. So if we're doing this once day/hour this is fine, but if we're doing this as a webservice this is a bit slow. So I was thinking of monkey-patching setuptools.setup and loading the information directly. This isn't 100% reliable, but should work for our cases (I hope). Any thoughts?
This will also require that all things that we care about have setup.py files. Currently this is not the case. Maybe worth blocking on? Until then we have the manual JSON file...
Reporter | ||
Comment 8•12 years ago
|
||
If we're going to get serious about mozbase this quarter, we'll need to have something live. I'm not going to start on this straight away though the sooner its done, the sooner we can reap the benefits
Reporter | ||
Comment 9•12 years ago
|
||
Summary: Create dependency graph for mozbase-based projects → Track mozbase dependencies: Create dependency graph for mozbase-based projects
Reporter | ||
Comment 10•11 years ago
|
||
This is still outstanding; I would estimate maybe 16-24 manhours to get this done and stable. I am very willing to do this if this is desired; the solution should also be portable to other mozilla python library code (that is, code with setup.pys anyway).
Comment 11•10 years ago
|
||
Hi,
Mozregression uses currently:
mozcommitbuilder, mozfile, mozprofile, mozrunner, mozinstall, mozinfo, mozlog, mozversion and mozdevice.
Also, not sure this is interesting here but pip now have a "show" command to list installed packages:
For example, running this command in the _virtualenv dir of mozilla-central:
pip show mozrunner
---
Name: mozrunner
Version: 6.4
Location: /home/jp/dev/mozilla-central/testing/mozbase/mozrunner
Requires: mozcrash, mozdevice, mozfile, mozinfo, mozlog, mozprocess, mozprofile
Reporter | ||
Comment 12•10 years ago
|
||
I would doubt there is much need for this ticket. Feel free to close. I am unsubscribing.
Comment 13•10 years ago
|
||
Yeah, in-tree dependencies are easy enough to search for in dxr and there really isn't any way of knowing out of tree dependencies. I'm +1 for closing, though if anyone disagrees feel free to re-open.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•