Allow 'script' component to enter a 'built' state

After this pull request merged:

https://github.com/servo/servo/pull/7209

the 'script' component would never enter a 'built' state. In other
words, if one calls `mach build`, lets it complete, then calls `mach
build` again, the 'script' component would rebuild even though we
supposedly just built it. This was due to the `ParserResults.pkl`
getting placed in the `components/script` directory instead of the
output directory, causing cargo to think that there were unbuilt files.
This commit is contained in:
Corey Farwell 2015-09-02 15:16:44 -04:00
parent b7c88dd547
commit 8792aa7fc0
3 changed files with 10 additions and 6 deletions

View file

@ -26,20 +26,22 @@ def generate_binding_rs(config, outputprefix, webidlfile):
def main():
# Parse arguments.
from optparse import OptionParser
usagestring = "usage: %prog configFile outputPrefix webIDLFile"
usagestring = "usage: %prog configFile outputdir outputPrefix webIDLFile"
o = OptionParser(usage=usagestring)
o.add_option("--verbose-errors", action='store_true', default=False,
help="When an error happens, display the Python traceback.")
(options, args) = o.parse_args()
if len(args) != 3:
if len(args) != 4:
o.error(usagestring)
configFile = os.path.normpath(args[0])
outputPrefix = args[1]
webIDLFile = os.path.normpath(args[2])
outputdir = args[1]
outputPrefix = args[2]
webIDLFile = os.path.normpath(args[3])
# Load the parsing results
with open('ParserResults.pkl', 'rb') as f:
resultsPath = os.path.join(outputdir, 'ParserResults.pkl')
with open(resultsPath, 'rb') as f:
parserData = cPickle.load(f)
# Create the configuration data.