diff options
Diffstat (limited to 'xnt/xenant.py')
-rw-r--r-- | xnt/xenant.py | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/xnt/xenant.py b/xnt/xenant.py index 73ccd63..2a0de1c 100644 --- a/xnt/xenant.py +++ b/xnt/xenant.py @@ -13,14 +13,17 @@ def main(): args = sys.argv[1:] for arg in args: if arg == "version": - import xnt - print(xnt.__version__) - sys.exit() + printVersion() + elif arg == "help": + printVersion() + print("\n\n") + printTargets() elif arg: target = arg + invokeBuild(target) elif not arg: target = "default" - invokeBuild(target) + invokeBuild(target) from xnt.tasks import rm rm("build.pyc") @@ -37,5 +40,27 @@ def invokeBuild(targetName): except: logger.error(sys.exc_info()[1].message) +def printVersion(): + import xnt + print(xnt.__version__) + +def printTargets(): + if not os.path.exists("build.py"): + logger.error("There was no build file") + sys.exit(1) + try: + build = __import__("build", fromlist=[]) + for f in dir(build): + try: + fa = getattr(build, f) + if fa.decorator == "target": + print(f + ":\n") + except AttributeError: + pass + except AttributeError: + pass + except: + logger.error(sys.exc_info()[1].message) + if __name__ == "__main__": main() |