tools/manifestfile.py: Allow include of directory path.
If an include path is a directory, then it implicitly grabs the manifest.py file inside that directory. This simplifies most manifest.py files. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
parent
6bd0ec7a70
commit
e9a28ce312
|
@ -198,13 +198,6 @@ class ManifestFile:
|
||||||
# TODO
|
# TODO
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def include_maybe(self, manifest_path, **kwargs):
|
|
||||||
"""
|
|
||||||
Include the manifest file if it exists. See docs for include().
|
|
||||||
"""
|
|
||||||
if os.path.exists(manifest_path):
|
|
||||||
self.include(manifest_path, **kwargs)
|
|
||||||
|
|
||||||
def include(self, manifest_path, **kwargs):
|
def include(self, manifest_path, **kwargs):
|
||||||
"""
|
"""
|
||||||
Include another manifest.
|
Include another manifest.
|
||||||
|
@ -214,6 +207,9 @@ class ManifestFile:
|
||||||
|
|
||||||
Relative paths are resolved with respect to the current manifest file.
|
Relative paths are resolved with respect to the current manifest file.
|
||||||
|
|
||||||
|
If the path is to a directory, then it implicitly includes the
|
||||||
|
manifest.py file inside that directory.
|
||||||
|
|
||||||
Optional kwargs can be provided which will be available to the
|
Optional kwargs can be provided which will be available to the
|
||||||
included script via the `options` variable.
|
included script via the `options` variable.
|
||||||
|
|
||||||
|
@ -233,6 +229,9 @@ class ManifestFile:
|
||||||
self.include(m)
|
self.include(m)
|
||||||
else:
|
else:
|
||||||
manifest_path = self._resolve_path(manifest_path)
|
manifest_path = self._resolve_path(manifest_path)
|
||||||
|
# Including a directory grabs the manifest.py inside it.
|
||||||
|
if os.path.isdir(manifest_path):
|
||||||
|
manifest_path = os.path.join(manifest_path, "manifest.py")
|
||||||
if manifest_path in self._visited:
|
if manifest_path in self._visited:
|
||||||
return
|
return
|
||||||
self._visited.add(manifest_path)
|
self._visited.add(manifest_path)
|
||||||
|
|
Loading…
Reference in New Issue