Providing mechainsm for toolchains to exclude a path when scanning for resources

Brian Daniels 2016-04-19 14:14:57 -05:00
parent 7f1306f2f0
commit 8cc6a58162
1 changed files with 11 additions and 3 deletions

View File

@ -341,7 +341,7 @@ class mbedToolchain:
return False
def scan_resources(self, path):
def scan_resources(self, path, exclude_path=None):
labels = self.get_labels()
resources = Resources(path)
self.has_config = False
@ -359,12 +359,20 @@ class mbedToolchain:
for root, dirs, files in walk(path):
# Remove ignored directories
for d in copy(dirs):
dir_path = join(root, d)
if d == '.hg':
dir_path = join(root, d)
resources.repo_dirs.append(dir_path)
resources.repo_files.extend(self.scan_repository(dir_path))
should_exclude_path = False
if exclude_path:
rel_path = relpath(dir_path, exclude_path)
should_exclude_path = not (rel_path.startswith('..'))
if ((d.startswith('.') or d in self.legacy_ignore_dirs) or
if ((should_exclude_path) or
(d.startswith('.') or d in self.legacy_ignore_dirs) or
(d.startswith('TARGET_') and d[7:] not in labels['TARGET']) or
(d.startswith('TOOLCHAIN_') and d[10:] not in labels['TOOLCHAIN']) or
(d == 'TESTS')):