From 06e539ad121946312a651b77e51234322292638a Mon Sep 17 00:00:00 2001 From: Brian Osman Date: Fri, 18 Nov 2016 13:38:13 -0500 Subject: [PATCH] VS SLN script: Automatically determine which folder to use/copy BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5009 Change-Id: Ic7765cf23191af840935f7181579e04d62de23af Reviewed-on: https://skia-review.googlesource.com/5009 Reviewed-by: Greg Daniel Commit-Queue: Brian Osman --- fix-gn-sln.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/fix-gn-sln.py b/fix-gn-sln.py index ced4718216..2c814f8ae7 100644 --- a/fix-gn-sln.py +++ b/fix-gn-sln.py @@ -7,16 +7,30 @@ import glob import sys from shutil import copyfile -srcDir = sys.argv[1] - # Get list of existing directories to use as configs configs = [] +configsWithSln = [] +srcDir = "" +newestSlnTimestamp = 0 for root, dirs, files in os.walk("out"): for outDir in dirs: - if os.path.exists("out/" + outDir + "/build.ninja.d"): + gnFile = os.path.join("out", outDir, "build.ninja.d") + slnFile = os.path.join("out", outDir, "all.sln") + if os.path.exists(gnFile): configs.append(outDir) + if os.path.exists(slnFile): + configsWithSln.append(outDir) + slnTimestamp = os.path.getmtime(slnFile) + if slnTimestamp > newestSlnTimestamp: + newestSlnTimestamp = slnTimestamp + srcDir = outDir break +# We need at least one config with a solution +if len(configsWithSln) == 0: + print "ERROR: At least one GN directory must have been built with --ide=vs" + sys.exit() + # Ensure directories exist try: os.makedirs("out/sln/obj")