]> granicus.if.org Git - python/commitdiff
Better test for skipping project creation: the project file should also exist and...
authorJack Jansen <jack.jansen@cwi.nl>
Mon, 22 Jan 2001 15:38:40 +0000 (15:38 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Mon, 22 Jan 2001 15:38:40 +0000 (15:38 +0000)
Mac/Lib/mkcwproject/__init__.py

index 387108dec29ea5688fa7600d8dcb4003668793c6..c4064d77ced038227d768130408c2712c9cff979 100644 (file)
@@ -30,13 +30,20 @@ def mkproject(outputfile, modulename, settings, force=0):
        xmlbuilder = cwxmlgen.ProjectBuilder(dictcopy)
        xmlbuilder.generate()
        if not force:
-               # check whether it is the same as it was
+               # We do a number of checks and all must succeed before we decide to
+               # skip the build-project step:
+               # 1. the xml file must exist, and its content equal to what we've generated
+               # 2. the project file must exist and be newer than the xml file
+               # 3. the .exp file must exist
                if os.path.exists(dictcopy['mac_projectxmlname']):
                        fp = open(dictcopy['mac_projectxmlname'])
                        data = fp.read()
                        fp.close()
                        if data == dictcopy["tmp_projectxmldata"]:
-                               return
+                               if os.path.exists(outputfile) and \
+                                               os.stat(outputfile)[os.path.ST_MTIME] > os.stat(dictcopy['mac_projectxmlname'])[os.path.ST_MTIME]:
+                                       if os.path.exists(outputfile + '.exp'):
+                                               return
        fp = open(dictcopy['mac_projectxmlname'], "w")
        fp.write(dictcopy["tmp_projectxmldata"])
        fp.close()