Do not rewrite .inl files if existing content is identical
authorPyry Haulos <phaulos@google.com>
Wed, 10 Aug 2016 19:28:05 +0000 (12:28 -0700)
committerPyry Haulos <phaulos@google.com>
Wed, 10 Aug 2016 19:28:05 +0000 (12:28 -0700)
Change-Id: I4b0df9f5f363f91ba0748ee6f2ba5a680a182ab9

scripts/khr_util/format.py
scripts/opengl/src_util.py

index b929a74..15efdea 100644 (file)
@@ -70,12 +70,26 @@ def indentLines (lines):
                indented.append(line[-1])
                yield "".join(indented)
 
+def readFile (filename):
+       f = open(filename, 'rb')
+       data = f.read()
+       f.close()
+       return data
+
+def writeFileIfChanged (filename, data):
+       oldData = readFile(filename)
+       if data != oldData:
+               f = open(filename, 'wb')
+               f.write(data)
+               f.close()
+
 def writeLines (filename, lines):
-       with open(filename, 'wb') as f:
-               for line in lines:
-                       if line is not None:
-                               f.write(line)
-                               f.write('\n')
+       text = ""
+       for line in lines:
+               text += line
+               text += "\n"
+
+       writeFileIfChanged(filename, text)
        print filename
 
 def writeInlFile (filename, header, source):
index 6fe4c46..376553e 100644 (file)
@@ -120,6 +120,7 @@ def getVersionToken (api, version):
 
 def genCommandList(iface, renderCommand, directory, filename, align=False):
        lines = map(renderCommand, iface.commands)
+       lines = filter(lambda l: l != None, lines)
        if align:
                lines = indentLines(lines)
        writeInlFile(os.path.join(directory, filename), lines)