Chromium Code Reviews| Index: platform_tools/android/gyp_gen/gen_public_headers.py |
| diff --git a/platform_tools/android/gyp_gen/gen_public_headers.py b/platform_tools/android/gyp_gen/gen_public_headers.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..182f7fe9f4d617bfc65659237ef42b2429ef31e8 |
| --- /dev/null |
| +++ b/platform_tools/android/gyp_gen/gen_public_headers.py |
| @@ -0,0 +1,70 @@ |
| +#!/usr/bin/python |
| + |
| +# Copyright 2014 Google Inc. |
| +# |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +"""Function for generating public_headers.gypi.""" |
| + |
| +import os |
| + |
| + |
| +AUTOGEN_WARNING = ( |
| +""" |
| +############################################################################### |
| +# |
| +# THIS FILE IS AUTOGENERATED BY GYP_TO_ANDROID.PY. DO NOT EDIT. |
| +# |
| +# Include this gypi to include all public header files that exist in the |
| +# include directory. |
| + |
| +############################################################################### |
| + |
| +""" |
| +) |
| + |
| + |
| +def find_header_files(top_dir): |
| + """Return a list of all '.h' files in top_dir. |
| + |
| + Args: |
| + top_dir: Path to a directory within which to recursively search for |
| + files ending in '.h' |
| + |
| + Returns: |
| + A list of all the files inside top_dir that end in '.h', relative to |
| + top_dir. |
| + """ |
| + headers = [] |
|
hal.canary
2014/03/27 12:30:15
More Pythonic:
return sorted(
os.path.join(
scroggo
2014/03/27 19:33:00
Thanks for the feedback! I'm actually removing thi
|
| + for filename in os.listdir(top_dir): |
| + full_path = os.path.join(top_dir, filename) |
| + if os.path.isdir(full_path): |
| + nested_headers = find_header_files(full_path) |
| + for nested_header in nested_headers: |
| + headers.append(os.path.join(filename, nested_header)) |
| + else: |
| + if filename.endswith('.h'): |
| + headers.append(filename) |
| + return headers |
| + |
| + |
| +def generate_public_headers(dst, top_dir): |
| + """Create a file listing all the header files in top_dir. |
| + |
| + Args: |
| + dst: Path to new file to be written. |
| + top_dir: Path to a directory within which to recursively search for |
| + files ending in '.h' |
| + """ |
| + with open(dst, 'w') as f: |
| + f.write(AUTOGEN_WARNING) |
| + |
| + f.write('{\n') |
| + f.write(' \'variables\': {\n') |
| + f.write(' \'header_filenames\': [\n') |
| + for header in sorted(find_header_files(top_dir)): |
| + f.write(' \'%s\',\n' % header) |
| + f.write(' ],\n') |
| + f.write(' },\n') |
| + f.write('}\n') |