Merge "Skip adding value lines for accidental matches."
diff --git a/build/sdk.atree b/build/sdk.atree
index 0e04192..271f819 100644
--- a/build/sdk.atree
+++ b/build/sdk.atree
@@ -57,7 +57,6 @@
prebuilts/sdk/sdk-annotations/annotations.zip platform-tools/api/annotations.zip
# systrace
-external/chromium-trace/catapult/catapult_base/ platform-tools/systrace/catapult/catapult_base/
external/chromium-trace/catapult/common/ platform-tools/systrace/catapult/common/
external/chromium-trace/catapult/dependency_manager/ platform-tools/systrace/catapult/dependency_manager/
external/chromium-trace/catapult/devil/ platform-tools/systrace/catapult/devil/
diff --git a/ndk/fixup_version_script.py b/ndk/annotate_version_script.py
similarity index 83%
rename from ndk/fixup_version_script.py
rename to ndk/annotate_version_script.py
index 87f1084..09077ff 100755
--- a/ndk/fixup_version_script.py
+++ b/ndk/annotate_version_script.py
@@ -16,6 +16,7 @@
#
"""Annotates an existing version script with data for the NDK."""
import argparse
+import collections
import json
import logging
import os
@@ -151,11 +152,29 @@
version_script.write(line)
+def create_version_script(version_script, json_db):
+ """Creates a new version script based on an NDK library definition."""
+ json_db = collections.OrderedDict(sorted(json_db.items()))
+
+ version_script.write('LIB {\n')
+ version_script.write(' global:\n')
+ for symbol in json_db.keys():
+ line = annotate_symbol(' {};\n'.format(symbol), json_db)
+ version_script.write(line)
+ version_script.write(' local:\n')
+ version_script.write(' *;\n')
+ version_script.write('};')
+
+
def parse_args():
"""Returns parsed command line arguments."""
parser = argparse.ArgumentParser()
parser.add_argument(
+ '--create', action='store_true',
+ help='Create a new version script instead of annotating.')
+
+ parser.add_argument(
'data_file', metavar='DATA_FILE', type=os.path.realpath,
help='Path to JSON DB generated by build_symbol_db.py.')
@@ -181,11 +200,15 @@
with open(args.data_file) as json_db_file:
json_db = json.load(json_db_file)
- with open(args.version_script, 'r') as version_script:
- file_data = version_script.readlines()
- verify_version_script(file_data, json_db)
- with open(args.version_script, 'w') as version_script:
- annotate_version_script(version_script, json_db, file_data)
+ if args.create:
+ with open(args.version_script, 'w') as version_script:
+ create_version_script(version_script, json_db)
+ else:
+ with open(args.version_script, 'r') as version_script:
+ file_data = version_script.readlines()
+ verify_version_script(file_data, json_db)
+ with open(args.version_script, 'w') as version_script:
+ annotate_version_script(version_script, json_db, file_data)
if __name__ == '__main__':
diff --git a/ndk/pylintrc b/ndk/pylintrc
new file mode 100644
index 0000000..3e44870
--- /dev/null
+++ b/ndk/pylintrc
@@ -0,0 +1,5 @@
+[MESSAGES CONTROL]
+disable=fixme,design,locally-disabled,too-many-lines
+
+[VARIABLES]
+dummy-variables-rgx=_|dummy