Implement skip for rbank process

This commit is contained in:
kaetemi 2014-02-08 23:43:42 +01:00
parent 3fadcb1f53
commit f97dfa1d09
2 changed files with 135 additions and 89 deletions

View file

@ -246,13 +246,16 @@ for igFile in igFilesAll:
# Write land IGs TXT # Write land IGs TXT
printLog(log, ">>> Write land IGs TXT <<<") printLog(log, ">>> Write land IGs TXT <<<")
igTxtFile = ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt" igTxtFile = ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt"
printLog(log, "WRITE " + ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt") if needUpdateDirNoSubdirFile(log, ExportBuildDirectory + "/" + IgLandBuildDirectory, igTxtFile):
if os.path.isfile(igTxtFile): printLog(log, "WRITE " + ExportBuildDirectory + "/" + IgLandBuildDirectory + "/" + LandscapeName + "_ig.txt")
if os.path.isfile(igTxtFile):
os.remove(igTxtFile) os.remove(igTxtFile)
igTxt = open(igTxtFile, "w") igTxt = open(igTxtFile, "w")
for igFile in igFilesAll: for igFile in igFilesAll:
igTxt.write(igFile + "\n") igTxt.write(igFile + "\n")
igTxt.close() igTxt.close()
else:
printLog(log, "SKIP *")
# Merge other IGs # Merge other IGs
printLog(log, ">>> Merge other IGs <<<") # (not true merge, since not necesserary) printLog(log, ">>> Merge other IGs <<<") # (not true merge, since not necesserary)

View file

@ -54,10 +54,23 @@ printLog(log, "")
# Build rbank bbox # Build rbank bbox
printLog(log, ">>> Build rbank bbox <<<") printLog(log, ">>> Build rbank bbox <<<")
tempBbox = ExportBuildDirectory + "/" + RbankBboxBuildDirectory + "/temp.bbox"
if BuildIgBoxes == "": if BuildIgBoxes == "":
toolLogFail(log, BuildIgBoxesTool, ToolSuffix) toolLogFail(log, BuildIgBoxesTool, ToolSuffix)
else: else:
mkPath(log, ExportBuildDirectory + "/" + RbankBboxBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + RbankBboxBuildDirectory)
needUpdateIg = needUpdateMultiDirNoSubdirFile(log, ExportBuildDirectory, IgLookupDirectories, tempBbox)
if needUpdateIg:
printLog(log, "DETECT UPDATE IG->Bbox")
else:
printLog(log, "DETECT SKIP IG->Bbox")
needUpdateShape = needUpdateMultiDirNoSubdirFile(log, ExportBuildDirectory, ShapeLookupDirectories, tempBbox)
if needUpdateShape:
printLog(log, "DETECT UPDATE Shape->Bbox")
else:
printLog(log, "DETECT SKIP Shape->Bbox")
if needUpdateIg or needUpdateShape:
printLog(log, "DETECT DECIDE UPDATE")
cf = open("build_ig_boxes.cfg", "w") cf = open("build_ig_boxes.cfg", "w")
cf.write("\n") cf.write("\n")
cf.write("Pathes = {\n") cf.write("Pathes = {\n")
@ -76,11 +89,14 @@ else:
cf.write("\t\"" + os.path.basename(file)[0:-len(".ig")] + "\", \n") cf.write("\t\"" + os.path.basename(file)[0:-len(".ig")] + "\", \n")
cf.write("};\n") cf.write("};\n")
cf.write("\n") cf.write("\n")
cf.write("Output = \"" + ExportBuildDirectory + "/" + RbankBboxBuildDirectory + "/temp.bbox\";\n") cf.write("Output = \"" + tempBbox + "\";\n")
cf.write("\n") cf.write("\n")
cf.close() cf.close()
subprocess.call([ BuildIgBoxes ]) subprocess.call([ BuildIgBoxes ])
os.remove("build_ig_boxes.cfg") os.remove("build_ig_boxes.cfg")
else:
printLog(log, "DETECT DECIDE SKIP")
printLog(log, "SKIP *")
printLog(log, "") printLog(log, "")
printLog(log, ">>> Build rbank build config <<<") printLog(log, ">>> Build rbank build config <<<")
@ -97,7 +113,7 @@ cf.write("BanksPath = \"" + ExportBuildDirectory + "/" + SmallbankExportDirector
cf.write("Bank = \"" + ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank\";\n") cf.write("Bank = \"" + ExportBuildDirectory + "/" + SmallbankExportDirectory + "/" + BankTileBankName + ".smallbank\";\n")
cf.write("ZoneExt = \".zonew\";\n") cf.write("ZoneExt = \".zonew\";\n")
cf.write("ZoneNHExt = \".zonenhw\";\n") cf.write("ZoneNHExt = \".zonenhw\";\n")
cf.write("IGBoxes = \"" + ExportBuildDirectory + "/" + RbankBboxBuildDirectory + "/temp.bbox\";\n") cf.write("IGBoxes = \"" + tempBbox + "\";\n")
mkPath(log, LeveldesignWorldDirectory) mkPath(log, LeveldesignWorldDirectory)
cf.write("LevelDesignWorldPath = \"" + LeveldesignWorldDirectory + "\";\n") cf.write("LevelDesignWorldPath = \"" + LeveldesignWorldDirectory + "\";\n")
mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory)
@ -207,22 +223,46 @@ else:
printLog(log, "SKIP " + lr1) printLog(log, "SKIP " + lr1)
printLog(log, "") printLog(log, "")
printLog(log, ">>> Build rbank process global <<<") # TODO: Check if the LR changed? printLog(log, ">>> Detect modifications to rebuild lr <<<")
if BuildRbank == "": needUpdateCmbLr = needUpdateDirByTagLog(log, ExportBuildDirectory + "/" + RBankCmbExportDirectory, ".cmb", ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory, ".lr")
toolLogFail(log, BuildRbankTool, ToolSuffix) if needUpdateCmbLr:
elif ExecTimeout == "": printLog(log, "DETECT UPDATE Cmb->Lr")
toolLogFail(log, ExecTimeoutTool, ToolSuffix)
else: else:
subprocess.call([ ExecTimeout, str(RbankBuildProcglobalTimeout), BuildRbank, "-c", "-P", "-G" ]) printLog(log, "DETECT SKIP Cmb->Lr")
printLog(log, "") needUpdateCmbRbank = needUpdateDirNoSubdirFile(log, ExportBuildDirectory + "/" + RBankCmbExportDirectory, ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "/" + RbankRbankName + ".rbank")
os.remove("build_rbank.cfg") if needUpdateCmbRbank:
printLog(log, "DETECT UPDATE Cmb->Rbank")
else:
printLog(log, "DETECT SKIP Cmb->Rbank")
needUpdateLrRbank = needUpdateDirNoSubdirFile(log, ExportBuildDirectory + "/" + RbankSmoothBuildDirectory, ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "/" + RbankRbankName + ".rbank")
if needUpdateLrRbank:
printLog(log, "DETECT UPDATE Lr->Rbank")
else:
printLog(log, "DETECT SKIP Lr->Rbank")
needUpdateBboxRbank = needUpdate(log, tempBbox, ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "/" + RbankRbankName + ".rbank")
if needUpdateBboxRbank:
printLog(log, "DETECT UPDATE Lr->Rbank")
else:
printLog(log, "DETECT SKIP Lr->Rbank")
printLog(log, ">>> Build rbank indoor <<<") if needUpdateCmbLr or needUpdateCmbRbank or needUpdateLrRbank or needUpdateBboxRbank:
if BuildIndoorRbank == "": printLog(log, "DETECT DECIDE UPDATE")
toolLogFail(log, BuildIndoorRbankTool, ToolSuffix) printLog(log, ">>> Build rbank process global <<<") # This generates temp lr files. TODO: Check if the LR changed?
elif ExecTimeout == "": if BuildRbank == "":
toolLogFail(log, BuildRbankTool, ToolSuffix)
elif ExecTimeout == "":
toolLogFail(log, ExecTimeoutTool, ToolSuffix) toolLogFail(log, ExecTimeoutTool, ToolSuffix)
else: else:
subprocess.call([ ExecTimeout, str(RbankBuildProcglobalTimeout), BuildRbank, "-c", "-P", "-G" ])
printLog(log, "")
os.remove("build_rbank.cfg")
printLog(log, ">>> Build rbank indoor <<<") # This generates the retrievers for the ig that have the cmb export
if BuildIndoorRbank == "":
toolLogFail(log, BuildIndoorRbankTool, ToolSuffix)
elif ExecTimeout == "":
toolLogFail(log, ExecTimeoutTool, ToolSuffix)
else:
retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory
mkPath(log, retrieversDir) mkPath(log, retrieversDir)
removeFilesRecursiveExt(log, retrieversDir, ".rbank") removeFilesRecursiveExt(log, retrieversDir, ".rbank")
@ -255,21 +295,24 @@ else:
cf.close() cf.close()
subprocess.call([ ExecTimeout, str(RbankBuildIndoorTimeout), BuildIndoorRbank ]) subprocess.call([ ExecTimeout, str(RbankBuildIndoorTimeout), BuildIndoorRbank ])
os.remove("build_indoor_rbank.cfg") os.remove("build_indoor_rbank.cfg")
printLog(log, "") printLog(log, "")
retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory retrieversDir = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory
mkPath(log, retrieversDir) mkPath(log, retrieversDir)
outputDir = ExportBuildDirectory + "/" + RbankOutputBuildDirectory outputDir = ExportBuildDirectory + "/" + RbankOutputBuildDirectory
mkPath(log, outputDir) mkPath(log, outputDir)
printLog(log, ">>> Move gr, rbank and lr <<<") printLog(log, ">>> Move gr, rbank and lr <<<") # This simply renames everything
if needUpdateDirNoSubdir(log, retrieversDir, outputDir): if needUpdateDirNoSubdir(log, retrieversDir, outputDir):
removeFilesRecursiveExt(log, outputDir, ".rbank") removeFilesRecursiveExt(log, outputDir, ".rbank")
removeFilesRecursiveExt(log, outputDir, ".gr") removeFilesRecursiveExt(log, outputDir, ".gr")
removeFilesRecursiveExt(log, outputDir, ".lr") removeFilesRecursiveExt(log, outputDir, ".lr")
copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".rbank") copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".rbank")
copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".gr") copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged", RbankRbankName, ".gr")
copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged_", RbankRbankName + "_", ".lr") copyFilesRenamePrefixExt(log, retrieversDir, outputDir, "tempMerged_", RbankRbankName + "_", ".lr")
else:
printLog(log, "SKIP *")
else: else:
printLog(log, "DETECT DECIDE SKIP")
printLog(log, "SKIP *") printLog(log, "SKIP *")
log.close() log.close()