Ignore comment lines in hidden api lists

It is sometimes useful to add comments at the top of a source file. This
patch changes hidden API list generation to ignore lines beginning with
a hash.

Note that due to the sorting constraints on hidden API lists, comments
can be only at the top of the files.

Test: m appcompat
Change-Id: I1bc6fd44d1b1f10a5adc45093d7f7ed5a0c5a54f
This commit is contained in:
David Brazdil
2018-09-06 14:46:55 +01:00
parent 081a589ad9
commit ae88d4e21e
3 changed files with 13 additions and 1 deletions

View File

@@ -1,3 +1,7 @@
#
# DO NOT EDIT!
# This is an autogenerated file containing the dark greylist as present in P.
#
Landroid/accessibilityservice/AccessibilityButtonController;-><init>(Landroid/accessibilityservice/IAccessibilityServiceConnection;)V
Landroid/accessibilityservice/AccessibilityButtonController;->dispatchAccessibilityButtonAvailabilityChanged(Z)V
Landroid/accessibilityservice/AccessibilityButtonController;->dispatchAccessibilityButtonClicked()V

View File

@@ -62,6 +62,8 @@ def get_args():
def read_lines(filename):
"""Reads entire file and return it as a list of lines.
Lines which begin with a hash are ignored.
Args:
filename (string): Path to the file to read from.
@@ -69,7 +71,7 @@ def read_lines(filename):
list: Lines of the loaded file as a list of strings.
"""
with open(filename, 'r') as f:
return f.readlines()
return filter(lambda line: not line.startswith('#'), f.readlines())
def write_lines(filename, lines):
"""Writes list of lines into a file, overwriting the file it it exists.

View File

@@ -11,8 +11,14 @@ fi
readarray A < "$source_list"
# Sort
IFS=$'\n'
# Stash away comments
C=( $(grep -E '^#' <<< "${A[*]}") )
A=( $(grep -v -E '^#' <<< "${A[*]}") )
# Sort entries
A=( $(LC_COLLATE=C sort -f <<< "${A[*]}") )
A=( $(uniq <<< "${A[*]}") )
# Concatenate comments and entries
A=( ${C[*]} ${A[*]} )
unset IFS
# Dump array back into the file
printf '%s\n' "${A[@]}" > "$dest_list"