| Index: build/android/gyp/jar.py
|
| diff --git a/build/android/gyp/jar.py b/build/android/gyp/jar.py
|
| index 2ebec67ea1f35a63114d32b63174d108387cd1b2..438f4bb03813dcb11b6849786ab952f65edddabc 100755
|
| --- a/build/android/gyp/jar.py
|
| +++ b/build/android/gyp/jar.py
|
| @@ -21,7 +21,7 @@ _RESOURCE_CLASSES = [
|
|
|
|
|
| def Jar(class_files, classes_dir, jar_path, manifest_file=None,
|
| - provider_configurations=None):
|
| + provider_configurations=None, additional_files=None):
|
| jar_path = os.path.abspath(jar_path)
|
|
|
| # The paths of the files in the jar will be the same as they are passed in to
|
| @@ -35,6 +35,14 @@ def Jar(class_files, classes_dir, jar_path, manifest_file=None,
|
| jar_cmd.append(os.path.abspath(manifest_file))
|
| jar_cmd.extend(class_files_rel)
|
|
|
| + for filepath, jar_filepath in additional_files or []:
|
| + full_jar_filepath = os.path.join(jar_cwd, jar_filepath)
|
| + jar_dir = os.path.dirname(full_jar_filepath)
|
| + if not os.path.exists(jar_dir):
|
| + os.makedirs(jar_dir)
|
| + shutil.copy(filepath, full_jar_filepath)
|
| + jar_cmd.append(jar_filepath)
|
| +
|
| if provider_configurations:
|
| service_dir = os.path.join(jar_cwd, 'META-INF', 'services')
|
| if not os.path.exists(service_dir):
|
| @@ -53,13 +61,14 @@ def Jar(class_files, classes_dir, jar_path, manifest_file=None,
|
|
|
|
|
| def JarDirectory(classes_dir, jar_path, manifest_file=None, predicate=None,
|
| - provider_configurations=None):
|
| + provider_configurations=None, additional_files=None):
|
| class_files = build_utils.FindInDirectory(classes_dir, '*.class')
|
| if predicate:
|
| class_files = [f for f in class_files if predicate(f)]
|
|
|
| Jar(class_files, classes_dir, jar_path, manifest_file=manifest_file,
|
| - provider_configurations=provider_configurations)
|
| + provider_configurations=provider_configurations,
|
| + additional_files=additional_files)
|
|
|
|
|
| def main():
|
|
|