summaryrefslogtreecommitdiff
path: root/xnt/xenant.py
diff options
context:
space:
mode:
authorkennyballou <kballou@onyx.boisestate.edu>2012-11-07 22:28:06 -0700
committerkballou <kballou@onyx.boisestate.edu>2012-11-07 22:28:06 -0700
commite07eaa57f01702315d66566b2f4c011461c666d1 (patch)
treee2dea401e31d6e6d78c412b8aac5f36715c7c0be /xnt/xenant.py
parent013e517a706344c93621f9d7bd065623d767a1b0 (diff)
downloadxnt-e07eaa57f01702315d66566b2f4c011461c666d1.tar.gz
xnt-e07eaa57f01702315d66566b2f4c011461c666d1.tar.xz
Add ``xnt`` task for calling sub-build files
Diffstat (limited to 'xnt/xenant.py')
-rw-r--r--xnt/xenant.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/xnt/xenant.py b/xnt/xenant.py
index 5e88c2f..7580c44 100644
--- a/xnt/xenant.py
+++ b/xnt/xenant.py
@@ -21,7 +21,6 @@ import sys
import time
import logging
-sys.path.append(os.getcwd())
logging.basicConfig(format="%(asctime)s:%(levelname)s:%(message)s")
logger = logging.Logger(name=__name__)
logger.addHandler(logging.StreamHandler())
@@ -86,7 +85,14 @@ def printTargets(build):
except:
logger.error(sys.exc_info()[1].message)
-def __loadBuild():
+def __loadBuild(path=""):
+ if not path:
+ path = os.getcwd()
+ else:
+ path = os.path.abspath(path)
+ sys.path.append(path)
+ cwd = os.getcwd()
+ os.chdir(path)
if not os.path.exists("build.py"):
logger.error("There was no build file")
sys.exit(1)
@@ -95,6 +101,10 @@ def __loadBuild():
except ImportError:
logger.error("HOW?!")
return None
+ finally:
+ sys.path.remove(path)
+ del sys.modules["build"]
+ os.chdir(cwd)
if __name__ == "__main__":
main()