From: Vitaly Buka Date: Thu, 27 Jun 2019 19:55:21 +0000 (+0000) Subject: [GN] Set exit code to 1 if changes are needed X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6dfbf1efb2a62b182382c99ecd3d96afa00eaf5a;p=llvm [GN] Set exit code to 1 if changes are needed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364582 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/gn/build/sync_source_lists_from_cmake.py b/utils/gn/build/sync_source_lists_from_cmake.py index 3fb155cb79d..76dc5ded3f6 100755 --- a/utils/gn/build/sync_source_lists_from_cmake.py +++ b/utils/gn/build/sync_source_lists_from_cmake.py @@ -15,6 +15,7 @@ from __future__ import print_function import os import re import subprocess +import sys def sync_source_lists(): @@ -28,6 +29,7 @@ def sync_source_lists(): cmake_cpp_re = re.compile(r'^\s*([A-Za-z_0-9./-]+\.(?:cpp|c|h|S))$', re.MULTILINE) + changed = False for gn_file in gn_files: # The CMakeLists.txt for llvm/utils/gn/secondary/foo/BUILD.gn is # directly at foo/CMakeLists.txt. @@ -47,6 +49,7 @@ def sync_source_lists(): if gn_cpp == cmake_cpp: continue + changed = True print(gn_file) add = cmake_cpp - gn_cpp if add: @@ -55,6 +58,7 @@ def sync_source_lists(): if remove: print('remove:\n' + '\n'.join(remove)) print() + return changed def sync_unittests(): @@ -62,6 +66,7 @@ def sync_unittests(): unittest_re = re.compile(r'^add_\S+_unittest', re.MULTILINE) checked = [ 'clang', 'clang-tools-extra', 'lld', 'llvm' ] + changed = False for c in checked: for root, _, _ in os.walk(os.path.join(c, 'unittests')): cmake_file = os.path.join(root, 'CMakeLists.txt') @@ -71,13 +76,18 @@ def sync_unittests(): continue # Skip CMake files that just add subdirectories. gn_file = os.path.join('llvm/utils/gn/secondary', root, 'BUILD.gn') if not os.path.exists(gn_file): + changed = True print('missing GN file %s for unittest CMake file %s' % (gn_file, cmake_file)) + return changed def main(): - sync_source_lists() - sync_unittests() + src = sync_source_lists() + tests = sync_unittests() + if src or tests: + sys.exit(1) + if __name__ == '__main__':