Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4039)

Unified Diff: build/android/play_services/utils.py

Issue 1469913002: Cleanup gms update/preprocess scripts, roll android_tools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/play_services/update_test.py ('k') | build/android/preprocess_google_play_services.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/play_services/utils.py
diff --git a/build/android/play_services/utils.py b/build/android/play_services/utils.py
index 70b7fff698db087e2fcd86a81ffd587a42fb0998..0e6d5a8e01c2e7e7aaf2ca1c302ca4940db77e99 100644
--- a/build/android/play_services/utils.py
+++ b/build/android/play_services/utils.py
@@ -43,27 +43,75 @@ class ConfigParser(object):
Number. Mirrors @integer/google_play_services_version from the library.
Example: 815000
+ - sdk_version
+ Version of the Play Services SDK to retrieve, when preprocessing the
+ library from a maven/gradle repository.
+ Example: "8.1.0"
+
+ - clients
+ List of strings. Name of the clients (or play services modules) to
+ include when preprocessing the library.
+ Example: ["play-services-base", "play-services-cast"]
+
+ - version_xml_path
+ String. Path to the version.xml string describing the current version.
+ Should be relative to the library base directory
+ Example: "res/values/version.xml"
+
+ - locale_whitelist
+ List of strings. List of locales to keep from the resources. Can be
+ obtained by generating an android build and looking at the content of
+ `out/Debug/gen/chrome/java/res`; or looking at the android section in
+ `//chrome/app/generated_resources.grd`
+ Example: ["am", "ar", "bg", "ca", "cs"]
+
'''
_VERSION_NUMBER_KEY = 'version_number'
def __init__(self, path):
self.path = path
- self.data = {}
+ self._data = {}
with open(path, 'r') as stream:
- self.data = json.load(stream)
+ self._data = json.load(stream)
@property
def version_number(self):
- return self.data[self._VERSION_NUMBER_KEY]
+ return self._data.get(self._VERSION_NUMBER_KEY)
+
+ @property
+ def sdk_version(self):
+ return self._data.get('sdk_version')
+
+ @property
+ def clients(self):
+ return self._data.get('clients') or []
+
+ @property
+ def version_xml_path(self):
+ return self._data.get('version_xml_path')
+
+ @property
+ def locale_whitelist(self):
+ return self._data.get('locale_whitelist') or []
def UpdateVersionNumber(self, new_version_number):
'''Updates the version number and saves it in the configuration file. '''
with open(self.path, 'w') as stream:
- self.data[self._VERSION_NUMBER_KEY] = new_version_number
- json.dump(self.data, stream, sort_keys=True, indent=2)
- stream.write(os.linesep)
+ self._data[self._VERSION_NUMBER_KEY] = new_version_number
+ stream.write(DumpTrimmedJson(self._data))
+
+
+def DumpTrimmedJson(json_data):
+ '''
+ Default formatting when dumping json to string has trailing spaces and lacks
+ a new line at the end. This function fixes that.
+ '''
+
+ out = json.dumps(json_data, sort_keys=True, indent=2)
+ out = out.replace(' ' + os.linesep, os.linesep)
+ return out + os.linesep
def FileEquals(expected_file, actual_file):
« no previous file with comments | « build/android/play_services/update_test.py ('k') | build/android/preprocess_google_play_services.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698