Closed Bug 902619 Opened 6 years ago Closed 6 years ago

Write mozinfo.json as part of config.status

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla26

People

(Reporter: gps, Assigned: gps)

References

Details

Attachments

(1 file)

Currently mozinfo.json is written out after AC_OUTPUT/config.status. For bug 901990, we need to process test manifests during moz.build traversal. However, test manifests rely on data from mozinfo.json to perform filtering, etc. This means moz.build needs to load mozinfo.json. This means mozinfo.json needs to be created before config.status runs.

Unfortunately, writemozinfo.py currently relies on config.status (via importing buildconfig) to pull in build config data. The only solution I see to this is to write out mozinfo.json inside config.status. This will likely involve moving writemozinfo.py into the mozbuild package.
Do whatever you feel is necessary. writemozinfo is just a hack.
There are both mechanical and logical changes in this patch.

The mechanical changes involve moving some files into the mozbuild
package.

The logical changes include move writing of mozinfo.json into
config.status (from configure.in). There were some variable assignments
being performed in configure.in. These variables were read from
writemozinfo.py. However, these variables don't appear to be necessary!
Now that mozinfo has full access to the underlying config.status data
structure, it can now access these variables directly. I verified that
every variable being assigned in configure.in had a corresponding
AC_SUBST earlier in the file.

The only variable that's a bit weird is the TOPSRCDIR and MOZCONFIG
environment variables. mozinfo continues to look in the environment for
MOZCONFIG. However TOPSRCDIR is now coming from config.status.

As part of moving the code, I also modernized the test file, cleaned up
some style, and removed some unused imports.

https://tbpl.mozilla.org/?tree=Try&rev=593fc4b75cca
Attachment #787159 - Flags: review?(ted)
Assignee: nobody → gps
Comment on attachment 787159 [details] [diff] [review]
Write mozinfo.json as part of config.status

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

Looks nice! This started out as a huge hack, feels a lot nicer now.

::: python/mozbuild/mozbuild/mozinfo.py
@@ +5,1 @@
>  # The output file is intended to be used as input to the mozinfo package.

Can you restore a bit of the comment here (even if you have to rephrase it)? This line is lacking context.
Attachment #787159 - Flags: review?(ted) → review+
https://hg.mozilla.org/mozilla-central/rev/da018ddfa0c0
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.