webrtc/tools_webrtc/apple/copy_framework_header.py
Daniel.L (Byoungchan Lee) 37d41eea04 Reland "Remove placeholder Obj-C headers and use angle-bracketed headers."
This is a reland of 6bfad33fd8

Original change's description:
> Remove placeholder Obj-C headers and use angle-bracketed headers.
>
> sdk/objc/Framework/Headers are just a placeholder headers
> for backward compatibility and I don't think it is really need this for now.
> Instead, we can generate the framework header in
> ios/mac_framework_bundle_with_umbrella_header.
> Also clang supports the -Wquoted-include-in-framework-header warning,
> and in Xcode 12, it's in Xcode's recommended settings. This warnings
> can be avoided by replacing double-quoted includes with angle-bracketed
> includes when generate framework headers.
>
> No-Presubmit: True
> Bug: webrtc:9627, webrtc:11984
> Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32343}

TBR=tommi@webrtc.org, andersc@webrtc.org

No-Presubmit: True
Bug: webrtc:9627
Bug: webrtc:11984
Change-Id: I8f44232f1a70b8ff2ce6a4b4792f0a18472fcec3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187280
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32429}
2020-10-17 18:05:28 +00:00

47 lines
1.6 KiB
Python
Executable file

#!/usr/bin/env python
# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import argparse
import re
import sys
def replace_double_quote(line):
re_rtc_import = re.compile(
r'(\s*)#import\s+"(\S+/|)(\w+\+|)RTC(\w+)\.h"(.*)', re.DOTALL)
match = re_rtc_import.match(line)
if not match:
return line
return '%s#import <WebRTC/%sRTC%s.h>%s' % (match.group(1), match.group(3),
match.group(4), match.group(5))
def process(input_file, output_file):
with open(input_file, 'rb') as fb, open(output_file, 'wb') as fw:
for line in fb.read().decode('UTF-8').splitlines():
fw.write(replace_double_quote(line).encode('UTF-8'))
fw.write(b"\n")
def main():
parser = argparse.ArgumentParser(
description=
"Copy headers of framework and replace double-quoted includes to" +
" angle-bracketed respectively.")
parser.add_argument('--input',
help='Input header files to copy.',
type=str)
parser.add_argument('--output', help='Output file.', type=str)
parsed_args = parser.parse_args()
return process(parsed_args.input, parsed_args.output)
if __name__ == '__main__':
sys.exit(main())