From: Jack Jansen Date: Mon, 22 Jan 2001 15:38:40 +0000 (+0000) Subject: Better test for skipping project creation: the project file should also exist and... X-Git-Tag: v2.1a1~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=af4c942b8a96f9d4bc5ae90c24f66c491ba915f8;p=python Better test for skipping project creation: the project file should also exist and be newer than the xml file, and the .exp should exist. --- diff --git a/Mac/Lib/mkcwproject/__init__.py b/Mac/Lib/mkcwproject/__init__.py index 387108dec2..c4064d77ce 100644 --- a/Mac/Lib/mkcwproject/__init__.py +++ b/Mac/Lib/mkcwproject/__init__.py @@ -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()