Closed Bug 493988 Opened 16 years ago Closed 15 years ago

Break factory.py into separate files based on class/function

Categories

(Release Engineering :: General, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: coop, Unassigned)

References

Details

Ben already started this by breaking out the tryserver-related steps into their own factory module, but we could improve the maintainability of the factories by separating them based on class. I have a preliminary split done locally, splitting factory.py (originally 132K) into: factory.py 36K l10nfactory.py 8.6K mobilefactory.py 18K releasefactory.py 44K unittestfactory.py 28K My updated staging config passes checkconfig, but I want to get this running in staging for a while because it's pretty invasive.
Priority: -- → P2
I'm running this now on staging-master2, but reconfigs are failing: Here's the tail of the output: File "/tools/buildbotcustom2/buildbotcustom/process/mobilefactory.py", line 461, in __init__ MobileNightlyRepackFactory.__init__(self, **kwargs) File "/tools/buildbotcustom2/buildbotcustom/process/mobilefactory.py", line 351, in __init__ **kwargs) File "/tools/buildbotcustom2/buildbotcustom/process/l10nfactory.py", line 49, in __init__ MozillaBuildFactory.__init__(self, **kwargs) exceptions.TypeError: unbound method __init__() must be called with MozillaBuildFactory instance as first argument (got MaemoNightlyRepackFactory instance instead) mobilefactory.py is importing l10nfactory.py, and both are importing the pared-down factory.py. I've tried re-ordering the imports and reloads a bit, but no joy yet.
I *want* each sub-factory to be useful independently, but releases and mobile rely on l10n repack factory as well as the base factory. Importing all these things from the master.cfg and reloading them is apparently rocket science. This would have been great if it had been simple, but the import/reload situation is going to take more time to resolve than I realistically have right now.
Assignee: ccooper → nobody
Status: ASSIGNED → NEW
Component: Release Engineering → Release Engineering: Future
Priority: P2 → P3
Mass move of bugs from Release Engineering:Future -> Release Engineering. See http://coop.deadsquid.com/2010/02/kiss-the-future-goodbye/ for more details.
Component: Release Engineering: Future → Release Engineering
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
Going with build scripts instead.
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.