Closed Bug 777231 Opened 9 years ago Closed 9 years ago

Skeleton for mozbuild package

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla17

People

(Reporter: gps, Assigned: gps)

References

Details

Attachments

(1 file)

I'm splitting up the alternative frontend code into smaller chunks to make the review more manageable.

This is the first part. It adds a skeleton for a new Python package, mozbuild. This package will contain code for dealing with the build system.

The only module so far is the structured logging code. Read the README for info on how it works.

I would like to write tests for this... eventually. I started writing some tests, but ran into hurdles with the logging API. Writing tests for logging code is... ugly.

I have a Try build at https://tbpl.mozilla.org/?tree=Try&rev=89a13caf6a8e to ensure this doesn't break virtualenv. If it does, I'm not waiting on Python 2.7 (or whatever) on all the build machines, so I'll just remove the virtualenv population for now.

I would be very tempted to check this in without review as NPOTB. However, I personally like reviews. If the build module peers grant NPOTB and punt on review, I'll check in after an f+.
Attachment #645645 - Flags: review?(mh+mozilla)
Attachment #645645 - Flags: feedback?(jhammel)
Comment on attachment 645645 [details] [diff] [review]
mozbuild skeleton, v1

Review of attachment 645645 [details] [diff] [review]:
-----------------------------------------------------------------

I'm not sure what to say about this, and I surely don't know where you're going with this. I understand the interest of json and text formatters, but you don't explain why you need structured logs.

::: build/virtualenv/packages.txt
@@ +6,5 @@
>  setup.py:testing/mozbase/mozprocess:develop
>  setup.py:testing/mozbase/mozprofile:develop
>  setup.py:testing/mozbase/mozrunner:develop
>  setup.py:build/pylib/blessings:develop
> +setup.py:python/mozbuild:develop

You'll have a conflict here with bug 776046 that I landed.
Attachment #645645 - Flags: review?(mh+mozilla) → review?(ted.mielczarek)
Comment on attachment 645645 [details] [diff] [review]
mozbuild skeleton, v1

+blessings = None
+
+try:
+    import blessings
+except:
+    pass

I cringe at bare excepts. How about:

try:
    import blessings:
except ImportError:
    blessings = None

Other than that, this looks good.  I would *love* to see this combined with mozlog: https://github.com/mozilla/mozbase/tree/master/mozlog
Attachment #645645 - Flags: feedback?(jhammel) → feedback+
Assignee: nobody → gps
Comment on attachment 645645 [details] [diff] [review]
mozbuild skeleton, v1

Looks fine; probably should've kept it together with the front-end bits, since landing this and the warnings parsing by itself is a little odd (doesn't really do much)
Attachment #645645 - Flags: review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/da67b46ba82c
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla17
Attachment #645645 - Flags: review?(ted.mielczarek)
https://hg.mozilla.org/mozilla-central/rev/da67b46ba82c
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.