diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py index 163ef3f57e3b6..dd19e5a2bf808 100755 --- a/base/android/jni_generator/jni_generator.py +++ b/base/android/jni_generator/jni_generator.py @@ -28,6 +28,7 @@ sys.path.insert(1, _BUILD_ANDROID_GYP) from util import build_utils +import action_helpers # build_utils adds //build to sys.path. # Match single line comments, multiline comments, character literals, and # double-quoted strings. @@ -1543,7 +1544,7 @@ def GenerateJNIHeader(input_file, output_file, options): print(e) sys.exit(1) if output_file: - with build_utils.AtomicOutput(output_file, mode='w') as f: + with action_helpers.atomic_output(output_file, mode='w') as f: f.write(content) else: print(content) diff --git a/base/android/jni_generator/jni_generator.pydeps b/base/android/jni_generator/jni_generator.pydeps index ef374f225fde0..8cfd43f00e19e 100644 --- a/base/android/jni_generator/jni_generator.pydeps +++ b/base/android/jni_generator/jni_generator.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root base/android/jni_generator --output base/android/jni_generator/jni_generator.pydeps base/android/jni_generator/jni_generator.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py diff --git a/base/android/jni_generator/jni_registration_generator.py b/base/android/jni_generator/jni_registration_generator.py index 69a85f0abf8a9..100d6e0b22bc6 100755 --- a/base/android/jni_generator/jni_registration_generator.py +++ b/base/android/jni_generator/jni_registration_generator.py @@ -22,6 +22,7 @@ import jni_generator from util import build_utils +import action_helpers # build_utils adds //build to sys.path. # All but FULL_CLASS_NAME, which is used only for sorting. MERGEABLE_KEYS = [ @@ -103,10 +104,10 @@ def _Generate(options, java_file_paths): combined_dict['HEADER_GUARD'] = header_guard combined_dict['NAMESPACE'] = options.namespace header_content = CreateFromDict(options, module_name, combined_dict) - with build_utils.AtomicOutput(options.header_path, mode='w') as f: + with action_helpers.atomic_output(options.header_path, mode='w') as f: f.write(header_content) - with build_utils.AtomicOutput(options.srcjar_path) as f: + with action_helpers.atomic_output(options.srcjar_path) as f: with zipfile.ZipFile(f, 'w') as srcjar: for module_name, combined_dict in combined_dicts.items(): @@ -851,7 +852,7 @@ def _MakeProxySignature(options, proxy_native): def main(argv): arg_parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(arg_parser) + action_helpers.add_depfile_arg(arg_parser) arg_parser.add_argument( '--sources-files', @@ -919,7 +920,7 @@ def main(argv): 'Invalid arguments: --manual-jni-registration without --header-path. ' 'Cannot manually register JNI if there is no output header file.') - sources_files = sorted(set(build_utils.ParseGnList(args.sources_files))) + sources_files = sorted(set(action_helpers.parse_gn_list(args.sources_files))) java_file_paths = [] for f in sources_files: @@ -931,8 +932,8 @@ def main(argv): _Generate(args, java_file_paths) if args.depfile: - build_utils.WriteDepfile(args.depfile, args.srcjar_path, - sources_files + java_file_paths) + action_helpers.write_depfile(args.depfile, args.srcjar_path, + sources_files + java_file_paths) if __name__ == '__main__': diff --git a/base/android/jni_generator/jni_registration_generator.pydeps b/base/android/jni_generator/jni_registration_generator.pydeps index cb8d37eb75d97..55724d420776a 100644 --- a/base/android/jni_generator/jni_registration_generator.pydeps +++ b/base/android/jni_generator/jni_registration_generator.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root base/android/jni_generator --output base/android/jni_generator/jni_registration_generator.pydeps base/android/jni_generator/jni_registration_generator.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py diff --git a/build/android/apk_operations.pydeps b/build/android/apk_operations.pydeps index dad21811c5987..60f5cb3f9bc12 100644 --- a/build/android/apk_operations.pydeps +++ b/build/android/apk_operations.pydeps @@ -85,6 +85,7 @@ ../../third_party/markupsafe/__init__.py ../../third_party/markupsafe/_compat.py ../../third_party/markupsafe/_native.py +../action_helpers.py ../gn_helpers.py ../print_python_deps.py adb_command_line.py diff --git a/build/android/gyp/aar.py b/build/android/gyp/aar.py index 0217c152d65cd..512d5dbe4c7a8 100755 --- a/build/android/gyp/aar.py +++ b/build/android/gyp/aar.py @@ -16,9 +16,7 @@ import zipfile from util import build_utils - -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), - os.pardir, os.pardir))) +import action_helpers # build_utils adds //build to sys.path. import gn_helpers @@ -165,7 +163,7 @@ def main(): args = parser.parse_args() - args.resource_exclusion_globs = build_utils.ParseGnList( + args.resource_exclusion_globs = action_helpers.parse_gn_list( args.resource_exclusion_globs) if args.ignore_resources: args.resource_exclusion_globs.append('res/*') diff --git a/build/android/gyp/aar.pydeps b/build/android/gyp/aar.pydeps index 7e2924b34c02f..56f860e257617 100644 --- a/build/android/gyp/aar.pydeps +++ b/build/android/gyp/aar.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/aar.pydeps build/android/gyp/aar.py +../../action_helpers.py ../../gn_helpers.py aar.py util/__init__.py diff --git a/build/android/gyp/aidl.py b/build/android/gyp/aidl.py index cb1aa8ca2634e..07b83c4fc87ff 100755 --- a/build/android/gyp/aidl.py +++ b/build/android/gyp/aidl.py @@ -14,6 +14,7 @@ import zipfile from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def main(argv): @@ -23,10 +24,10 @@ def main(argv): option_parser.add_option('--includes', help='Directories to add as import search paths.') option_parser.add_option('--srcjar', help='Path for srcjar output.') - build_utils.AddDepfileOption(option_parser) + action_helpers.add_depfile_arg(option_parser) options, args = option_parser.parse_args(argv[1:]) - options.includes = build_utils.ParseGnList(options.includes) + options.includes = action_helpers.parse_gn_list(options.includes) with build_utils.TempDir() as temp_dir: for f in args: @@ -34,7 +35,7 @@ def main(argv): output = os.path.join(temp_dir, classname + '.java') aidl_cmd = [options.aidl_path] aidl_cmd += [ - '-p' + s for s in build_utils.ParseGnList(options.imports) + '-p' + s for s in action_helpers.parse_gn_list(options.imports) ] aidl_cmd += ['-I' + s for s in options.includes] aidl_cmd += [ @@ -43,7 +44,7 @@ def main(argv): ] build_utils.CheckOutput(aidl_cmd) - with build_utils.AtomicOutput(options.srcjar) as f: + with action_helpers.atomic_output(options.srcjar) as f: with zipfile.ZipFile(f, 'w') as srcjar: for path in build_utils.FindInDirectory(temp_dir, '*.java'): with open(path) as fileobj: @@ -57,7 +58,7 @@ def main(argv): include_files = [] for include_dir in options.includes: include_files += build_utils.FindInDirectory(include_dir, '*.java') - build_utils.WriteDepfile(options.depfile, options.srcjar, include_files) + action_helpers.write_depfile(options.depfile, options.srcjar, include_files) if __name__ == '__main__': diff --git a/build/android/gyp/aidl.pydeps b/build/android/gyp/aidl.pydeps index 11c55ed4b6b96..a62f6ad50dfaf 100644 --- a/build/android/gyp/aidl.pydeps +++ b/build/android/gyp/aidl.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/aidl.pydeps build/android/gyp/aidl.py +../../action_helpers.py ../../gn_helpers.py aidl.py util/__init__.py diff --git a/build/android/gyp/allot_native_libraries.py b/build/android/gyp/allot_native_libraries.py index 0ac2f3b1710f8..61daac2244071 100755 --- a/build/android/gyp/allot_native_libraries.py +++ b/build/android/gyp/allot_native_libraries.py @@ -46,6 +46,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _ModuleLibrariesPair(arg): @@ -145,7 +146,7 @@ def main(args): help='A pair of parent module name and child module name ' '(format: ":"). Can be specified multiple times.') options = parser.parse_args(build_utils.ExpandFileArgs(args)) - options.libraries = [(m, build_utils.ParseGnList(l)) + options.libraries = [(m, action_helpers.parse_gn_list(l)) for m, l in options.libraries] # Parse input creating libraries and dependency tree. diff --git a/build/android/gyp/allot_native_libraries.pydeps b/build/android/gyp/allot_native_libraries.pydeps index d8b10cd3dacd6..aacaafffeb6db 100644 --- a/build/android/gyp/allot_native_libraries.pydeps +++ b/build/android/gyp/allot_native_libraries.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/allot_native_libraries.pydeps build/android/gyp/allot_native_libraries.py +../../action_helpers.py ../../gn_helpers.py allot_native_libraries.py util/__init__.py diff --git a/build/android/gyp/apkbuilder.py b/build/android/gyp/apkbuilder.py index 4e1b37359c39c..532ff35cebdd5 100755 --- a/build/android/gyp/apkbuilder.py +++ b/build/android/gyp/apkbuilder.py @@ -21,6 +21,7 @@ from util import build_utils from util import diff_utils from util import zipalign +import action_helpers # build_utils adds //build to sys.path. # Taken from aapt's Package.cpp: @@ -33,7 +34,7 @@ def _ParseArgs(args): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--assets', help='GYP-list of files to add as assets in the form ' '"srcPath:zipPath", where ":zipPath" is optional.') @@ -114,18 +115,18 @@ def _ParseArgs(args): help='Treat all warnings as errors.') diff_utils.AddCommandLineFlags(parser) options = parser.parse_args(args) - options.assets = build_utils.ParseGnList(options.assets) - options.uncompressed_assets = build_utils.ParseGnList( + options.assets = action_helpers.parse_gn_list(options.assets) + options.uncompressed_assets = action_helpers.parse_gn_list( options.uncompressed_assets) - options.native_lib_placeholders = build_utils.ParseGnList( + options.native_lib_placeholders = action_helpers.parse_gn_list( options.native_lib_placeholders) - options.secondary_native_lib_placeholders = build_utils.ParseGnList( + options.secondary_native_lib_placeholders = action_helpers.parse_gn_list( options.secondary_native_lib_placeholders) - options.java_resources = build_utils.ParseGnList(options.java_resources) - options.native_libs = build_utils.ParseGnList(options.native_libs) - options.secondary_native_libs = build_utils.ParseGnList( + options.java_resources = action_helpers.parse_gn_list(options.java_resources) + options.native_libs = action_helpers.parse_gn_list(options.native_libs) + options.secondary_native_libs = action_helpers.parse_gn_list( options.secondary_native_libs) - options.library_always_compress = build_utils.ParseGnList( + options.library_always_compress = action_helpers.parse_gn_list( options.library_always_compress) if not options.android_abi and (options.native_libs or @@ -386,9 +387,9 @@ def _GetAssetDetails(assets, uncompressed_assets, fast_align, allow_reads): if options.only_verify_expectations: if options.depfile: - build_utils.WriteDepfile(options.depfile, - options.actual_file, - inputs=depfile_deps) + action_helpers.write_depfile(options.depfile, + options.actual_file, + inputs=depfile_deps) return # If we are past this point, we are going to actually create the final apk so @@ -398,7 +399,8 @@ def _GetAssetDetails(assets, uncompressed_assets, fast_align, allow_reads): assets, uncompressed_assets, fast_align, allow_reads=True) # Targets generally do not depend on apks, so no need for only_if_changed. - with build_utils.AtomicOutput(options.output_apk, only_if_changed=False) as f: + with action_helpers.atomic_output(options.output_apk, + only_if_changed=False) as f: with zipfile.ZipFile(options.resource_apk) as resource_apk, \ zipfile.ZipFile(f, 'w') as out_apk: @@ -522,9 +524,9 @@ def copy_resource(zipinfo, out_dir=''): logging.debug('Moving file into place') if options.depfile: - build_utils.WriteDepfile(options.depfile, - options.output_apk, - inputs=depfile_deps) + action_helpers.write_depfile(options.depfile, + options.output_apk, + inputs=depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/apkbuilder.pydeps b/build/android/gyp/apkbuilder.pydeps index e6122edd2f1ea..97277566fca70 100644 --- a/build/android/gyp/apkbuilder.pydeps +++ b/build/android/gyp/apkbuilder.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/apkbuilder.pydeps build/android/gyp/apkbuilder.py +../../action_helpers.py ../../gn_helpers.py apkbuilder.py finalize_apk.py diff --git a/build/android/gyp/bytecode_processor.py b/build/android/gyp/bytecode_processor.py index 54f82c4f8e51d..f6065dbe71544 100755 --- a/build/android/gyp/bytecode_processor.py +++ b/build/android/gyp/bytecode_processor.py @@ -9,9 +9,9 @@ import sys import javac_output_processor - from util import build_utils from util import server_utils +import action_helpers # build_utils adds //build to sys.path. def _AddSwitch(parser, val): @@ -49,13 +49,15 @@ def main(argv): force=args.use_build_server): return - args.sdk_classpath_jars = build_utils.ParseGnList(args.sdk_classpath_jars) - args.direct_classpath_jars = build_utils.ParseGnList( + args.sdk_classpath_jars = action_helpers.parse_gn_list( + args.sdk_classpath_jars) + args.direct_classpath_jars = action_helpers.parse_gn_list( args.direct_classpath_jars) - args.full_classpath_jars = build_utils.ParseGnList(args.full_classpath_jars) - args.full_classpath_gn_targets = build_utils.ParseGnList( + args.full_classpath_jars = action_helpers.parse_gn_list( + args.full_classpath_jars) + args.full_classpath_gn_targets = action_helpers.parse_gn_list( args.full_classpath_gn_targets) - args.missing_classes_allowlist = build_utils.ParseGnList( + args.missing_classes_allowlist = action_helpers.parse_gn_list( args.missing_classes_allowlist) verbose = '--verbose' if args.verbose else '--not-verbose' diff --git a/build/android/gyp/bytecode_processor.pydeps b/build/android/gyp/bytecode_processor.pydeps index 5fdf703417328..e7f1d98bdfdbf 100644 --- a/build/android/gyp/bytecode_processor.pydeps +++ b/build/android/gyp/bytecode_processor.pydeps @@ -16,6 +16,7 @@ ../../../third_party/colorama/src/colorama/win32.py ../../../third_party/colorama/src/colorama/winterm.py ../../../tools/android/modularization/convenience/lookup_dep.py +../../action_helpers.py ../../gn_helpers.py ../list_java_targets.py ../pylib/__init__.py diff --git a/build/android/gyp/bytecode_rewriter.py b/build/android/gyp/bytecode_rewriter.py index add5558a6d15c..d16fee5237e42 100755 --- a/build/android/gyp/bytecode_rewriter.py +++ b/build/android/gyp/bytecode_rewriter.py @@ -8,12 +8,13 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def main(argv): argv = build_utils.ExpandFileArgs(argv[1:]) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--script', required=True, help='Path to the java binary wrapper script.') @@ -22,8 +23,8 @@ def main(argv): parser.add_argument('--output-jar', required=True) args = parser.parse_args(argv) - classpath = build_utils.ParseGnList(args.classpath) - build_utils.WriteDepfile(args.depfile, args.output_jar, inputs=classpath) + classpath = action_helpers.parse_gn_list(args.classpath) + action_helpers.write_depfile(args.depfile, args.output_jar, inputs=classpath) classpath.append(args.input_jar) cmd = [ diff --git a/build/android/gyp/bytecode_rewriter.pydeps b/build/android/gyp/bytecode_rewriter.pydeps index b8f304a783623..b0a6560367384 100644 --- a/build/android/gyp/bytecode_rewriter.pydeps +++ b/build/android/gyp/bytecode_rewriter.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/bytecode_rewriter.pydeps build/android/gyp/bytecode_rewriter.py +../../action_helpers.py ../../gn_helpers.py bytecode_rewriter.py util/__init__.py diff --git a/build/android/gyp/check_flag_expectations.pydeps b/build/android/gyp/check_flag_expectations.pydeps index d8c394a04c136..6bade9490b5cc 100644 --- a/build/android/gyp/check_flag_expectations.pydeps +++ b/build/android/gyp/check_flag_expectations.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/check_flag_expectations.pydeps build/android/gyp/check_flag_expectations.py +../../action_helpers.py ../../gn_helpers.py check_flag_expectations.py util/__init__.py diff --git a/build/android/gyp/compile_java.py b/build/android/gyp/compile_java.py index 06af82f4a73f5..d22fb49d1a93a 100755 --- a/build/android/gyp/compile_java.py +++ b/build/android/gyp/compile_java.py @@ -21,6 +21,7 @@ from util import md5_check from util import jar_info_utils from util import server_utils +import action_helpers # build_utils adds //build to sys.path. _JAVAC_EXTRACTOR = os.path.join(build_utils.DIR_SOURCE_ROOT, 'third_party', 'android_prebuilts', 'build_tools', 'common', @@ -252,7 +253,7 @@ def CreateJarFile(jar_path, extra_classes_jar=None): """Zips files from compilation into a single jar.""" logging.info('Start creating jar file: %s', jar_path) - with build_utils.AtomicOutput(jar_path) as f: + with action_helpers.atomic_output(jar_path) as f: with zipfile.ZipFile(f.name, 'w') as z: build_utils.ZipDir(z, classes_dir) if service_provider_configuration_dir: @@ -398,7 +399,7 @@ def Commit(self, output_path): entries = self._Collect() logging.info('Writing info file: %s', output_path) - with build_utils.AtomicOutput(output_path, mode='wb') as f: + with action_helpers.atomic_output(output_path, mode='wb') as f: jar_info_utils.WriteJarInfoFile(f, entries, self._srcjar_files) logging.info('Completed info file: %s', output_path) @@ -608,7 +609,7 @@ def _RunCompiler(changes, def _ParseOptions(argv): parser = optparse.OptionParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_option('--target-name', help='Fully qualified GN target name.') parser.add_option('--skip-build-server', @@ -687,10 +688,10 @@ def _ParseOptions(argv): options, args = parser.parse_args(argv) build_utils.CheckOptions(options, parser, required=('jar_path', )) - options.classpath = build_utils.ParseGnList(options.classpath) - options.processorpath = build_utils.ParseGnList(options.processorpath) - options.java_srcjars = build_utils.ParseGnList(options.java_srcjars) - options.jar_info_exclude_globs = build_utils.ParseGnList( + options.classpath = action_helpers.parse_gn_list(options.classpath) + options.processorpath = action_helpers.parse_gn_list(options.processorpath) + options.java_srcjars = action_helpers.parse_gn_list(options.java_srcjars) + options.jar_info_exclude_globs = action_helpers.parse_gn_list( options.jar_info_exclude_globs) additional_jar_files = [] diff --git a/build/android/gyp/compile_java.pydeps b/build/android/gyp/compile_java.pydeps index c1c7d5fd56f5c..2b3d2237aff06 100644 --- a/build/android/gyp/compile_java.pydeps +++ b/build/android/gyp/compile_java.pydeps @@ -16,6 +16,7 @@ ../../../third_party/colorama/src/colorama/win32.py ../../../third_party/colorama/src/colorama/winterm.py ../../../tools/android/modularization/convenience/lookup_dep.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py ../list_java_targets.py diff --git a/build/android/gyp/compile_kt.py b/build/android/gyp/compile_kt.py index 360278988346f..4c7eb6ff84328 100755 --- a/build/android/gyp/compile_kt.py +++ b/build/android/gyp/compile_kt.py @@ -14,6 +14,7 @@ import compile_java from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _RunCompiler(args, @@ -97,7 +98,7 @@ def _RunCompiler(args, def _ParseOptions(argv): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--java-srcjars', action='append', @@ -125,8 +126,8 @@ def _ParseOptions(argv): args, extra_args = parser.parse_known_args(argv) - args.classpath = build_utils.ParseGnList(args.classpath) - args.java_srcjars = build_utils.ParseGnList(args.java_srcjars) + args.classpath = action_helpers.parse_gn_list(args.classpath) + args.java_srcjars = action_helpers.parse_gn_list(args.java_srcjars) source_files = [] for arg in extra_args: @@ -174,7 +175,7 @@ def main(argv): if args.depfile: # GN already knows of the source files, so avoid listing individual files # in the depfile. - build_utils.WriteDepfile(args.depfile, args.jar_path, args.classpath) + action_helpers.write_depfile(args.depfile, args.jar_path, args.classpath) if __name__ == '__main__': diff --git a/build/android/gyp/compile_kt.pydeps b/build/android/gyp/compile_kt.pydeps index ecb76e4849dd2..837a2e4965cd6 100644 --- a/build/android/gyp/compile_kt.pydeps +++ b/build/android/gyp/compile_kt.pydeps @@ -16,6 +16,7 @@ ../../../third_party/colorama/src/colorama/win32.py ../../../third_party/colorama/src/colorama/winterm.py ../../../tools/android/modularization/convenience/lookup_dep.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py ../list_java_targets.py diff --git a/build/android/gyp/compile_resources.py b/build/android/gyp/compile_resources.py index 1fa8815222f48..9eed24520b7d0 100755 --- a/build/android/gyp/compile_resources.py +++ b/build/android/gyp/compile_resources.py @@ -33,6 +33,7 @@ from util import parallel from util import protoresources from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. # Pngs that we shouldn't convert to webp. Please add rationale when updating. @@ -185,7 +186,7 @@ def _ParseArgs(args): '--verification-library-version-offset', help='Subtract this from static-library version for expectation files') - build_utils.AddDepfileOption(output_opts) + action_helpers.add_depfile_arg(output_opts) output_opts.add_argument('--arsc-path', help='Apk output for arsc format.') output_opts.add_argument('--proto-path', help='Apk output for proto format.') output_opts.add_argument( @@ -206,19 +207,21 @@ def _ParseArgs(args): diff_utils.AddCommandLineFlags(parser) options = parser.parse_args(args) - options.include_resources = build_utils.ParseGnList(options.include_resources) - options.dependencies_res_zips = build_utils.ParseGnList( + options.include_resources = action_helpers.parse_gn_list( + options.include_resources) + options.dependencies_res_zips = action_helpers.parse_gn_list( options.dependencies_res_zips) - options.extra_res_packages = build_utils.ParseGnList( + options.extra_res_packages = action_helpers.parse_gn_list( options.extra_res_packages) - options.locale_allowlist = build_utils.ParseGnList(options.locale_allowlist) - options.shared_resources_allowlist_locales = build_utils.ParseGnList( + options.locale_allowlist = action_helpers.parse_gn_list( + options.locale_allowlist) + options.shared_resources_allowlist_locales = action_helpers.parse_gn_list( options.shared_resources_allowlist_locales) - options.resource_exclusion_exceptions = build_utils.ParseGnList( + options.resource_exclusion_exceptions = action_helpers.parse_gn_list( options.resource_exclusion_exceptions) - options.dependencies_res_zip_overlays = build_utils.ParseGnList( + options.dependencies_res_zip_overlays = action_helpers.parse_gn_list( options.dependencies_res_zip_overlays) - options.values_filter_rules = build_utils.ParseGnList( + options.values_filter_rules = action_helpers.parse_gn_list( options.values_filter_rules) if not options.arsc_path and not options.proto_path: @@ -1005,7 +1008,8 @@ def main(args): depfile_deps = (options.dependencies_res_zips + options.dependencies_res_zip_overlays + options.include_resources) - build_utils.WriteDepfile(options.depfile, options.srcjar_out, depfile_deps) + action_helpers.write_depfile(options.depfile, options.srcjar_out, + depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/compile_resources.pydeps b/build/android/gyp/compile_resources.pydeps index 6701a8a542aa8..361b7c2780fcd 100644 --- a/build/android/gyp/compile_resources.pydeps +++ b/build/android/gyp/compile_resources.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py compile_resources.py proto/Configuration_pb2.py diff --git a/build/android/gyp/copy_ex.py b/build/android/gyp/copy_ex.py index bc05ba05ac2ed..542a08ca1ba5f 100755 --- a/build/android/gyp/copy_ex.py +++ b/build/android/gyp/copy_ex.py @@ -15,6 +15,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _get_all_files(base): @@ -49,8 +50,9 @@ def CopyFile(f, dest, deps): def DoCopy(options, deps): """Copy files or directories given in options.files and update deps.""" - files = list(itertools.chain.from_iterable(build_utils.ParseGnList(f) - for f in options.files)) + files = list( + itertools.chain.from_iterable( + action_helpers.parse_gn_list(f) for f in options.files)) for f in files: if os.path.isdir(f) and not options.clear: @@ -61,13 +63,14 @@ def DoCopy(options, deps): def DoRenaming(options, deps): """Copy and rename files given in options.renaming_sources and update deps.""" - src_files = list(itertools.chain.from_iterable( - build_utils.ParseGnList(f) - for f in options.renaming_sources)) + src_files = list( + itertools.chain.from_iterable( + action_helpers.parse_gn_list(f) for f in options.renaming_sources)) - dest_files = list(itertools.chain.from_iterable( - build_utils.ParseGnList(f) - for f in options.renaming_destinations)) + dest_files = list( + itertools.chain.from_iterable( + action_helpers.parse_gn_list(f) + for f in options.renaming_destinations)) if (len(src_files) != len(dest_files)): print('Renaming source and destination files not match.') @@ -84,7 +87,7 @@ def main(args): args = build_utils.ExpandFileArgs(args) parser = optparse.OptionParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_option('--dest', help='Directory to copy files to.') parser.add_option('--files', action='append', @@ -118,7 +121,7 @@ def main(args): DoRenaming(options, deps) if options.depfile: - build_utils.WriteDepfile(options.depfile, options.stamp, deps) + action_helpers.write_depfile(options.depfile, options.stamp, deps) if options.stamp: build_utils.Touch(options.stamp) diff --git a/build/android/gyp/copy_ex.pydeps b/build/android/gyp/copy_ex.pydeps index 37352512be1c2..5d75f9a3965b2 100644 --- a/build/android/gyp/copy_ex.pydeps +++ b/build/android/gyp/copy_ex.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/copy_ex.pydeps build/android/gyp/copy_ex.py +../../action_helpers.py ../../gn_helpers.py copy_ex.py util/__init__.py diff --git a/build/android/gyp/create_app_bundle.py b/build/android/gyp/create_app_bundle.py index 3fba536723e4e..009b48aebefbb 100755 --- a/build/android/gyp/create_app_bundle.py +++ b/build/android/gyp/create_app_bundle.py @@ -14,18 +14,18 @@ import posixpath import shutil import sys +from xml.etree import ElementTree import zipfile sys.path.append( os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))) from pylib.utils import dexdump +import bundletool from util import build_utils from util import manifest_utils from util import resource_utils -from xml.etree import ElementTree - -import bundletool +import action_helpers # build_utils adds //build to sys.path. # Location of language-based assets in bundle modules. _LOCALES_SUBDIR = 'assets/locales/' @@ -123,16 +123,17 @@ def _ParseArgs(args): help='Check if services are in base module if isolatedSplits is enabled.') options = parser.parse_args(args) - options.module_zips = build_utils.ParseGnList(options.module_zips) - options.rtxt_in_paths = build_utils.ParseGnList(options.rtxt_in_paths) - options.pathmap_in_paths = build_utils.ParseGnList(options.pathmap_in_paths) + options.module_zips = action_helpers.parse_gn_list(options.module_zips) + options.rtxt_in_paths = action_helpers.parse_gn_list(options.rtxt_in_paths) + options.pathmap_in_paths = action_helpers.parse_gn_list( + options.pathmap_in_paths) if len(options.module_zips) == 0: raise Exception('The module zip list cannot be empty.') # Merge all uncompressed assets into a set. uncompressed_list = [] - for entry in build_utils.ParseGnList(options.uncompressed_assets): + for entry in action_helpers.parse_gn_list(options.uncompressed_assets): # Each entry has the following format: 'zipPath' or 'srcPath:zipPath' pos = entry.find(':') if pos >= 0: @@ -144,7 +145,8 @@ def _ParseArgs(args): # Check that all split dimensions are valid if options.split_dimensions: - options.split_dimensions = build_utils.ParseGnList(options.split_dimensions) + options.split_dimensions = action_helpers.parse_gn_list( + options.split_dimensions) for dim in options.split_dimensions: if dim.upper() not in _ALL_SPLIT_DIMENSIONS: parser.error('Invalid split dimension "%s" (expected one of: %s)' % ( diff --git a/build/android/gyp/create_app_bundle.pydeps b/build/android/gyp/create_app_bundle.pydeps index 83ffedb7403ff..3fd991e202156 100644 --- a/build/android/gyp/create_app_bundle.pydeps +++ b/build/android/gyp/create_app_bundle.pydeps @@ -34,6 +34,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py ../pylib/__init__.py ../pylib/constants/__init__.py diff --git a/build/android/gyp/create_app_bundle_apks.pydeps b/build/android/gyp/create_app_bundle_apks.pydeps index 79750840b3abf..65810c3eb0c1a 100644 --- a/build/android/gyp/create_app_bundle_apks.pydeps +++ b/build/android/gyp/create_app_bundle_apks.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py ../pylib/__init__.py diff --git a/build/android/gyp/create_bundle_wrapper_script.py b/build/android/gyp/create_bundle_wrapper_script.py index fcd9b7ea60e2e..a3870bf895122 100755 --- a/build/android/gyp/create_bundle_wrapper_script.py +++ b/build/android/gyp/create_bundle_wrapper_script.py @@ -11,6 +11,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. SCRIPT_TEMPLATE = string.Template("""\ #!/usr/bin/env python3 @@ -109,7 +110,7 @@ def relativize(path): 'TARGET_CPU': repr(args.target_cpu), 'SYSTEM_IMAGE_LOCALES': - repr(build_utils.ParseGnList(args.system_image_locales)), + repr(action_helpers.parse_gn_list(args.system_image_locales)), 'DEFAULT_MODULES': repr(args.default_modules), } diff --git a/build/android/gyp/create_bundle_wrapper_script.pydeps b/build/android/gyp/create_bundle_wrapper_script.pydeps index 7758ed6272e8a..51d912c837c33 100644 --- a/build/android/gyp/create_bundle_wrapper_script.pydeps +++ b/build/android/gyp/create_bundle_wrapper_script.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/create_bundle_wrapper_script.pydeps build/android/gyp/create_bundle_wrapper_script.py +../../action_helpers.py ../../gn_helpers.py create_bundle_wrapper_script.py util/__init__.py diff --git a/build/android/gyp/create_java_binary_script.py b/build/android/gyp/create_java_binary_script.py index bce0a57277097..f9e665f4e3d0d 100755 --- a/build/android/gyp/create_java_binary_script.py +++ b/build/android/gyp/create_java_binary_script.py @@ -15,6 +15,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. # The java command must be executed in the current directory because there may # be user-supplied paths in the args. The script receives the classpath relative @@ -110,7 +111,7 @@ def main(argv): classpath = [] for cp_arg in args.classpath: - classpath += build_utils.ParseGnList(cp_arg) + classpath += action_helpers.parse_gn_list(cp_arg) run_dir = os.path.dirname(args.output) classpath = [os.path.relpath(p, run_dir) for p in classpath] @@ -121,7 +122,7 @@ def main(argv): java_home = build_utils.JAVA_HOME java_path = os.path.relpath(os.path.join(java_home, 'bin', 'java'), run_dir) - with build_utils.AtomicOutput(args.output, mode='w') as script: + with action_helpers.atomic_output(args.output, mode='w') as script: script.write( script_template.format(classpath=('"%s"' % '", "'.join(classpath)), java_path=repr(java_path), diff --git a/build/android/gyp/create_java_binary_script.pydeps b/build/android/gyp/create_java_binary_script.pydeps index 6bc21fa7e206c..a0a740dec9f1a 100644 --- a/build/android/gyp/create_java_binary_script.pydeps +++ b/build/android/gyp/create_java_binary_script.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/create_java_binary_script.pydeps build/android/gyp/create_java_binary_script.py +../../action_helpers.py ../../gn_helpers.py create_java_binary_script.py util/__init__.py diff --git a/build/android/gyp/create_r_java.py b/build/android/gyp/create_r_java.py index 45d99b06319bd..2eae4b77e57c4 100755 --- a/build/android/gyp/create_r_java.py +++ b/build/android/gyp/create_r_java.py @@ -9,6 +9,7 @@ from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. def _ConcatRTxts(rtxt_in_paths, combined_out_path): @@ -39,7 +40,7 @@ def _CreateRJava(rtxts, package_name, srcjar_out): def main(args): parser = argparse.ArgumentParser(description='Create an R.java srcjar.') - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--srcjar-out', required=True, help='Path to output srcjar.') @@ -50,12 +51,12 @@ def main(args): required=True, help='R.java package to use.') options = parser.parse_args(build_utils.ExpandFileArgs(args)) - options.deps_rtxts = build_utils.ParseGnList(options.deps_rtxts) + options.deps_rtxts = action_helpers.parse_gn_list(options.deps_rtxts) _CreateRJava(options.deps_rtxts, options.r_package, options.srcjar_out) - build_utils.WriteDepfile(options.depfile, - options.srcjar_out, - inputs=options.deps_rtxts) + action_helpers.write_depfile(options.depfile, + options.srcjar_out, + inputs=options.deps_rtxts) if __name__ == "__main__": diff --git a/build/android/gyp/create_r_java.pydeps b/build/android/gyp/create_r_java.pydeps index df708b8dc8ddc..b6b35229e57b7 100644 --- a/build/android/gyp/create_r_java.pydeps +++ b/build/android/gyp/create_r_java.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py create_r_java.py util/__init__.py diff --git a/build/android/gyp/create_r_txt.pydeps b/build/android/gyp/create_r_txt.pydeps index 396f9db4d06eb..65378f038aa27 100644 --- a/build/android/gyp/create_r_txt.pydeps +++ b/build/android/gyp/create_r_txt.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py create_r_txt.py util/__init__.py diff --git a/build/android/gyp/create_size_info_files.py b/build/android/gyp/create_size_info_files.py index aa8a48a79824e..24fcf8dc8bc07 100755 --- a/build/android/gyp/create_size_info_files.py +++ b/build/android/gyp/create_size_info_files.py @@ -15,6 +15,7 @@ from util import build_utils from util import jar_info_utils +import action_helpers # build_utils adds //build to sys.path. _AAR_VERSION_PATTERN = re.compile(r'/[^/]*?(\.aar/|\.jar/)') @@ -40,9 +41,7 @@ def _TransformAarPaths(path): def _MergeResInfoFiles(res_info_path, info_paths): # Concatenate them all. - # only_if_changed=False since no build rules depend on this as an input. - with build_utils.AtomicOutput(res_info_path, only_if_changed=False, - mode='w+') as dst: + with action_helpers.atomic_output(res_info_path, 'w+') as dst: for p in info_paths: with open(p) as src: dst.writelines(_TransformAarPaths(l) for l in src) @@ -58,8 +57,9 @@ def _MergePakInfoFiles(merged_path, pak_infos): with open(pak_info_path, 'r') as src_info_file: info_lines.update(_TransformAarPaths(x) for x in src_info_file) # only_if_changed=False since no build rules depend on this as an input. - with build_utils.AtomicOutput(merged_path, only_if_changed=False, - mode='w+') as f: + with action_helpers.atomic_output(merged_path, + only_if_changed=False, + mode='w+') as f: f.writelines(sorted(info_lines)) @@ -121,7 +121,7 @@ def _MergeJarInfoFiles(output, inputs): attributed_path, name)) # only_if_changed=False since no build rules depend on this as an input. - with build_utils.AtomicOutput(output, only_if_changed=False) as f: + with action_helpers.atomic_output(output, only_if_changed=False) as f: jar_info_utils.WriteJarInfoFile(f, info_data) @@ -139,7 +139,7 @@ def _FindJarInputs(jar_paths): def main(args): args = build_utils.ExpandFileArgs(args) parser = argparse.ArgumentParser(description=__doc__) - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument( '--jar-info-path', required=True, help='Output .jar.info file') parser.add_argument( @@ -170,9 +170,9 @@ def main(args): options = parser.parse_args(args) - options.jar_files = build_utils.ParseGnList(options.jar_files) - options.assets = build_utils.ParseGnList(options.assets) - options.uncompressed_assets = build_utils.ParseGnList( + options.jar_files = action_helpers.parse_gn_list(options.jar_files) + options.assets = action_helpers.parse_gn_list(options.assets) + options.uncompressed_assets = action_helpers.parse_gn_list( options.uncompressed_assets) jar_inputs = _FindJarInputs(_RemoveDuplicatesFromList(options.jar_files)) @@ -186,9 +186,9 @@ def main(args): _MergeResInfoFiles(options.res_info_path, res_inputs) all_inputs = jar_inputs + pak_inputs + res_inputs - build_utils.WriteDepfile(options.depfile, - options.jar_info_path, - inputs=all_inputs) + action_helpers.write_depfile(options.depfile, + options.jar_info_path, + inputs=all_inputs) if __name__ == '__main__': diff --git a/build/android/gyp/create_size_info_files.pydeps b/build/android/gyp/create_size_info_files.pydeps index 1a69c553d761e..0dd61cbb35d7a 100644 --- a/build/android/gyp/create_size_info_files.pydeps +++ b/build/android/gyp/create_size_info_files.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/create_size_info_files.pydeps build/android/gyp/create_size_info_files.py +../../action_helpers.py ../../gn_helpers.py create_size_info_files.py util/__init__.py diff --git a/build/android/gyp/create_ui_locale_resources.py b/build/android/gyp/create_ui_locale_resources.py index f63f49de4f539..3e06027f0fa5a 100755 --- a/build/android/gyp/create_ui_locale_resources.py +++ b/build/android/gyp/create_ui_locale_resources.py @@ -27,6 +27,7 @@ from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. # A small string template for the content of each strings.xml file. # NOTE: The name is chosen to avoid any conflicts with other string defined @@ -69,11 +70,11 @@ def main(): args = parser.parse_args() - locale_list = build_utils.ParseGnList(args.locale_list) + locale_list = action_helpers.parse_gn_list(args.locale_list) if not locale_list: raise Exception('Locale list cannot be empty!') - with build_utils.AtomicOutput(args.output_zip) as tmp_file: + with action_helpers.atomic_output(args.output_zip) as tmp_file: with zipfile.ZipFile(tmp_file, 'w') as out_zip: # First, write the default value, since aapt requires one. _AddLocaleResourceFileToZip(out_zip, '', _DEFAULT_CHROME_LOCALE) diff --git a/build/android/gyp/create_ui_locale_resources.pydeps b/build/android/gyp/create_ui_locale_resources.pydeps index e7f7647ee13ab..897d516151541 100644 --- a/build/android/gyp/create_ui_locale_resources.pydeps +++ b/build/android/gyp/create_ui_locale_resources.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py create_ui_locale_resources.py util/__init__.py diff --git a/build/android/gyp/dex.py b/build/android/gyp/dex.py index 8bce6bd80bdba..d4c54438b8028 100755 --- a/build/android/gyp/dex.py +++ b/build/android/gyp/dex.py @@ -18,6 +18,7 @@ from util import build_utils from util import md5_check from util import zipalign +import action_helpers # build_utils adds //build to sys.path. _DEX_XMX = '2G' # Increase this when __final_dex OOMs. @@ -68,7 +69,7 @@ def _ParseArgs(args): args = build_utils.ExpandFileArgs(args) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--output', required=True, help='Dex output path.') parser.add_argument( '--class-inputs', @@ -149,13 +150,13 @@ def _ParseArgs(args): parser.error('Cannot use both --force-enable-assertions and ' '--assertion-handler') - options.class_inputs = build_utils.ParseGnList(options.class_inputs) - options.class_inputs_filearg = build_utils.ParseGnList( + options.class_inputs = action_helpers.parse_gn_list(options.class_inputs) + options.class_inputs_filearg = action_helpers.parse_gn_list( options.class_inputs_filearg) - options.bootclasspath = build_utils.ParseGnList(options.bootclasspath) - options.classpath = build_utils.ParseGnList(options.classpath) - options.dex_inputs = build_utils.ParseGnList(options.dex_inputs) - options.dex_inputs_filearg = build_utils.ParseGnList( + options.bootclasspath = action_helpers.parse_gn_list(options.bootclasspath) + options.classpath = action_helpers.parse_gn_list(options.classpath) + options.dex_inputs = action_helpers.parse_gn_list(options.dex_inputs) + options.dex_inputs_filearg = action_helpers.parse_gn_list( options.dex_inputs_filearg) return options diff --git a/build/android/gyp/dex.pydeps b/build/android/gyp/dex.pydeps index f41626430bc47..2eca49d739751 100644 --- a/build/android/gyp/dex.pydeps +++ b/build/android/gyp/dex.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/dex.pydeps build/android/gyp/dex.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py dex.py diff --git a/build/android/gyp/dist_aar.py b/build/android/gyp/dist_aar.py index 72758f50a01fb..279490e6309f2 100755 --- a/build/android/gyp/dist_aar.py +++ b/build/android/gyp/dist_aar.py @@ -16,6 +16,7 @@ import filter_zip from util import build_utils +import action_helpers # build_utils adds //build to sys.path. _ANDROID_BUILD_DIR = os.path.dirname(os.path.dirname(__file__)) @@ -65,7 +66,7 @@ def _AddResources(aar_zip, resource_zips, include_globs): def main(args): args = build_utils.ExpandFileArgs(args) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--output', required=True, help='Path to output aar.') parser.add_argument('--jars', required=True, help='GN list of jar inputs.') parser.add_argument('--dependencies-res-zips', required=True, @@ -98,17 +99,19 @@ def main(args): if options.native_libraries and not options.abi: parser.error('You must provide --abi if you have native libs') - options.jars = build_utils.ParseGnList(options.jars) - options.dependencies_res_zips = build_utils.ParseGnList( + options.jars = action_helpers.parse_gn_list(options.jars) + options.dependencies_res_zips = action_helpers.parse_gn_list( options.dependencies_res_zips) - options.r_text_files = build_utils.ParseGnList(options.r_text_files) - options.proguard_configs = build_utils.ParseGnList(options.proguard_configs) - options.native_libraries = build_utils.ParseGnList(options.native_libraries) - options.jar_excluded_globs = build_utils.ParseGnList( + options.r_text_files = action_helpers.parse_gn_list(options.r_text_files) + options.proguard_configs = action_helpers.parse_gn_list( + options.proguard_configs) + options.native_libraries = action_helpers.parse_gn_list( + options.native_libraries) + options.jar_excluded_globs = action_helpers.parse_gn_list( options.jar_excluded_globs) - options.jar_included_globs = build_utils.ParseGnList( + options.jar_included_globs = action_helpers.parse_gn_list( options.jar_included_globs) - options.resource_included_globs = build_utils.ParseGnList( + options.resource_included_globs = action_helpers.parse_gn_list( options.resource_included_globs) with tempfile.NamedTemporaryFile(delete=False) as staging_file: @@ -152,7 +155,7 @@ def main(args): if options.depfile: all_inputs = (options.jars + options.dependencies_res_zips + options.r_text_files + options.proguard_configs) - build_utils.WriteDepfile(options.depfile, options.output, all_inputs) + action_helpers.write_depfile(options.depfile, options.output, all_inputs) if __name__ == '__main__': diff --git a/build/android/gyp/dist_aar.pydeps b/build/android/gyp/dist_aar.pydeps index 3182580af76a6..e615d7a86deaf 100644 --- a/build/android/gyp/dist_aar.pydeps +++ b/build/android/gyp/dist_aar.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/dist_aar.pydeps build/android/gyp/dist_aar.py +../../action_helpers.py ../../gn_helpers.py dist_aar.py filter_zip.py diff --git a/build/android/gyp/filter_zip.py b/build/android/gyp/filter_zip.py index 5f11818156395..cc6393c08d5f6 100755 --- a/build/android/gyp/filter_zip.py +++ b/build/android/gyp/filter_zip.py @@ -9,6 +9,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def CreatePathTransform(exclude_globs, include_globs): @@ -50,11 +51,11 @@ def main(): argv = build_utils.ExpandFileArgs(sys.argv[1:]) args = parser.parse_args(argv) - args.exclude_globs = build_utils.ParseGnList(args.exclude_globs) - args.include_globs = build_utils.ParseGnList(args.include_globs) + args.exclude_globs = action_helpers.parse_gn_list(args.exclude_globs) + args.include_globs = action_helpers.parse_gn_list(args.include_globs) path_transform = CreatePathTransform(args.exclude_globs, args.include_globs) - with build_utils.AtomicOutput(args.output) as f: + with action_helpers.atomic_output(args.output) as f: if path_transform: build_utils.MergeZips(f.name, [args.input], path_transform=path_transform) else: diff --git a/build/android/gyp/filter_zip.pydeps b/build/android/gyp/filter_zip.pydeps index f561e05c45ca7..ad452bce91869 100644 --- a/build/android/gyp/filter_zip.pydeps +++ b/build/android/gyp/filter_zip.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/filter_zip.pydeps build/android/gyp/filter_zip.py +../../action_helpers.py ../../gn_helpers.py filter_zip.py util/__init__.py diff --git a/build/android/gyp/gcc_preprocess.py b/build/android/gyp/gcc_preprocess.py index 384f944ca675d..270b2ad720f7b 100755 --- a/build/android/gyp/gcc_preprocess.py +++ b/build/android/gyp/gcc_preprocess.py @@ -12,6 +12,7 @@ import zipfile from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _ParsePackageName(data): @@ -32,8 +33,8 @@ def main(args): parser.add_argument('templates', nargs='+', help='Template files.') options = parser.parse_args(args) - options.defines = build_utils.ParseGnList(options.defines) - options.include_dirs = build_utils.ParseGnList(options.include_dirs) + options.defines = action_helpers.parse_gn_list(options.defines) + options.include_dirs = action_helpers.parse_gn_list(options.include_dirs) gcc_cmd = [ 'gcc', @@ -46,7 +47,7 @@ def main(args): gcc_cmd.extend('-D' + x for x in options.defines) gcc_cmd.extend('-I' + x for x in options.include_dirs) - with build_utils.AtomicOutput(options.output) as f: + with action_helpers.atomic_output(options.output) as f: with zipfile.ZipFile(f, 'w') as z: for template in options.templates: data = build_utils.CheckOutput(gcc_cmd + [template]) diff --git a/build/android/gyp/gcc_preprocess.pydeps b/build/android/gyp/gcc_preprocess.pydeps index 39e56f70082cf..93d90e10208ad 100644 --- a/build/android/gyp/gcc_preprocess.pydeps +++ b/build/android/gyp/gcc_preprocess.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/gcc_preprocess.pydeps build/android/gyp/gcc_preprocess.py +../../action_helpers.py ../../gn_helpers.py gcc_preprocess.py util/__init__.py diff --git a/build/android/gyp/generate_android_wrapper.py b/build/android/gyp/generate_android_wrapper.py index 187ac525ec725..46c7afeabed8b 100755 --- a/build/android/gyp/generate_android_wrapper.py +++ b/build/android/gyp/generate_android_wrapper.py @@ -8,6 +8,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. sys.path.append( os.path.abspath( @@ -23,7 +24,7 @@ def ExpandWrappedPathLists(args): for arg in args: m = _WRAPPED_PATH_LIST_RE.match(arg) if m: - for p in build_utils.ParseGnList(m.group(2)): + for p in action_helpers.parse_gn_list(m.group(2)): expanded_args.extend([m.group(1), '@WrappedPath(%s)' % p]) else: expanded_args.append(arg) diff --git a/build/android/gyp/generate_linker_version_script.py b/build/android/gyp/generate_linker_version_script.py index 28e58095cf1ae..456ddd1f68c81 100755 --- a/build/android/gyp/generate_linker_version_script.py +++ b/build/android/gyp/generate_linker_version_script.py @@ -8,6 +8,7 @@ import os from util import build_utils +import action_helpers # build_utils adds //build to sys.path. _SCRIPT_HEADER = """\ # AUTO-GENERATED FILE. DO NOT MODIFY. @@ -108,7 +109,7 @@ def main(): script = ''.join(script_content) - with build_utils.AtomicOutput(options.output, mode='w') as f: + with action_helpers.atomic_output(options.output, mode='w') as f: f.write(script) diff --git a/build/android/gyp/generate_linker_version_script.pydeps b/build/android/gyp/generate_linker_version_script.pydeps index de9fa56a95a69..03ac25d5c0587 100644 --- a/build/android/gyp/generate_linker_version_script.pydeps +++ b/build/android/gyp/generate_linker_version_script.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/generate_linker_version_script.pydeps build/android/gyp/generate_linker_version_script.py +../../action_helpers.py ../../gn_helpers.py generate_linker_version_script.py util/__init__.py diff --git a/build/android/gyp/ijar.py b/build/android/gyp/ijar.py index c2da8b60b068f..ec12cecaa1717 100755 --- a/build/android/gyp/ijar.py +++ b/build/android/gyp/ijar.py @@ -10,6 +10,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. # python -c "import zipfile; zipfile.ZipFile('test.jar', 'w')" @@ -23,7 +24,7 @@ def main(): if len(sys.argv) != 4: raise ValueError('unexpected arguments were given. %s' % sys.argv) ijar_bin, in_jar, out_jar = sys.argv[1], sys.argv[2], sys.argv[3] - with build_utils.AtomicOutput(out_jar) as f: + with action_helpers.atomic_output(out_jar) as f: # ijar fails on empty jars: https://github.com/bazelbuild/bazel/issues/10162 if os.path.getsize(in_jar) <= _EMPTY_JAR_SIZE: with open(in_jar, 'rb') as in_f: diff --git a/build/android/gyp/ijar.pydeps b/build/android/gyp/ijar.pydeps index e9ecb6636daf9..530aabe8e5d67 100644 --- a/build/android/gyp/ijar.pydeps +++ b/build/android/gyp/ijar.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/ijar.pydeps build/android/gyp/ijar.py +../../action_helpers.py ../../gn_helpers.py ijar.py util/__init__.py diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enum.py index b664021f136dd..18fb4927040c4 100755 --- a/build/android/gyp/java_cpp_enum.py +++ b/build/android/gyp/java_cpp_enum.py @@ -16,6 +16,7 @@ from util import build_utils from util import java_cpp_utils +import action_helpers # build_utils adds //build to sys.path. # List of C++ types that are compatible with the Java code generated by this # script. @@ -427,7 +428,7 @@ def DoMain(argv): parser.error('Need to specify at least one input file') input_paths = args - with build_utils.AtomicOutput(options.srcjar) as f: + with action_helpers.atomic_output(options.srcjar) as f: with zipfile.ZipFile(f, 'w', zipfile.ZIP_STORED) as srcjar: for output_path, data in DoGenerate(input_paths): build_utils.AddToZipHermetic(srcjar, output_path, data=data) diff --git a/build/android/gyp/java_cpp_enum.pydeps b/build/android/gyp/java_cpp_enum.pydeps index e6aaeb7b1f6f9..8a77e307fba8f 100644 --- a/build/android/gyp/java_cpp_enum.pydeps +++ b/build/android/gyp/java_cpp_enum.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/java_cpp_enum.pydeps build/android/gyp/java_cpp_enum.py +../../action_helpers.py ../../gn_helpers.py java_cpp_enum.py util/__init__.py diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp_features.py index 451acb642b7b5..9d14434fa447c 100755 --- a/build/android/gyp/java_cpp_features.py +++ b/build/android/gyp/java_cpp_features.py @@ -12,6 +12,7 @@ from util import build_utils from util import java_cpp_utils +import action_helpers # build_utils adds //build to sys.path. class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate): @@ -100,7 +101,7 @@ def _Main(argv): metavar='INPUTFILE') args = parser.parse_args(argv) - with build_utils.AtomicOutput(args.srcjar) as f: + with action_helpers.atomic_output(args.srcjar) as f: with zipfile.ZipFile(f, 'w', zipfile.ZIP_STORED) as srcjar: data, path = _Generate(args.inputs, args.template) build_utils.AddToZipHermetic(srcjar, path, data=data) diff --git a/build/android/gyp/java_cpp_features.pydeps b/build/android/gyp/java_cpp_features.pydeps index acffae2bb935a..4c555755a97c9 100644 --- a/build/android/gyp/java_cpp_features.pydeps +++ b/build/android/gyp/java_cpp_features.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/java_cpp_features.pydeps build/android/gyp/java_cpp_features.py +../../action_helpers.py ../../gn_helpers.py java_cpp_features.py util/__init__.py diff --git a/build/android/gyp/java_cpp_strings.py b/build/android/gyp/java_cpp_strings.py index d6ce81e180719..3bccd56502ada 100755 --- a/build/android/gyp/java_cpp_strings.py +++ b/build/android/gyp/java_cpp_strings.py @@ -12,6 +12,7 @@ from util import build_utils from util import java_cpp_utils +import action_helpers # build_utils adds //build to sys.path. class StringParserDelegate(java_cpp_utils.CppConstantParser.Delegate): @@ -93,7 +94,7 @@ def _Main(argv): 'inputs', nargs='+', help='Input file(s)', metavar='INPUTFILE') args = parser.parse_args(argv) - with build_utils.AtomicOutput(args.srcjar) as f: + with action_helpers.atomic_output(args.srcjar) as f: with zipfile.ZipFile(f, 'w', zipfile.ZIP_STORED) as srcjar: data, path = _Generate(args.inputs, args.template) build_utils.AddToZipHermetic(srcjar, path, data=data) diff --git a/build/android/gyp/java_cpp_strings.pydeps b/build/android/gyp/java_cpp_strings.pydeps index 0a821f44694dd..0177a2bc9c680 100644 --- a/build/android/gyp/java_cpp_strings.pydeps +++ b/build/android/gyp/java_cpp_strings.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/java_cpp_strings.pydeps build/android/gyp/java_cpp_strings.py +../../action_helpers.py ../../gn_helpers.py java_cpp_strings.py util/__init__.py diff --git a/build/android/gyp/jinja_template.py b/build/android/gyp/jinja_template.py index 265f0081a6ff9..4169f19429857 100755 --- a/build/android/gyp/jinja_template.py +++ b/build/android/gyp/jinja_template.py @@ -13,6 +13,7 @@ from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir)) from pylib.constants import host_paths @@ -95,7 +96,7 @@ def _ProcessFiles(processor, input_filenames, inputs_base_dir, outputs_zip): def _ParseVariables(variables_arg, error_func): variables = {} - for v in build_utils.ParseGnList(variables_arg): + for v in action_helpers.parse_gn_list(variables_arg): if '=' not in v: error_func('--variables argument must contain "=": ' + v) name, _, value = v.partition('=') @@ -128,8 +129,8 @@ def main(): help='Enable inputs and includes checks.') options = parser.parse_args() - inputs = build_utils.ParseGnList(options.inputs) - includes = build_utils.ParseGnList(options.includes) + inputs = action_helpers.parse_gn_list(options.inputs) + includes = action_helpers.parse_gn_list(options.includes) if (options.output is None) == (options.outputs_zip is None): parser.error('Exactly one of --output and --output-zip must be given') diff --git a/build/android/gyp/jinja_template.pydeps b/build/android/gyp/jinja_template.pydeps index cf6c62359d9c5..6e99a5583902e 100644 --- a/build/android/gyp/jinja_template.pydeps +++ b/build/android/gyp/jinja_template.pydeps @@ -31,6 +31,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py ../pylib/__init__.py ../pylib/constants/__init__.py diff --git a/build/android/gyp/lint.py b/build/android/gyp/lint.py index 07741a376ae6e..ae26a18085dfc 100755 --- a/build/android/gyp/lint.py +++ b/build/android/gyp/lint.py @@ -17,6 +17,7 @@ from util import build_utils from util import manifest_utils from util import server_utils +import action_helpers # build_utils adds //build to sys.path. _LINT_MD_URL = 'https://chromium.googlesource.com/chromium/src/+/main/build/android/docs/lint.md' # pylint: disable=line-too-long @@ -178,7 +179,7 @@ def _GenerateAndroidManifest(original_manifest_path, extra_manifest_paths, def _WriteXmlFile(root, path): logging.info('Writing xml file %s', path) build_utils.MakeDirectory(os.path.dirname(path)) - with build_utils.AtomicOutput(path) as f: + with action_helpers.atomic_output(path) as f: # Although we can write it just with ElementTree.tostring, using minidom # makes it a lot easier to read as a human (also on code search). f.write( @@ -377,7 +378,7 @@ def _RunLint(create_cache, def _ParseArgs(argv): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--target-name', help='Fully qualified GN target name.') parser.add_argument('--skip-build-server', action='store_true', @@ -450,13 +451,14 @@ def _ParseArgs(argv): 'on new errors.') args = parser.parse_args(build_utils.ExpandFileArgs(argv)) - args.sources = build_utils.ParseGnList(args.sources) - args.aars = build_utils.ParseGnList(args.aars) - args.srcjars = build_utils.ParseGnList(args.srcjars) - args.resource_sources = build_utils.ParseGnList(args.resource_sources) - args.extra_manifest_paths = build_utils.ParseGnList(args.extra_manifest_paths) - args.resource_zips = build_utils.ParseGnList(args.resource_zips) - args.classpath = build_utils.ParseGnList(args.classpath) + args.sources = action_helpers.parse_gn_list(args.sources) + args.aars = action_helpers.parse_gn_list(args.aars) + args.srcjars = action_helpers.parse_gn_list(args.srcjars) + args.resource_sources = action_helpers.parse_gn_list(args.resource_sources) + args.extra_manifest_paths = action_helpers.parse_gn_list( + args.extra_manifest_paths) + args.resource_zips = action_helpers.parse_gn_list(args.resource_zips) + args.classpath = action_helpers.parse_gn_list(args.classpath) if args.baseline: assert os.path.basename(args.baseline) == 'lint-baseline.xml', ( @@ -521,7 +523,7 @@ def main(): build_utils.Touch(args.stamp) if args.depfile: - build_utils.WriteDepfile(args.depfile, args.stamp, depfile_deps) + action_helpers.write_depfile(args.depfile, args.stamp, depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/lint.pydeps b/build/android/gyp/lint.pydeps index 0994e19a4ae86..84bafde4795df 100644 --- a/build/android/gyp/lint.pydeps +++ b/build/android/gyp/lint.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/lint.pydeps build/android/gyp/lint.py +../../action_helpers.py ../../gn_helpers.py lint.py util/__init__.py diff --git a/build/android/gyp/merge_manifest.py b/build/android/gyp/merge_manifest.py index 32c90859265ba..a9c2535ae8515 100755 --- a/build/android/gyp/merge_manifest.py +++ b/build/android/gyp/merge_manifest.py @@ -16,6 +16,7 @@ from util import build_utils from util import manifest_utils +import action_helpers # build_utils adds //build to sys.path. _MANIFEST_MERGER_MAIN_CLASS = 'com.android.manifmerger.Merger' @@ -67,7 +68,7 @@ def _ProcessOtherManifest(manifest_path, target_sdk_version, def main(argv): argv = build_utils.ExpandFileArgs(argv) parser = argparse.ArgumentParser(description=__doc__) - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--manifest-merger-jar', help='Path to SDK\'s manifest merger jar.', required=True) @@ -95,7 +96,7 @@ def main(argv): help='Treat all warnings as errors.') args = parser.parse_args(argv) - with build_utils.AtomicOutput(args.output) as output: + with action_helpers.atomic_output(args.output) as output: cmd = build_utils.JavaCmd() + [ '-cp', args.manifest_merger_jar, @@ -114,7 +115,7 @@ def main(argv): 'MAX_SDK_VERSION=' + args.max_sdk_version, ] - extras = build_utils.ParseGnList(args.extras) + extras = action_helpers.parse_gn_list(args.extras) with contextlib.ExitStack() as stack: root_manifest, package = stack.enter_context( @@ -145,7 +146,7 @@ def main(argv): fail_on_output=args.warnings_as_errors) if args.depfile: - build_utils.WriteDepfile(args.depfile, args.output, inputs=extras) + action_helpers.write_depfile(args.depfile, args.output, inputs=extras) if __name__ == '__main__': diff --git a/build/android/gyp/merge_manifest.pydeps b/build/android/gyp/merge_manifest.pydeps index ef9bb340479c8..003690ff30294 100644 --- a/build/android/gyp/merge_manifest.pydeps +++ b/build/android/gyp/merge_manifest.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/merge_manifest.pydeps build/android/gyp/merge_manifest.py +../../action_helpers.py ../../gn_helpers.py merge_manifest.py util/__init__.py diff --git a/build/android/gyp/optimize_resources.py b/build/android/gyp/optimize_resources.py index 867e80b10ade3..f1be4ccf1a9c3 100755 --- a/build/android/gyp/optimize_resources.py +++ b/build/android/gyp/optimize_resources.py @@ -10,6 +10,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _ParseArgs(args): @@ -49,7 +50,7 @@ def _ParseArgs(args): help='Output for `aapt2 optimize`.') options = parser.parse_args(args) - options.resources_config_paths = build_utils.ParseGnList( + options.resources_config_paths = action_helpers.parse_gn_list( options.resources_config_paths) if options.resources_path_map_out_path and not options.short_resource_paths: diff --git a/build/android/gyp/optimize_resources.pydeps b/build/android/gyp/optimize_resources.pydeps index 57a99b8c7f764..be3e8e7135d46 100644 --- a/build/android/gyp/optimize_resources.pydeps +++ b/build/android/gyp/optimize_resources.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/optimize_resources.pydeps build/android/gyp/optimize_resources.py +../../action_helpers.py ../../gn_helpers.py optimize_resources.py util/__init__.py diff --git a/build/android/gyp/prepare_resources.py b/build/android/gyp/prepare_resources.py index 609064bd0a6fc..d7274bc7ed632 100755 --- a/build/android/gyp/prepare_resources.py +++ b/build/android/gyp/prepare_resources.py @@ -18,6 +18,7 @@ from util import md5_check from util import resources_parser from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. def _ParseArgs(args): @@ -27,7 +28,7 @@ def _ParseArgs(args): An options object as from argparse.ArgumentParser.parse_args() """ parser = argparse.ArgumentParser(description=__doc__) - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--res-sources-path', required=True, diff --git a/build/android/gyp/prepare_resources.pydeps b/build/android/gyp/prepare_resources.pydeps index b6aa0a5e6bdd8..6df5858ba7d09 100644 --- a/build/android/gyp/prepare_resources.pydeps +++ b/build/android/gyp/prepare_resources.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py prepare_resources.py diff --git a/build/android/gyp/process_native_prebuilt.py b/build/android/gyp/process_native_prebuilt.py index 5749eb60e281f..060adae814002 100755 --- a/build/android/gyp/process_native_prebuilt.py +++ b/build/android/gyp/process_native_prebuilt.py @@ -10,6 +10,7 @@ import sys from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def main(args): @@ -23,7 +24,7 @@ def main(args): # eu-strip's output keeps mode from source file which might not be writable # thus it fails to override its output on the next run. AtomicOutput fixes # the issue. - with build_utils.AtomicOutput(options.stripped_output_path) as out: + with action_helpers.atomic_output(options.stripped_output_path) as out: cmd = [ options.strip_path, options.input_path, diff --git a/build/android/gyp/process_native_prebuilt.pydeps b/build/android/gyp/process_native_prebuilt.pydeps index 8e2012acebbf5..baf9eff7a28d6 100644 --- a/build/android/gyp/process_native_prebuilt.pydeps +++ b/build/android/gyp/process_native_prebuilt.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/process_native_prebuilt.pydeps build/android/gyp/process_native_prebuilt.py +../../action_helpers.py ../../gn_helpers.py process_native_prebuilt.py util/__init__.py diff --git a/build/android/gyp/proguard.py b/build/android/gyp/proguard.py index a8ddacf4b80b5..97a5c2b26f18d 100755 --- a/build/android/gyp/proguard.py +++ b/build/android/gyp/proguard.py @@ -16,6 +16,7 @@ import dex from util import build_utils from util import diff_utils +import action_helpers # build_utils adds //build to sys.path. _BLOCKLISTED_EXPECTATION_PATHS = [ # A separate expectation file is created for these files. @@ -28,7 +29,7 @@ def _ParseOptions(): args = build_utils.ExpandFileArgs(sys.argv[1:]) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--r8-path', required=True, help='Path to the R8.jar to use.') @@ -148,10 +149,11 @@ def _ParseOptions(): parser.error('Cannot use both --force-enable-assertions and ' '--assertion-handler') - options.classpath = build_utils.ParseGnList(options.classpath) - options.proguard_configs = build_utils.ParseGnList(options.proguard_configs) - options.input_paths = build_utils.ParseGnList(options.input_paths) - options.extra_mapping_output_paths = build_utils.ParseGnList( + options.classpath = action_helpers.parse_gn_list(options.classpath) + options.proguard_configs = action_helpers.parse_gn_list( + options.proguard_configs) + options.input_paths = action_helpers.parse_gn_list(options.input_paths) + options.extra_mapping_output_paths = action_helpers.parse_gn_list( options.extra_mapping_output_paths) if options.feature_names: @@ -162,7 +164,7 @@ def _ParseOptions(): parser.error('Invalid feature argument lengths.') options.feature_jars = [ - build_utils.ParseGnList(x) for x in options.feature_jars + action_helpers.parse_gn_list(x) for x in options.feature_jars ] split_map = {} @@ -556,7 +558,7 @@ def _MaybeWriteStampAndDepFile(options, inputs): build_utils.Touch(options.stamp) output = options.stamp if options.depfile: - build_utils.WriteDepfile(options.depfile, output, inputs=inputs) + action_helpers.write_depfile(options.depfile, output, inputs=inputs) def _IterParentContexts(context_name, split_contexts_by_name): @@ -630,9 +632,9 @@ def _Run(options): if options.expected_file: diff_utils.CheckExpectations(merged_configs, options) if options.only_verify_expectations: - build_utils.WriteDepfile(options.depfile, - options.actual_file, - inputs=depfile_inputs) + action_helpers.write_depfile(options.depfile, + options.actual_file, + inputs=depfile_inputs) return if options.keep_rules_output_path: diff --git a/build/android/gyp/proguard.pydeps b/build/android/gyp/proguard.pydeps index 3e62f809f33fc..bb9f7cf8d9cc5 100644 --- a/build/android/gyp/proguard.pydeps +++ b/build/android/gyp/proguard.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/proguard.pydeps build/android/gyp/proguard.py +../../action_helpers.py ../../gn_helpers.py ../../print_python_deps.py dex.py diff --git a/build/android/gyp/trace_event_bytecode_rewriter.py b/build/android/gyp/trace_event_bytecode_rewriter.py index ec39e5f8313cb..3e0e696f511b1 100755 --- a/build/android/gyp/trace_event_bytecode_rewriter.py +++ b/build/android/gyp/trace_event_bytecode_rewriter.py @@ -9,12 +9,13 @@ import os from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def main(argv): argv = build_utils.ExpandFileArgs(argv[1:]) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--script', required=True, help='Path to the java binary wrapper script.') @@ -24,9 +25,9 @@ def main(argv): parser.add_argument('--output-jars', action='append', nargs='+') args = parser.parse_args(argv) - args.classpath = build_utils.ParseGnList(args.classpath) - args.input_jars = build_utils.ParseGnList(args.input_jars) - args.output_jars = build_utils.ParseGnList(args.output_jars) + args.classpath = action_helpers.parse_gn_list(args.classpath) + args.input_jars = action_helpers.parse_gn_list(args.input_jars) + args.output_jars = action_helpers.parse_gn_list(args.output_jars) for output_jar in args.output_jars: jar_dir = os.path.dirname(output_jar) @@ -42,7 +43,7 @@ def main(argv): build_utils.Touch(args.stamp) - build_utils.WriteDepfile(args.depfile, args.stamp, inputs=all_input_jars) + action_helpers.write_depfile(args.depfile, args.stamp, inputs=all_input_jars) if __name__ == '__main__': diff --git a/build/android/gyp/trace_event_bytecode_rewriter.pydeps b/build/android/gyp/trace_event_bytecode_rewriter.pydeps index 9f3337d7d8bd2..e03fc0c233a81 100644 --- a/build/android/gyp/trace_event_bytecode_rewriter.pydeps +++ b/build/android/gyp/trace_event_bytecode_rewriter.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/trace_event_bytecode_rewriter.pydeps build/android/gyp/trace_event_bytecode_rewriter.py +../../action_helpers.py ../../gn_helpers.py trace_event_bytecode_rewriter.py util/__init__.py diff --git a/build/android/gyp/turbine.py b/build/android/gyp/turbine.py index ffef9b442243b..41f8505474b2e 100755 --- a/build/android/gyp/turbine.py +++ b/build/android/gyp/turbine.py @@ -11,8 +11,10 @@ import time import zipfile +import compile_java import javac_output_processor from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def ProcessJavacOutput(output, target_name): @@ -25,7 +27,7 @@ def main(argv): build_utils.InitLogging('TURBINE_DEBUG') argv = build_utils.ExpandFileArgs(argv[1:]) parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--target-name', help='Fully qualified GN target name.') parser.add_argument( '--turbine-jar-path', required=True, help='Path to the turbine jar file.') @@ -60,10 +62,10 @@ def main(argv): help='Kotlin jar to be merged into the output jar.') options, unknown_args = parser.parse_known_args(argv) - options.classpath = build_utils.ParseGnList(options.classpath) - options.processorpath = build_utils.ParseGnList(options.processorpath) - options.processors = build_utils.ParseGnList(options.processors) - options.java_srcjars = build_utils.ParseGnList(options.java_srcjars) + options.classpath = action_helpers.parse_gn_list(options.classpath) + options.processorpath = action_helpers.parse_gn_list(options.processorpath) + options.processors = action_helpers.parse_gn_list(options.processors) + options.java_srcjars = action_helpers.parse_gn_list(options.java_srcjars) files = [] for arg in unknown_args: @@ -124,10 +126,9 @@ def main(argv): # Use AtomicOutput so that output timestamps are not updated when outputs # are not changed. - with build_utils.AtomicOutput(options.jar_path) as output_jar, \ - build_utils.AtomicOutput(options.generated_jar_path) as generated_jar: - cmd += ['--output', output_jar.name, '--gensrc_output', generated_jar.name] - + with action_helpers.atomic_output(options.jar_path) as output_jar, \ + action_helpers.atomic_output(options.generated_jar_path) as gensrc_jar: + cmd += ['--output', output_jar.name, '--gensrc_output', gensrc_jar.name] process_javac_output_partial = functools.partial( ProcessJavacOutput, target_name=options.target_name) @@ -151,7 +152,8 @@ def main(argv): # in the depfile. depfile_deps = (options.classpath + options.processorpath + options.java_srcjars) - build_utils.WriteDepfile(options.depfile, options.jar_path, depfile_deps) + action_helpers.write_depfile(options.depfile, options.jar_path, + depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/turbine.pydeps b/build/android/gyp/turbine.pydeps index 8f20e8b78c345..2c0865af93da5 100644 --- a/build/android/gyp/turbine.pydeps +++ b/build/android/gyp/turbine.pydeps @@ -16,11 +16,17 @@ ../../../third_party/colorama/src/colorama/win32.py ../../../third_party/colorama/src/colorama/winterm.py ../../../tools/android/modularization/convenience/lookup_dep.py +../../action_helpers.py ../../gn_helpers.py +../../print_python_deps.py ../list_java_targets.py ../pylib/__init__.py ../pylib/constants/__init__.py +compile_java.py javac_output_processor.py turbine.py util/__init__.py util/build_utils.py +util/jar_info_utils.py +util/md5_check.py +util/server_utils.py diff --git a/build/android/gyp/unused_resources.py b/build/android/gyp/unused_resources.py index 6e49560e019fe..d7578ce709f27 100755 --- a/build/android/gyp/unused_resources.py +++ b/build/android/gyp/unused_resources.py @@ -8,10 +8,9 @@ import os import sys -sys.path.insert( - 0, os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))) from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. def _FilterUnusedResources(r_text_in, r_text_out, unused_resources_config): @@ -37,7 +36,7 @@ def _FilterUnusedResources(r_text_in, r_text_out, unused_resources_config): def main(args): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--script', required=True, help='Path to the unused resources detector script.') @@ -66,7 +65,7 @@ def main(args): help='Path to output the aapt2 config to.') args = build_utils.ExpandFileArgs(args) options = parser.parse_args(args) - options.dependencies_res_zips = (build_utils.ParseGnList( + options.dependencies_res_zips = (action_helpers.parse_gn_list( options.dependencies_res_zips)) # in case of no resources, short circuit early. @@ -108,8 +107,8 @@ def main(args): options.dexes) + [options.r_text_in] if options.proguard_mapping: depfile_deps.append(options.proguard_mapping) - build_utils.WriteDepfile(options.depfile, options.output_config, - depfile_deps) + action_helpers.write_depfile(options.depfile, options.output_config, + depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/unused_resources.pydeps b/build/android/gyp/unused_resources.pydeps index 0154648a5cda7..b4da89a95eb0c 100644 --- a/build/android/gyp/unused_resources.pydeps +++ b/build/android/gyp/unused_resources.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py unused_resources.py util/__init__.py diff --git a/build/android/gyp/util/diff_utils.py b/build/android/gyp/util/diff_utils.py index 0bc811c031184..445bbe3d21be6 100644 --- a/build/android/gyp/util/diff_utils.py +++ b/build/android/gyp/util/diff_utils.py @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import difflib import os import sys -import difflib from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _SkipOmitted(line): @@ -96,7 +97,7 @@ def AddCommandLineFlags(parser): def CheckExpectations(actual_data, options, custom_msg=''): if options.actual_file: - with build_utils.AtomicOutput(options.actual_file) as f: + with action_helpers.atomic_output(options.actual_file) as f: f.write(actual_data.encode('utf8')) if options.expected_file_base: actual_data = _GenerateDiffWithOnlyAdditons(options.expected_file_base, diff --git a/build/android/gyp/util/manifest_utils.py b/build/android/gyp/util/manifest_utils.py index c0b1c2997e220..3202058b616bb 100644 --- a/build/android/gyp/util/manifest_utils.py +++ b/build/android/gyp/util/manifest_utils.py @@ -10,9 +10,10 @@ import shlex import sys import xml.dom.minidom as minidom +from xml.etree import ElementTree from util import build_utils -from xml.etree import ElementTree +import action_helpers # build_utils adds //build to sys.path. ANDROID_NAMESPACE = 'http://schemas.android.com/apk/res/android' TOOLS_NAMESPACE = 'http://schemas.android.com/tools' @@ -81,7 +82,7 @@ def ParseManifest(path): def SaveManifest(doc, path): - with build_utils.AtomicOutput(path) as f: + with action_helpers.atomic_output(path) as f: f.write(ElementTree.tostring(doc.getroot(), encoding='UTF-8')) diff --git a/build/android/gyp/util/md5_check.py b/build/android/gyp/util/md5_check.py index 8423ac30d2841..269ae284076c7 100644 --- a/build/android/gyp/util/md5_check.py +++ b/build/android/gyp/util/md5_check.py @@ -12,8 +12,7 @@ import zipfile from util import build_utils - -sys.path.insert(1, os.path.join(build_utils.DIR_SOURCE_ROOT, 'build')) +import action_helpers # build_utils adds //build to sys.path. import print_python_deps # When set and a difference is detected, a diff of what changed is printed. @@ -66,7 +65,7 @@ def CallAndWriteDepfileIfStale(on_stale_md5, # on bots that build with & without patch, and the patch changes the depfile # location. if hasattr(options, 'depfile') and options.depfile: - build_utils.WriteDepfile(options.depfile, output_paths[0], depfile_deps) + action_helpers.write_depfile(options.depfile, output_paths[0], depfile_deps) def CallAndRecordIfStale(function, diff --git a/build/android/gyp/util/resources_parser.py b/build/android/gyp/util/resources_parser.py index 3ce2f2c54b015..525e13624370d 100644 --- a/build/android/gyp/util/resources_parser.py +++ b/build/android/gyp/util/resources_parser.py @@ -9,6 +9,7 @@ from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. _TextSymbolEntry = collections.namedtuple( 'RTextEntry', ('java_type', 'resource_type', 'name', 'value')) @@ -141,7 +142,7 @@ def _CollectResourcesListFromDirectories(self): def WriteRTxtFile(self, rtxt_path): resources = self._CollectResourcesListFromDirectories() - with build_utils.AtomicOutput(rtxt_path, mode='w') as f: + with action_helpers.atomic_output(rtxt_path, mode='w') as f: for resource in resources: line = '{0.java_type} {0.resource_type} {0.name} {0.value}\n'.format( resource) diff --git a/build/android/gyp/validate_static_library_dex_references.py b/build/android/gyp/validate_static_library_dex_references.py index 20b8c6dab4945..419776e163be2 100755 --- a/build/android/gyp/validate_static_library_dex_references.py +++ b/build/android/gyp/validate_static_library_dex_references.py @@ -12,6 +12,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir)) from pylib.dex import dex_parser from util import build_utils +import action_helpers # build_utils adds //build to sys.path. _FLAGS_PATH = ( '//chrome/android/java/static_library_dex_reference_workarounds.flags') @@ -49,8 +50,7 @@ def _DexFilesFromPath(path): def main(args): args = build_utils.ExpandFileArgs(args) parser = argparse.ArgumentParser() - parser.add_argument( - '--depfile', required=True, help='Path to output depfile.') + action_helpers.add_depfile_arg(parser) parser.add_argument( '--stamp', required=True, help='Path to file to touch upon success.') parser.add_argument( @@ -86,7 +86,7 @@ def main(args): input_paths = [args.static_library_dex] + args.static_library_dependent_dexes build_utils.Touch(args.stamp) - build_utils.WriteDepfile(args.depfile, args.stamp, inputs=input_paths) + action_helpers.write_depfile(args.depfile, args.stamp, inputs=input_paths) if __name__ == '__main__': diff --git a/build/android/gyp/validate_static_library_dex_references.pydeps b/build/android/gyp/validate_static_library_dex_references.pydeps index e57172dbd612f..7fd91c201e4c4 100644 --- a/build/android/gyp/validate_static_library_dex_references.pydeps +++ b/build/android/gyp/validate_static_library_dex_references.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/validate_static_library_dex_references.pydeps build/android/gyp/validate_static_library_dex_references.py +../../action_helpers.py ../../gn_helpers.py ../pylib/__init__.py ../pylib/dex/__init__.py diff --git a/build/android/gyp/write_build_config.py b/build/android/gyp/write_build_config.py index ae557442ad211..e64c62233a0e0 100755 --- a/build/android/gyp/write_build_config.py +++ b/build/android/gyp/write_build_config.py @@ -566,6 +566,7 @@ from util import build_utils from util import resource_utils +import action_helpers # build_utils adds //build to sys.path. # Types that should never be used as a dependency of another build config. @@ -1029,7 +1030,7 @@ def _CopyBuildConfigsForDebugging(debug_dir): def main(argv): parser = optparse.OptionParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_option('--build-config', help='Path to build_config output.') parser.add_option('--store-deps-for-debugging-to', help='Path to copy all transitive build config files to.') @@ -1266,7 +1267,7 @@ def main(argv): return 0 if options.fail: - parser.error('\n'.join(build_utils.ParseGnList(options.fail))) + parser.error('\n'.join(action_helpers.parse_gn_list(options.fail))) lib_options = ['unprocessed_jar_path', 'interface_jar_path'] device_lib_options = ['device_jar_path', 'dex_path'] @@ -1332,17 +1333,18 @@ def main(argv): 'system_java_library', 'android_app_bundle_module') - deps_configs_paths = build_utils.ParseGnList(options.deps_configs) - public_deps_configs_paths = build_utils.ParseGnList( + deps_configs_paths = action_helpers.parse_gn_list(options.deps_configs) + public_deps_configs_paths = action_helpers.parse_gn_list( options.public_deps_configs) deps_configs_paths += public_deps_configs_paths deps = _DepsFromPaths(deps_configs_paths, options.type, recursive_resource_deps=options.recursive_resource_deps) public_deps = _DepsFromPaths(public_deps_configs_paths, options.type) - processor_deps = _DepsFromPaths( - build_utils.ParseGnList(options.annotation_processor_configs or ''), - options.type, filter_root_targets=False) + processor_deps = _DepsFromPaths(action_helpers.parse_gn_list( + options.annotation_processor_configs or ''), + options.type, + filter_root_targets=False) all_inputs = (deps.AllConfigPaths() + processor_deps.AllConfigPaths()) @@ -1442,7 +1444,7 @@ def main(argv): deps_info['merged_android_manifest'] = options.merged_android_manifest if options.bundled_srcjars: - deps_info['bundled_srcjars'] = build_utils.ParseGnList( + deps_info['bundled_srcjars'] = action_helpers.parse_gn_list( options.bundled_srcjars) if options.target_sources_file: @@ -1558,16 +1560,17 @@ def main(argv): all_asset_sources = [] if options.asset_renaming_sources: all_asset_sources.extend( - build_utils.ParseGnList(options.asset_renaming_sources)) + action_helpers.parse_gn_list(options.asset_renaming_sources)) if options.asset_sources: - all_asset_sources.extend(build_utils.ParseGnList(options.asset_sources)) + all_asset_sources.extend( + action_helpers.parse_gn_list(options.asset_sources)) deps_info['assets'] = { 'sources': all_asset_sources } if options.asset_renaming_destinations: - deps_info['assets']['outputs'] = ( - build_utils.ParseGnList(options.asset_renaming_destinations)) + deps_info['assets']['outputs'] = (action_helpers.parse_gn_list( + options.asset_renaming_destinations)) if options.disable_asset_compression: deps_info['assets']['disable_compression'] = True if options.treat_as_locale_paks: @@ -1662,19 +1665,20 @@ def main(argv): config['deps_info']['extra_package_names'] = extra_package_names # These are .jars to add to javac classpath but not to runtime classpath. - extra_classpath_jars = build_utils.ParseGnList(options.extra_classpath_jars) + extra_classpath_jars = action_helpers.parse_gn_list( + options.extra_classpath_jars) if extra_classpath_jars: extra_classpath_jars.sort() deps_info['extra_classpath_jars'] = extra_classpath_jars - mergeable_android_manifests = build_utils.ParseGnList( + mergeable_android_manifests = action_helpers.parse_gn_list( options.mergeable_android_manifests) mergeable_android_manifests.sort() if mergeable_android_manifests: deps_info['mergeable_android_manifests'] = mergeable_android_manifests extra_proguard_classpath_jars = [] - proguard_configs = build_utils.ParseGnList(options.proguard_configs) + proguard_configs = action_helpers.parse_gn_list(options.proguard_configs) if proguard_configs: # Make a copy of |proguard_configs| since it's mutated below. deps_info['proguard_configs'] = list(proguard_configs) @@ -1810,7 +1814,8 @@ def main(argv): deps_info['lint_android_manifest'] = options.android_manifest if options.type == 'android_app_bundle': - module_config_paths = build_utils.ParseGnList(options.module_build_configs) + module_config_paths = action_helpers.parse_gn_list( + options.module_build_configs) module_configs = [GetDepConfig(c) for c in module_config_paths] module_configs_by_name = {d['module_name']: d for d in module_configs} per_module_fields = [ @@ -2071,17 +2076,17 @@ def main(argv): all_inputs.append(options.secondary_abi_shared_libraries_runtime_deps) - native_library_placeholder_paths = build_utils.ParseGnList( + native_library_placeholder_paths = action_helpers.parse_gn_list( options.native_lib_placeholders) native_library_placeholder_paths.sort() - secondary_native_library_placeholder_paths = build_utils.ParseGnList( + secondary_native_library_placeholder_paths = action_helpers.parse_gn_list( options.secondary_native_lib_placeholders) secondary_native_library_placeholder_paths.sort() - loadable_modules = build_utils.ParseGnList(options.loadable_modules) + loadable_modules = action_helpers.parse_gn_list(options.loadable_modules) loadable_modules.sort() - secondary_abi_loadable_modules = build_utils.ParseGnList( + secondary_abi_loadable_modules = action_helpers.parse_gn_list( options.secondary_abi_loadable_modules) secondary_abi_loadable_modules.sort() @@ -2191,8 +2196,8 @@ def ExcludeRecursiveResourcesDeps(config): build_utils.WriteJson(config, options.build_config, only_if_changed=True) if options.depfile: - build_utils.WriteDepfile(options.depfile, options.build_config, - sorted(set(all_inputs))) + action_helpers.write_depfile(options.depfile, options.build_config, + sorted(set(all_inputs))) if options.store_deps_for_debugging_to: GetDepConfig(options.build_config) # Add it to cache. diff --git a/build/android/gyp/write_build_config.pydeps b/build/android/gyp/write_build_config.pydeps index 46b749cef6829..fa7209c2798d4 100644 --- a/build/android/gyp/write_build_config.pydeps +++ b/build/android/gyp/write_build_config.pydeps @@ -22,6 +22,7 @@ ../../../third_party/markupsafe/__init__.py ../../../third_party/markupsafe/_compat.py ../../../third_party/markupsafe/_native.py +../../action_helpers.py ../../gn_helpers.py util/__init__.py util/build_utils.py diff --git a/build/android/gyp/write_native_libraries_java.py b/build/android/gyp/write_native_libraries_java.py index 07f709e93e79c..5d18f37542a4a 100755 --- a/build/android/gyp/write_native_libraries_java.py +++ b/build/android/gyp/write_native_libraries_java.py @@ -12,6 +12,7 @@ import zipfile from util import build_utils +import action_helpers # build_utils adds //build to sys.path. _NATIVE_LIBRARIES_TEMPLATE = """\ @@ -50,7 +51,7 @@ def _FormatLibraryName(library_name): def main(): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--final', action='store_true', help='Use final fields.') parser.add_argument( '--enable-chromium-linker', @@ -104,7 +105,7 @@ def bool_str(value): 'LIBRARIES': ','.join(_FormatLibraryName(n) for n in native_libraries), 'CPU_FAMILY': options.cpu_family, } - with build_utils.AtomicOutput(options.output) as f: + with action_helpers.atomic_output(options.output) as f: with zipfile.ZipFile(f.name, 'w') as srcjar_file: build_utils.AddToZipHermetic( zip_file=srcjar_file, @@ -113,9 +114,9 @@ def bool_str(value): if options.depfile: assert options.native_libraries_list - build_utils.WriteDepfile(options.depfile, - options.output, - inputs=[options.native_libraries_list]) + action_helpers.write_depfile(options.depfile, + options.output, + inputs=[options.native_libraries_list]) if __name__ == '__main__': diff --git a/build/android/gyp/write_native_libraries_java.pydeps b/build/android/gyp/write_native_libraries_java.pydeps index f5176ef78e3f5..c9d0359d44622 100644 --- a/build/android/gyp/write_native_libraries_java.pydeps +++ b/build/android/gyp/write_native_libraries_java.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/write_native_libraries_java.pydeps build/android/gyp/write_native_libraries_java.py +../../action_helpers.py ../../gn_helpers.py util/__init__.py util/build_utils.py diff --git a/build/android/gyp/zip.py b/build/android/gyp/zip.py index fe4743ebd3256..2ff480b18a84c 100755 --- a/build/android/gyp/zip.py +++ b/build/android/gyp/zip.py @@ -12,6 +12,7 @@ import zipfile from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def main(args): @@ -39,14 +40,14 @@ def main(args): metavar='KEY=VALUE', type=lambda x: x.split('=', 1), help='Entry to store in JSON-encoded archive comment.') - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) options = parser.parse_args(args) - with build_utils.AtomicOutput(options.output) as f: + with action_helpers.atomic_output(options.output) as f: with zipfile.ZipFile(f.name, 'w') as out_zip: depfile_deps = None if options.input_files: - files = build_utils.ParseGnList(options.input_files) + files = action_helpers.parse_gn_list(options.input_files) build_utils.DoZip( files, out_zip, @@ -54,11 +55,12 @@ def main(args): compress_fn=lambda _: options.compress) if options.input_zips: - files = build_utils.ParseGnList(options.input_zips) + files = action_helpers.parse_gn_list(options.input_zips) depfile_deps = files path_transform = None if options.input_zips_excluded_globs: - globs = build_utils.ParseGnList(options.input_zips_excluded_globs) + globs = action_helpers.parse_gn_list( + options.input_zips_excluded_globs) path_transform = ( lambda p: None if build_utils.MatchesGlob(p, globs) else p) build_utils.MergeZips( @@ -73,9 +75,9 @@ def main(args): # Depfile used only by dist_jar(). if options.depfile: - build_utils.WriteDepfile(options.depfile, - options.output, - inputs=depfile_deps) + action_helpers.write_depfile(options.depfile, + options.output, + inputs=depfile_deps) if __name__ == '__main__': diff --git a/build/android/gyp/zip.pydeps b/build/android/gyp/zip.pydeps index 36affd1707fbc..0cf1792a41b47 100644 --- a/build/android/gyp/zip.pydeps +++ b/build/android/gyp/zip.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/gyp --output build/android/gyp/zip.pydeps build/android/gyp/zip.py +../../action_helpers.py ../../gn_helpers.py util/__init__.py util/build_utils.py diff --git a/build/android/incremental_install/generate_android_manifest.py b/build/android/incremental_install/generate_android_manifest.py index 38da3dc0bb332..ffa26c20b9247 100755 --- a/build/android/incremental_install/generate_android_manifest.py +++ b/build/android/incremental_install/generate_android_manifest.py @@ -17,6 +17,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.path.pardir, 'gyp')) from util import build_utils from util import manifest_utils +import action_helpers # build_utils adds //build to sys.path. _INCREMENTAL_APP_NAME = 'org.chromium.incrementalinstall.BootstrapApplication' _META_DATA_APP_NAME = 'incremental-install-real-app' @@ -97,7 +98,7 @@ def main(raw_args): new_manifest_data = _ProcessManifest(options.src_manifest, options.disable_isolated_processes) - with build_utils.AtomicOutput(options.dst_manifest) as out_manifest: + with action_helpers.atomic_output(options.dst_manifest) as out_manifest: out_manifest.write(new_manifest_data) diff --git a/build/android/incremental_install/generate_android_manifest.pydeps b/build/android/incremental_install/generate_android_manifest.pydeps index e542e23454f2b..68c832bccb723 100644 --- a/build/android/incremental_install/generate_android_manifest.pydeps +++ b/build/android/incremental_install/generate_android_manifest.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/incremental_install --output build/android/incremental_install/generate_android_manifest.pydeps build/android/incremental_install/generate_android_manifest.py +../../action_helpers.py ../../gn_helpers.py ../gyp/util/__init__.py ../gyp/util/build_utils.py diff --git a/build/android/incremental_install/write_installer_json.py b/build/android/incremental_install/write_installer_json.py index 0723801951c5d..4825a80e1afca 100755 --- a/build/android/incremental_install/write_installer_json.py +++ b/build/android/incremental_install/write_installer_json.py @@ -14,6 +14,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, 'gyp')) from util import build_utils +import action_helpers # build_utils adds //build to sys.path. def _ParseArgs(args): @@ -44,8 +45,8 @@ def _ParseArgs(args): help='Print a warning about proguard being disabled') options = parser.parse_args(args) - options.dex_files = build_utils.ParseGnList(options.dex_files) - options.native_libs = build_utils.ParseGnList(options.native_libs) + options.dex_files = action_helpers.parse_gn_list(options.dex_files) + options.native_libs = action_helpers.parse_gn_list(options.native_libs) return options @@ -60,7 +61,7 @@ def main(args): 'split_globs': options.split_globs, } - with build_utils.AtomicOutput(options.output_path, mode='w+') as f: + with action_helpers.atomic_output(options.output_path, mode='w+') as f: json.dump(data, f, indent=2, sort_keys=True) diff --git a/build/android/incremental_install/write_installer_json.pydeps b/build/android/incremental_install/write_installer_json.pydeps index 11a263f4a82d4..519281fe6fc2d 100644 --- a/build/android/incremental_install/write_installer_json.pydeps +++ b/build/android/incremental_install/write_installer_json.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build/android/incremental_install --output build/android/incremental_install/write_installer_json.pydeps build/android/incremental_install/write_installer_json.py +../../action_helpers.py ../../gn_helpers.py ../gyp/util/__init__.py ../gyp/util/build_utils.py diff --git a/build/android/test_runner.pydeps b/build/android/test_runner.pydeps index c2c535fdf13ca..05971d7a37d41 100644 --- a/build/android/test_runner.pydeps +++ b/build/android/test_runner.pydeps @@ -130,6 +130,7 @@ ../../third_party/markupsafe/__init__.py ../../third_party/markupsafe/_compat.py ../../third_party/markupsafe/_native.py +../action_helpers.py ../gn_helpers.py ../print_python_deps.py ../skia_gold_common/__init__.py diff --git a/build/protoc_java.py b/build/protoc_java.py index 28c42006038a8..dcb1dbe916d3b 100755 --- a/build/protoc_java.py +++ b/build/protoc_java.py @@ -22,6 +22,8 @@ import subprocess import sys +import action_helpers + sys.path.append(os.path.join(os.path.dirname(__file__), 'android', 'gyp')) from util import build_utils @@ -41,7 +43,7 @@ def _EnforceJavaPackage(proto_srcs): def main(argv): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--protoc', required=True, help='Path to protoc binary.') parser.add_argument('--plugin', help='Path to plugin executable') parser.add_argument('--proto-path', @@ -96,7 +98,7 @@ def main(argv): if options.depfile: assert options.srcjar deps = options.protos + [options.protoc] - build_utils.WriteDepfile(options.depfile, options.srcjar, deps) + action_helpers.write_depfile(options.depfile, options.srcjar, deps) if options.stamp: build_utils.Touch(options.stamp) diff --git a/build/protoc_java.pydeps b/build/protoc_java.pydeps index c3ed2be81addd..059abea46b29f 100644 --- a/build/protoc_java.pydeps +++ b/build/protoc_java.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root build --output build/protoc_java.pydeps build/protoc_java.py +action_helpers.py android/gyp/util/__init__.py android/gyp/util/build_utils.py gn_helpers.py diff --git a/chrome/android/features/create_stripped_java_factory.py b/chrome/android/features/create_stripped_java_factory.py index ba971522e477d..8b38c2e1d5826 100755 --- a/chrome/android/features/create_stripped_java_factory.py +++ b/chrome/android/features/create_stripped_java_factory.py @@ -26,10 +26,10 @@ import sys import os -sys.path.append(os.path.join(os.path.dirname(__file__), - os.pardir, os.pardir, os.pardir, - 'build', 'android', 'gyp')) -from util import build_utils +sys.path.append( + os.path.join(os.path.dirname(__file__), '..', '..', '..', 'build')) +import action_helpers + # six is a dependency of javalang sys.path.insert( @@ -226,7 +226,7 @@ def main(args): 'CLASS_NAME': clazz.name, 'METHODS': '\n'.join([' ' + m for m in formatted_public_methods]) } - with build_utils.AtomicOutput(options.output, mode='w') as f: + with action_helpers.atomic_output(options.output, mode='w') as f: f.write(_FILE_TEMPLATE.format(**file_dict)) diff --git a/chrome/android/features/create_stripped_java_factory.pydeps b/chrome/android/features/create_stripped_java_factory.pydeps index 1087bc1401070..58cc401ecd7f9 100644 --- a/chrome/android/features/create_stripped_java_factory.pydeps +++ b/chrome/android/features/create_stripped_java_factory.pydeps @@ -1,7 +1,6 @@ # Generated by running: # build/print_python_deps.py --root chrome/android/features --output chrome/android/features/create_stripped_java_factory.pydeps chrome/android/features/create_stripped_java_factory.py -../../../build/android/gyp/util/__init__.py -../../../build/android/gyp/util/build_utils.py +../../../build/action_helpers.py ../../../build/gn_helpers.py ../../../third_party/javalang/src/javalang/__init__.py ../../../third_party/javalang/src/javalang/ast.py diff --git a/chrome/android/webapk/shell_apk/mustache_pass.py b/chrome/android/webapk/shell_apk/mustache_pass.py index 91f64d49e0918..ec7ae0f311886 100755 --- a/chrome/android/webapk/shell_apk/mustache_pass.py +++ b/chrome/android/webapk/shell_apk/mustache_pass.py @@ -17,56 +17,55 @@ os.pardir, os.pardir) sys.path.insert(1, os.path.join(src_dir, 'third_party')) import chevron -sys.path.insert(1, os.path.join(src_dir, 'build/android/gyp')) -from util import build_utils # pylint: disable=import-error +sys.path.insert(1, os.path.join(src_dir, 'build')) +import action_helpers # pylint: disable=import-error -def _AppendParsedVariables(initial_variable_list, variables_arg, error_func): - variables = initial_variable_list - for v in build_utils.ParseGnList(variables_arg): - if '=' not in v: - error_func('--variables argument must contain "=": ' + v) - name, _, value = v.partition('=') - if value == "false": - value = False - variables[name] = value - return variables +def _AppendParsedVariables(initial_variable_list, extra_variables, error_func): + variables = initial_variable_list + for v in extra_variables: + if '=' not in v: + error_func('--variables argument must contain "=": ' + v) + name, _, value = v.partition('=') + if value == "false": + value = False + variables[name] = value + return variables def main(): - parser = argparse.ArgumentParser() - parser.add_argument('--template', required=True, - help='The template file to process.') - parser.add_argument('--output', required=True, - help='The output file to generate.') - parser.add_argument('--config_file', - help='JSON file with values to put into template.') - parser.add_argument('--delta_config_file', help='JSON file with ' - 'substitutions to |config_file|.') - parser.add_argument('--extra_variables', help='Variables to be made ' - 'available in the template processing environment (in ' - 'addition to those specified in config file), as a GN ' - 'list (e.g. --extra_variables "channel=beta mstone=39")', - default='') - options = parser.parse_args() + parser = argparse.ArgumentParser() + parser.add_argument('--template', required=True, + help='The template file to process.') + parser.add_argument('--output', required=True, + help='The output file to generate.') + parser.add_argument('--config_file', + help='JSON file with values to put into template.') + parser.add_argument('--delta_config_file', help='JSON file with ' + 'substitutions to |config_file|.') + parser.add_argument('--extra_variables', help='Variables to be made ' + 'available in the template processing environment (in ' + 'addition to those in config file), as a GN list.') + options = parser.parse_args() + options.extra_variables = action_helpers.parse_gn_list( + options.extra_variables) - config = {} - if options.config_file: - with open(options.config_file, 'r') as f: - config = json.loads(f.read()) - if options.delta_config_file: - with open(options.delta_config_file, 'r') as f: - config.update(json.loads(f.read())) + config = {} + if options.config_file: + with open(options.config_file, 'r') as f: + config = json.loads(f.read()) + if options.delta_config_file: + with open(options.delta_config_file, 'r') as f: + config.update(json.loads(f.read())) - variables = config - variables = _AppendParsedVariables(variables, options.extra_variables, - parser.error) + variables = _AppendParsedVariables(config, options.extra_variables, + parser.error) - with open(options.template, 'r') as f: - rendered = chevron.render(f, variables) - with open(options.output, 'w') as output_file: - output_file.write(rendered) + with open(options.template) as f: + rendered = chevron.render(f, variables) + with action_helpers.atomic_output(options.output, 'w') as output_file: + output_file.write(rendered) if __name__ == '__main__': - main() + main() diff --git a/components/cronet/tools/generate_javadoc.py b/components/cronet/tools/generate_javadoc.py index 556067c838bf4..3cf426355cc06 100755 --- a/components/cronet/tools/generate_javadoc.py +++ b/components/cronet/tools/generate_javadoc.py @@ -18,6 +18,7 @@ sys.path.insert(0, os.path.join(REPOSITORY_ROOT, 'net/tools/net_docs')) # pylint: disable=wrong-import-position from util import build_utils +import action_helpers # build_utils adds //build to sys.path. import net_docs from markdown.postprocessors import Postprocessor from markdown.extensions import Extension @@ -114,7 +115,7 @@ def stderr_filter(stderr): def main(argv): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--output-dir', help='Directory to put javadoc') parser.add_argument('--input-dir', help='Root of cronet source') parser.add_argument('--input-src-jar', help='Cronet api source jar') @@ -133,11 +134,8 @@ def main(argv): expanded_argv = build_utils.ExpandFileArgs(argv) args, _ = parser.parse_known_args(expanded_argv) - classpath_jars = [] - for single_list in args.classpath_jars: - classpath_jars.extend(build_utils.ParseGnList(single_list)) + args.classpath_jars = action_helpers.parse_gn_list(args.classpath_jars) - args.classpath_jars = classpath_jars args.support_annotations_jars = list( itertools.chain(*args.support_annotations_jars)) # A temporary directory to put the output of cronet api source jar files. @@ -173,7 +171,7 @@ def main(argv): deps.extend(args.support_annotations_jars) if args.classpath_jars: deps.extend(args.classpath_jars) - build_utils.WriteDepfile(args.depfile, args.zip_file, deps) + action_helpers.write_depfile(args.depfile, args.zip_file, deps) # Clean up temporary output directory. build_utils.DeleteDirectory(unzipped_jar_path) diff --git a/components/cronet/tools/generate_javadoc.pydeps b/components/cronet/tools/generate_javadoc.pydeps index 0de5776e54445..6c33f58351320 100644 --- a/components/cronet/tools/generate_javadoc.pydeps +++ b/components/cronet/tools/generate_javadoc.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root components/cronet/tools --output components/cronet/tools/generate_javadoc.pydeps components/cronet/tools/generate_javadoc.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py diff --git a/components/cronet/tools/jar_src.py b/components/cronet/tools/jar_src.py index 04ae52e0606d6..698e43ff3f732 100755 --- a/components/cronet/tools/jar_src.py +++ b/components/cronet/tools/jar_src.py @@ -14,13 +14,14 @@ sys.path.insert(0, os.path.join(REPOSITORY_ROOT, 'build/android/gyp')) from util import build_utils # pylint: disable=wrong-import-position +import action_helpers # build_utils adds //build to sys.path. JAVA_PACKAGE_PREFIX = 'org/chromium/' def main(): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument( '--excluded-classes', help='A list of .class file patterns to exclude from the jar.') @@ -44,25 +45,18 @@ def main(): options = parser.parse_args() - src_jars = [] - for gn_list in options.src_jars: - src_jars.extend(build_utils.ParseGnList(gn_list)) + options.src_jars = action_helpers.parse_gn_list(options.src_jars) + options.src_search_dirs = action_helpers.parse_gn_list( + options.src_search_dirs) + options.src_list_files = action_helpers.parse_gn_list(options.src_list_files) + options.src_files = action_helpers.parse_gn_list(options.src_files) + options.excluded_classes = action_helpers.parse_gn_list( + options.excluded_classes) - src_search_dirs = [] - for gn_src_search_dirs in options.src_search_dirs: - src_search_dirs.extend(build_utils.ParseGnList(gn_src_search_dirs)) - - src_list_files = [] - if options.src_list_files: - for gn_src_list_file in options.src_list_files: - src_list_files.extend(build_utils.ParseGnList(gn_src_list_file)) - - src_files = [] - for gn_src_files in options.src_files: - src_files.extend(build_utils.ParseGnList(gn_src_files)) + src_files = options.src_files # Add files from --source_list_files - for src_list_file in src_list_files: + for src_list_file in options.src_list_files: with open(src_list_file, 'r') as f: src_files.extend(f.read().splitlines()) @@ -73,10 +67,9 @@ def main(): if prefix_position != -1: src_files[i] = s[prefix_position:] - excluded_classes = [] - if options.excluded_classes: - classes = build_utils.ParseGnList(options.excluded_classes) - excluded_classes.extend(f.replace('.class', '.java') for f in classes) + excluded_classes = [ + f.replace('.class', '.java') for f in options.excluded_classes + ] predicate = None if excluded_classes: @@ -86,29 +79,28 @@ def main(): # to source files that it contains. dir_to_files_map = {} # Initialize the map. - for src_search_dir in src_search_dirs: + for src_search_dir in options.src_search_dirs: dir_to_files_map[src_search_dir] = [] # Fill the map. for src_file in src_files: number_of_file_instances = 0 - for src_search_dir in src_search_dirs: + for src_search_dir in options.src_search_dirs: target_path = os.path.join(src_search_dir, src_file) if os.path.isfile(target_path): number_of_file_instances += 1 if not predicate or predicate(src_file): dir_to_files_map[src_search_dir].append(target_path) if (number_of_file_instances > 1): - raise Exception( - 'There is more than one instance of file %s in %s' - % (src_file, src_search_dirs)) + raise Exception('There is more than one instance of file %s in %s' % + (src_file, options.src_search_dirs)) if (number_of_file_instances < 1): - raise Exception( - 'Unable to find file %s in %s' % (src_file, src_search_dirs)) + raise Exception('Unable to find file %s in %s' % + (src_file, options.src_search_dirs)) # Jar the sources from every source search directory. - with build_utils.AtomicOutput(options.jar_path) as o, \ + with action_helpers.atomic_output(options.jar_path) as o, \ zipfile.ZipFile(o, 'w', zipfile.ZIP_DEFLATED) as z: - for src_search_dir in src_search_dirs: + for src_search_dir in options.src_search_dirs: subpaths = dir_to_files_map[src_search_dir] if subpaths: build_utils.DoZip(subpaths, z, base_dir=src_search_dir) @@ -118,15 +110,16 @@ def main(): ' removed from the list of directories to search' % src_search_dir) # Jar additional src jars - if src_jars: - build_utils.MergeZips(z, src_jars, compress=True) + if options.src_jars: + build_utils.MergeZips(z, options.src_jars, compress=True) if options.depfile: deps = [] for sources in dir_to_files_map.values(): deps.extend(sources) # Srcjar deps already captured in GN rules (no need to list them here). - build_utils.WriteDepfile(options.depfile, options.jar_path, deps) + action_helpers.write_depfile(options.depfile, options.jar_path, deps) + if __name__ == '__main__': sys.exit(main()) diff --git a/components/cronet/tools/jar_src.pydeps b/components/cronet/tools/jar_src.pydeps index cab77c0304fc9..8fea0eabf5844 100644 --- a/components/cronet/tools/jar_src.pydeps +++ b/components/cronet/tools/jar_src.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root components/cronet/tools --output components/cronet/tools/jar_src.pydeps components/cronet/tools/jar_src.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py diff --git a/components/module_installer/android/module_desc_java.py b/components/module_installer/android/module_desc_java.py index bd49d82184a1a..b531b84c04221 100755 --- a/components/module_installer/android/module_desc_java.py +++ b/components/module_installer/android/module_desc_java.py @@ -14,6 +14,7 @@ os.path.join( os.path.dirname(__file__), "..", "..", "..", "build", "android", "gyp")) from util import build_utils +import action_helpers # build_utils adds //build to sys.path. _TEMPLATE = """\ // This file is autogenerated by @@ -49,7 +50,7 @@ def main(): parser = argparse.ArgumentParser() - build_utils.AddDepfileOption(parser) + action_helpers.add_depfile_arg(parser) parser.add_argument('--module', required=True, help='The module name.') parser.add_argument('--libraries-file', required=True, @@ -61,10 +62,10 @@ def main(): default=False, help='Load module automatically on calling Module.getImpl().') options = parser.parse_args() - options.paks = build_utils.ParseGnList(options.paks) + options.paks = action_helpers.parse_gn_list(options.paks) with open(options.libraries_file) as f: - libraries_list = build_utils.ParseGnList(f.read()) + libraries_list = action_helpers.parse_gn_list(f.read()) libraries = [] for path in libraries_list: @@ -83,7 +84,7 @@ def main(): 'LOAD_NATIVE_ON_GET_IMPL': ( 'true' if options.load_native_on_get_impl else 'false'), } - with build_utils.AtomicOutput(options.output) as f: + with action_helpers.atomic_output(options.output) as f: with zipfile.ZipFile(f.name, 'w') as srcjar_file: build_utils.AddToZipHermetic( srcjar_file, @@ -92,9 +93,9 @@ def main(): data=_TEMPLATE.format(**format_dict)) if options.depfile: - build_utils.WriteDepfile(options.depfile, - options.output, - inputs=[options.libraries_file]) + action_helpers.write_depfile(options.depfile, + options.output, + inputs=[options.libraries_file]) if __name__ == '__main__': diff --git a/components/module_installer/android/module_desc_java.pydeps b/components/module_installer/android/module_desc_java.pydeps index 3afda05d630ec..a918d25fb613d 100644 --- a/components/module_installer/android/module_desc_java.pydeps +++ b/components/module_installer/android/module_desc_java.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root components/module_installer/android --output components/module_installer/android/module_desc_java.pydeps components/module_installer/android/module_desc_java.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py diff --git a/components/policy/tools/make_policy_zip.py b/components/policy/tools/make_policy_zip.py index c4f59f202310f..7446c162e2a5d 100755 --- a/components/policy/tools/make_policy_zip.py +++ b/components/policy/tools/make_policy_zip.py @@ -13,6 +13,7 @@ os.pardir, os.pardir, os.pardir, 'build', 'android', 'gyp')) from util import build_utils +import action_helpers def main(): @@ -47,7 +48,7 @@ def main(): else: file_list.append(file_to_add) - with build_utils.AtomicOutput(args.output) as f: + with action_helpers.atomic_output(args.output) as f: build_utils.DoZip(file_list, f, args.base_dir, timestamp=args.timestamp) diff --git a/content/public/android/generate_child_service.py b/content/public/android/generate_child_service.py index be46f2be8bc1d..cf42c8132a291 100755 --- a/content/public/android/generate_child_service.py +++ b/content/public/android/generate_child_service.py @@ -14,6 +14,8 @@ sys.path.append(os.path.join(SRC_DIR, 'build', 'android', 'gyp')) from util import build_utils +import action_helpers + def GenerateService(i): template = """// THIS FILE IS GENERATED BY generate_child_service.py @@ -41,7 +43,7 @@ def DoMain(argv): number = int(number) path_template = "org/chromium/content/app/SandboxedProcessService{0}.java" - with build_utils.AtomicOutput(output) as f: + with action_helpers.atomic_output(output) as f: with zipfile.ZipFile(f, 'w', zipfile.ZIP_STORED) as srcjar: for i in range(number): build_utils.AddToZipHermetic(srcjar, diff --git a/content/public/android/generate_child_service.pydeps b/content/public/android/generate_child_service.pydeps index 0d6c910a65081..417f26c64f675 100644 --- a/content/public/android/generate_child_service.pydeps +++ b/content/public/android/generate_child_service.pydeps @@ -1,5 +1,6 @@ # Generated by running: # build/print_python_deps.py --root content/public/android --output content/public/android/generate_child_service.pydeps content/public/android/generate_child_service.py +../../../build/action_helpers.py ../../../build/android/gyp/util/__init__.py ../../../build/android/gyp/util/build_utils.py ../../../build/gn_helpers.py