On 8/21/2012 7:36 PM, Gregory Szorc wrote:



On the other end of the spectrum, we could have the build manifest files be Python "scripts." This solves a lot of problems around needing functionality in the manifest files. But, it would be a potential foot gun. See requirement #7.
I don't think this would be a big deal. We could just enforce no side effects at review, or with a small bit of python we could enforce some basic restraints in code:

* allow imports from only a small whitelist of known-safe modules: perhaps just 're', or disallow imports altogether (by modifying the globals in the execution environment) and pre-import the safe modules * "fix" output variables to ensure that they are the expected string/list-of-strings/whatever types

I really think that python manifests are the best choice here, since python is already optimized to parse them efficiently, the control structures are fairly straightforward, and most people (both regular engineers and build-sytem hackers) are going to know enough to get started without confusion.

One thing that wasn't clear to me from the original post is whether we are planning on automatically transforming some parts of the existing makefiles (e.g. DIRS, EXPORTS, preprocessor stuff) into the new manifest format, or whether the plan is to just migrate by hand. Or is that still TBD?

--BDS

_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to