#!/usr/bin/env python # Copyright (c) 2010 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import sys import time output = sys.argv[1] persistoutput = "%s.persist" % sys.argv[1] count = 0 try: count = open(persistoutput, 'r').read() except: pass count = int(count) + 1 if len(sys.argv) > 2: max_count = int(sys.argv[2]) if count > max_count: count = max_count oldcount = 0 try: oldcount = open(output, 'r').read() except: pass # Save the count in a file that is undeclared, and thus hidden, to gyp. We need # to do this because, prior to running commands, some build systems deletes # any declared outputs, so we would lose our count if we just wrote to the # given output file. open(persistoutput, 'w').write('%d' % (count)) # Only write the given output file if the count has changed. if int(oldcount) != count: open(output, 'w').write('%d' % (count)) # Sleep so the next run changes the file time sufficiently to make the build # detect the file as changed. time.sleep(1) sys.exit(0)