Created attachment 645645 [details] [diff] [review] mozbuild skeleton, v1 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+.
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.
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
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)