MCPcopy Create free account
hub / github.com/engarde-dev/engarde / get_root

Function get_root

versioneer.py:359–390  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

357
358
359def get_root():
360 # we require that all commands are run from the project root, i.e. the
361 # directory that contains setup.py, setup.cfg, and versioneer.py .
362 root = os.path.realpath(os.path.abspath(os.getcwd()))
363 setup_py = os.path.join(root, "setup.py")
364 versioneer_py = os.path.join(root, "versioneer.py")
365 if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)):
366 # allow 'python path/to/setup.py COMMAND'
367 root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
368 setup_py = os.path.join(root, "setup.py")
369 versioneer_py = os.path.join(root, "versioneer.py")
370 if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)):
371 err = ("Versioneer was unable to run the project root directory. "
372 "Versioneer requires setup.py to be executed from "
373 "its immediate directory (like 'python setup.py COMMAND'), "
374 "or in a way that lets it use sys.argv[0] to find the root "
375 "(like 'python path/to/setup.py COMMAND').")
376 raise VersioneerBadRootError(err)
377 try:
378 # Certain runtime workflows (setup.py install/develop in a setuptools
379 # tree) execute all dependencies in a single python process, so
380 # "versioneer" may be imported multiple times, and python's shared
381 # module-import table will cache the first one. So we can't use
382 # os.path.dirname(__file__), as that will find whichever
383 # versioneer.py was first imported, even in later projects.
384 me = os.path.realpath(os.path.abspath(__file__))
385 if os.path.splitext(me)[0] != os.path.splitext(versioneer_py)[0]:
386 print("Warning: build in %s is using versioneer.py from %s"
387 % (os.path.dirname(me), versioneer_py))
388 except NameError:
389 pass
390 return root
391
392
393def get_config_from_root(root):

Callers 5

get_versionsFunction · 0.85
runMethod · 0.85
runMethod · 0.85
make_release_treeMethod · 0.85
do_setupFunction · 0.85

Calls 1

Tested by

no test coverage detected