<div dir="ltr">Hey everybody,<br><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 3:36 PM, Gregory Szorc <span dir="ltr"><<a href="mailto:gps@mozilla.com" target="_blank">gps@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>While preprocessed code could likely ultimately be tolerated, it is my preference to see it go away *unless* we adopt preprocessing conventions utilized by the larger JavaScript community and are well supported by 3rd party JavaScript tools. (Currently, the preprocessor is part of the build system and I'm pretty sure any overlap with existing JS preprocessors is coincidental.) Much like the larger Java world doesn't preprocess Java (like we do on Fennec, unfortunately), we shouldn't be doing it in Firefox JavaScript unless we have a very good reason. And if we must preprocess code, I think we should take steps to limit its impact (e.g. isolate all preprocessed code to standalone files so its effects don't creep into most code).<br></div></div></div></blockquote><div><br></div><div>I was going to support billm to push for less preprocessed JS and cite Fennec earlier, but let's clarify here: Fennec is a model preprocessing citizen!<br><br></div><div>Before elaborating on what we preprocess, I will state that reducing our preprocessed Java has made development simpler (much!) and IDE use possible.  (At one time we preprocessed all of our test files and a large chunk of our Java sources.  It was awful.)<br></div><div><br></div><div>We preprocess:<br><br>* the AndroidManifest.xml -- we pretty much have to;<br></div><div>* a few resources files, including strings.xml -- again, we're forced;<br></div><div>* a single .<a href="http://java.in">java.in</a> file -- AppConstants.java;<br></div><div>* a single .jsm file -- AppConstants.jsm;<br></div><div>* one or two .xhtml files that use the pre-processing * annotation during packaging and are hard to move away from preprocessing.<br><br></div><div>I have vague hopes that we can move the AndroidManifest and <a href="http://AppConstants.java.in">AppConstants.java.in</a> preprocessing into an alternate system, but I'm stumped as to what to do with AppConstants.jsm.<br></div><div><br></div><div>Yours,<br></div><div>Nick<br></div><br></div></div></div></div>