mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #58 from bridadan/allow-toolchain-exclude-path
Allow toolchains to exclude a path when scan for resources
commit
22e1e9837c
|
@ -341,7 +341,7 @@ class mbedToolchain:
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def scan_resources(self, path):
|
def scan_resources(self, path, exclude_paths=None):
|
||||||
labels = self.get_labels()
|
labels = self.get_labels()
|
||||||
resources = Resources(path)
|
resources = Resources(path)
|
||||||
self.has_config = False
|
self.has_config = False
|
||||||
|
@ -359,12 +359,23 @@ class mbedToolchain:
|
||||||
for root, dirs, files in walk(path):
|
for root, dirs, files in walk(path):
|
||||||
# Remove ignored directories
|
# Remove ignored directories
|
||||||
for d in copy(dirs):
|
for d in copy(dirs):
|
||||||
|
dir_path = join(root, d)
|
||||||
|
|
||||||
if d == '.hg':
|
if d == '.hg':
|
||||||
dir_path = join(root, d)
|
|
||||||
resources.repo_dirs.append(dir_path)
|
resources.repo_dirs.append(dir_path)
|
||||||
resources.repo_files.extend(self.scan_repository(dir_path))
|
resources.repo_files.extend(self.scan_repository(dir_path))
|
||||||
|
|
||||||
|
should_exclude_path = False
|
||||||
|
|
||||||
|
if exclude_paths:
|
||||||
|
for exclude_path in exclude_paths:
|
||||||
|
rel_path = relpath(dir_path, exclude_path)
|
||||||
|
if not (rel_path.startswith('..')):
|
||||||
|
should_exclude_path = True
|
||||||
|
break
|
||||||
|
|
||||||
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('TARGET_') and d[7:] not in labels['TARGET']) or
|
||||||
(d.startswith('TOOLCHAIN_') and d[10:] not in labels['TOOLCHAIN']) or
|
(d.startswith('TOOLCHAIN_') and d[10:] not in labels['TOOLCHAIN']) or
|
||||||
(d == 'TESTS')):
|
(d == 'TESTS')):
|
||||||
|
|
Loading…
Reference in New Issue