def CheckOrphanHeaders(input_api, output_api, source_file_filter): # We need to wait until we have an input_api object and use this # roundabout construct to import prebubmit_checks_lib because this file is # eval-ed and thus doesn't have __file__. error_msg = """{} should be listed in {}.""" results = [] orphan_blacklist = [ os.path.join('tools_webrtc', 'ios', 'SDK'), ] with _AddToPath(input_api.os_path.join( input_api.PresubmitLocalPath(), 'tools_webrtc', 'presubmit_checks_lib')): from check_orphan_headers import GetBuildGnPathFromFilePath from check_orphan_headers import IsHeaderInBuildGn file_filter = lambda x: input_api.FilterSourceFile( x, black_list=orphan_blacklist) and source_file_filter(x) for f in input_api.AffectedSourceFiles(file_filter): if f.LocalPath().endswith('.h'): file_path = os.path.abspath(f.LocalPath()) root_dir = os.getcwd() gn_file_path = GetBuildGnPathFromFilePath(file_path, os.path.exists, root_dir) in_build_gn = IsHeaderInBuildGn(file_path, gn_file_path) if not in_build_gn: results.append(output_api.PresubmitError(error_msg.format( f.LocalPath(), os.path.relpath(gn_file_path)))) return results
def CheckOrphanHeaders(input_api, output_api): # We need to wait until we have an input_api object and use this # roundabout construct to import prebubmit_checks_lib because this file is # eval-ed and thus doesn't have __file__. error_msg = """Header file {} is not listed in any GN target. Please create a target or add it to an existing one in {}""" results = [] with _AddToPath( input_api.os_path.join(input_api.PresubmitLocalPath(), 'tools_webrtc', 'presubmit_checks_lib')): from check_orphan_headers import GetBuildGnPathFromFilePath from check_orphan_headers import IsHeaderInBuildGn for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile): if f.LocalPath().endswith('.h') and f.Action() == 'A': file_path = os.path.abspath(f.LocalPath()) root_dir = os.getcwd() gn_file_path = GetBuildGnPathFromFilePath(file_path, os.path.exists, root_dir) in_build_gn = IsHeaderInBuildGn(file_path, gn_file_path) if not in_build_gn: results.append( output_api.PresubmitError( error_msg.format(file_path, gn_file_path))) return results