Closed
Bug 1176620
Opened 10 years ago
Closed 10 years ago
mach decorator and dispatching cleanup
Categories
(Firefox Build System :: Mach Core, enhancement)
Firefox Build System
Mach Core
Tracking
(firefox41 fixed)
RESOLVED
FIXED
mozilla41
Tracking | Status | |
---|---|---|
firefox41 | --- | fixed |
People
(Reporter: gps, Assigned: gps)
References
Details
Attachments
(4 files)
As part of implementing a new mach feature, I made some cleanup in the decorator and dispatch code. Patches to come shortly...
Assignee | ||
Comment 1•10 years ago
|
||
Bug 1176620 - Use absolute_import in mach; r?ahal
To help ensure Python 3 compatibility.
Attachment #8625178 -
Flags: review?(ahalberstadt)
Assignee | ||
Comment 2•10 years ago
|
||
Bug 1176620 - Refactor how mach command metadata is stored; r?ahal
Up to this point, mach command metadata has been stored in tuples.
Initially, things weren't so bad. But they have evolved into tuples with
many elements. Adding new attributes is cumbersome. Let's restructure
the code to capture metadata in a dedicated class.
Before, there existed a separate attribute on the @Command or
@SubCommand decorated method for each mach decorator: @Command,
@CommandArgument, @CommandArgumentGroup. With the magic of __ior__,
we can now capture all metadata on a single type. This simplies
processing, as we now only look at a single attribute on methods:
_mach_command.
Before, we used separate attributes to distinguish between mach commands
and mach sub-commands. Now that we have a type that can hold all data,
we combine things into the _mach_command attribute and look for the
presence of the "subcommand" attribute on this type to identify
sub-commands.
Attachment #8625179 -
Flags: review?(ahalberstadt)
Assignee | ||
Comment 3•10 years ago
|
||
Bug 1176620 - Pass fewer arguments into MethodHandler; r?ahal
Simplify construction of mach's MethodHandler instances by by passing in
our new rich type that holds all command metadata.
While we are here, kill the docstring argument, as it can be computed
easily inside MethodHandler.__init__.
Attachment #8625180 -
Flags: review?(ahalberstadt)
Assignee | ||
Comment 4•10 years ago
|
||
Bug 1176620 - Eliminate MethodHandler; r?ahal
This type is now redundant with our new rich type for capturing all mach
command metadata. Eliminate it and using _MachCommand instead.
Attachment #8625181 -
Flags: review?(ahalberstadt)
Updated•10 years ago
|
Attachment #8625178 -
Flags: review?(ahalberstadt) → review+
Comment 5•10 years ago
|
||
Comment on attachment 8625178 [details]
MozReview Request: Bug 1176620 - Use absolute_import in mach; r?ahal
https://reviewboard.mozilla.org/r/11799/#review10317
I read somewhere that cwd is on sys.path by default, so "." would still be used as a root for searching absolute paths. Not sure if this is still the case, but just fyi. r+ either way.
Comment 6•10 years ago
|
||
Comment on attachment 8625179 [details]
MozReview Request: Bug 1176620 - Refactor how mach command metadata is stored; r?ahal
https://reviewboard.mozilla.org/r/11801/#review10347
Ship It!
Attachment #8625179 -
Flags: review?(ahalberstadt) → review+
Comment 7•10 years ago
|
||
Comment on attachment 8625180 [details]
MozReview Request: Bug 1176620 - Pass fewer arguments into MethodHandler; r?ahal
https://reviewboard.mozilla.org/r/11803/#review10349
Ship It!
Attachment #8625180 -
Flags: review?(ahalberstadt) → review+
Comment 8•10 years ago
|
||
Comment on attachment 8625181 [details]
MozReview Request: Bug 1176620 - Eliminate MethodHandler; r?ahal
https://reviewboard.mozilla.org/r/11805/#review10351
Ship It!
Attachment #8625181 -
Flags: review?(ahalberstadt) → review+
Assignee | ||
Comment 9•10 years ago
|
||
https://reviewboard.mozilla.org/r/11799/#review10353
Yeah, that's probably correct. I don't think it's important though. I'm adding absolute_import to everything as a matter of principle: not trying to incur more technical debt for Python 3.
Assignee | ||
Comment 10•10 years ago
|
||
Comment 11•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c0ecb2f5c0b1
https://hg.mozilla.org/mozilla-central/rev/210526b4016b
https://hg.mozilla.org/mozilla-central/rev/968a784a76da
https://hg.mozilla.org/mozilla-central/rev/526bc2c2f2a7
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•