From b57fbf4c6855175bb9896d44ef56531ffc87b53c Mon Sep 17 00:00:00 2001 From: Mihail Stoyanov Date: Mon, 16 May 2016 13:06:54 +0100 Subject: [PATCH] Exclude folders from build that contain .buildignore file (part of de-fork of mbed HAL+RTOS) --- tools/toolchains/__init__.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/tools/toolchains/__init__.py b/tools/toolchains/__init__.py index f550ad5a43..523935209a 100644 --- a/tools/toolchains/__init__.py +++ b/tools/toolchains/__init__.py @@ -363,26 +363,24 @@ class mbedToolchain: for d in copy(dirs): dir_path = join(root, d) - if d == '.hg': + if d == '.hg' or d == '.git': resources.repo_dirs.append(dir_path) resources.repo_files.extend(self.scan_repository(dir_path)) - - should_exclude_path = False + + if ((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.upper() == 'TESTS') or + exists(join(dir_path, '.buildignore'))): + dirs.remove(d) 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 + dirs.remove(d) break - 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')): - dirs.remove(d) - # Add root to include paths resources.inc_dirs.append(root)