From e1a0cce82b0ea3a37b00b3d7e6ec02be42ce1891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Sat, 9 May 2020 19:33:47 +0200 Subject: [PATCH] Remove Clara from external folder As Clara is no longer maintained as a separate project, the implementation was moved to the internal subfolder of top-level folder. This removes one folder and avoids potential user confusion. Also simplified the convenience header checking script accordingly. --- src/catch2/catch_all.hpp | 2 +- src/catch2/internal/catch_clara.hpp | 2 +- .../catch_clara_upstream.hpp} | 0 tools/scripts/checkConvenienceHeaders.py | 15 ++++++--------- 4 files changed, 8 insertions(+), 11 deletions(-) rename src/catch2/{external/clara.hpp => internal/catch_clara_upstream.hpp} (100%) diff --git a/src/catch2/catch_all.hpp b/src/catch2/catch_all.hpp index 5c6b09d2..0cc9550d 100644 --- a/src/catch2/catch_all.hpp +++ b/src/catch2/catch_all.hpp @@ -36,11 +36,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include diff --git a/src/catch2/internal/catch_clara.hpp b/src/catch2/internal/catch_clara.hpp index 35494929..372daa2a 100644 --- a/src/catch2/internal/catch_clara.hpp +++ b/src/catch2/internal/catch_clara.hpp @@ -23,7 +23,7 @@ #pragma clang diagnostic ignored "-Wshadow" #endif -#include +#include #ifdef __clang__ #pragma clang diagnostic pop diff --git a/src/catch2/external/clara.hpp b/src/catch2/internal/catch_clara_upstream.hpp similarity index 100% rename from src/catch2/external/clara.hpp rename to src/catch2/internal/catch_clara_upstream.hpp diff --git a/tools/scripts/checkConvenienceHeaders.py b/tools/scripts/checkConvenienceHeaders.py index 7565c181..054d3bd9 100644 --- a/tools/scripts/checkConvenienceHeaders.py +++ b/tools/scripts/checkConvenienceHeaders.py @@ -13,7 +13,6 @@ The top level header is called `catch_all.hpp`. """ internal_dirs = ['detail', 'internal'] -excluded_dirs = ['external'] from scriptCommon import catchPath from glob import glob @@ -44,8 +43,6 @@ def folders_in_folder(folder): def collated_includes(folder): base = headers_in_folder(folder) for subfolder in folders_in_folder(folder): - if folder in excluded_dirs: - continue if subfolder.name in internal_dirs: base.extend(headers_in_folder(subfolder.path)) else: @@ -98,7 +95,7 @@ def verify_convenience_header(folder): header_name = 'catch_all.hpp' else: header_name = 'catch_{}_all.hpp'.format('_'.join(path_pieces)) - + # 1) Does it exist? full_path = path + '/' + header_name if not os.path.isfile(full_path): @@ -116,7 +113,7 @@ def verify_convenience_header(folder): for duplicate in duplicated: errors_found = True print("'{}': Duplicated include: '{}'".format(header_name, duplicate)) - + target_includes = normalize_includes(collated_includes(path)) # Avoid requiring the convenience header to include itself target_includes = [x for x in target_includes if header_name not in x] @@ -132,15 +129,15 @@ def verify_convenience_header(folder): for include in file_incs: if include not in desired_set: errors_found = True - print("'{}': superfluous include '{}'".format(header_name, include)) - - + print("'{}': superfluous include '{}'".format(header_name, include)) + + def walk_source_folders(current): verify_convenience_header(current) for folder in folders_in_folder(current.path): fname = folder.name - if fname not in internal_dirs and fname not in excluded_dirs: + if fname not in internal_dirs: walk_source_folders(folder) # This is an ugly hack because we cannot instantiate DirEntry manually