[Updater] Send email when a new version is found
Bug: 109748616
Test: ./updater.sh check kotlinc googletest --json_output=/tmp/res.json
Test: out/soong/host/linux-x86/bin/external_updater_notifier \
--result_file=/tmp/res.json \
--history ~/updater/history \
[email protected]
Change-Id: I27a4c1c2604d38106a08ce3eee1bcd03fdce80d7
diff --git a/github_archive_updater.py b/github_archive_updater.py
index bcb4bd5..f177b54 100644
--- a/github_archive_updater.py
+++ b/github_archive_updater.py
@@ -92,7 +92,7 @@
except IndexError:
raise ValueError('Url format is not supported.')
- def _get_latest_version(self):
+ def _fetch_latest_version(self):
"""Checks upstream and gets the latest release tag."""
url = 'https://api.github.com/repos/{}/{}/releases/latest'.format(
@@ -115,7 +115,7 @@
self.new_url = choose_best_url(supported_assets, self.old_url.value)
- def _get_latest_commit(self):
+ def _fetch_latest_commit(self):
"""Checks upstream and gets the latest commit to master."""
url = 'https://api.github.com/repos/{}/{}/commits/master'.format(
@@ -126,10 +126,14 @@
self.new_url = 'https://github.com/{}/{}/archive/{}.zip'.format(
self.owner, self.repo, self.new_version)
- def _get_current_version(self):
+ def get_current_version(self):
"""Returns the latest version name recorded in METADATA."""
return self.metadata.third_party.version
+ def get_latest_version(self):
+ """Returns the latest version name in upstream."""
+ return self.new_version
+
def _write_metadata(self, url, path):
updated_metadata = metadata_pb2.MetaData()
updated_metadata.CopyFrom(self.metadata)
@@ -144,14 +148,13 @@
Returns True if a new version is available.
"""
- current = self._get_current_version()
+ current = self.get_current_version()
if git_utils.is_commit(current):
- self._get_latest_commit()
+ self._fetch_latest_commit()
else:
- self._get_latest_version()
+ self._fetch_latest_version()
print('Current version: {}. Latest version: {}'.format(
current, self.new_version), end='')
- return current != self.new_version
def update(self):
"""Updates the package.