Index: mojo/tools/roll/roll_network_service.py |
diff --git a/mojo/tools/roll/roll_network_service.py b/mojo/tools/roll/roll_network_service.py |
deleted file mode 100755 |
index 03a52ced626ddbeb269df9fac5baee25c9a13fe6..0000000000000000000000000000000000000000 |
--- a/mojo/tools/roll/roll_network_service.py |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright 2015 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Tool to update the version of the (binary) network service used (prebuilt |
-from the Chromium tree). See: |
-https://github.com/domokit/mojo/wiki/Rolling-code-between-chromium-and-mojo#rolling-the-network-service |
-""" |
- |
-import argparse |
-import os |
-import re |
-import subprocess |
-import sys |
-import tempfile |
-import urllib2 |
-import zipfile |
- |
-from update_from_chromium import chromium_rev_number |
-from utils import commit |
-from utils import mojo_root_dir |
-from utils import system |
- |
-import patch |
- |
-sys.path.insert(0, os.path.join(mojo_root_dir, "mojo/public/tools/pylib")) |
-# pylint: disable=F0401 |
-import gs |
- |
-def roll(target_version, custom_build): |
- find_depot_tools_path = os.path.join(mojo_root_dir, "tools") |
- sys.path.insert(0, find_depot_tools_path) |
- # pylint: disable=F0401 |
- import find_depot_tools |
- depot_tools_path = find_depot_tools.add_depot_tools_to_path() |
- |
- if custom_build: |
- match = re.search( |
- "^custom_build_base_([^_]+)_issue_([0-9]+)_patchset_([0-9]+)$", |
- target_version) |
- if not match: |
- print "Failed to parse the version name." |
- return 1 |
- chromium_commit_hash = match.group(1) |
- rietveld_issue = match.group(2) |
- rietveld_patchset = match.group(3) |
- else: |
- chromium_commit_hash = target_version |
- |
- try: |
- chromium_rev = chromium_rev_number(chromium_commit_hash) |
- except urllib2.HTTPError: |
- print ("Failed to identify a Chromium revision associated with %s. " |
- "Ensure that it is a Chromium origin/master " |
- "commit.") % (chromium_commit_hash) |
- return 1 |
- |
- mojoms_gs_path = "gs://mojo/network_service/%s/mojoms.zip" % (target_version,) |
- network_service_path = os.path.join( |
- mojo_root_dir, "mojo", "services", "network") |
- mojoms_path = os.path.join(network_service_path, "public", "interfaces") |
- mojo_public_tools_path = os.path.join( |
- mojo_root_dir, "mojo", "public", "tools") |
- version_path = os.path.join(mojo_public_tools_path, "NETWORK_SERVICE_VERSION") |
- |
- try: |
- with tempfile.NamedTemporaryFile() as temp_zip_file: |
- gs.download_from_public_bucket(mojoms_gs_path, temp_zip_file.name, |
- depot_tools_path) |
- |
- try: |
- system(["git", "rm", "-r", mojoms_path], cwd=mojo_root_dir) |
- except subprocess.CalledProcessError: |
- print ("Could not remove %s. " |
- "Ensure your local tree is in a clean state." % mojoms_path) |
- return 1 |
- |
- with zipfile.ZipFile(temp_zip_file.name) as z: |
- z.extractall(mojoms_path) |
- # pylint: disable=C0302,bare-except |
- except: |
- print ("Failed to download the mojom files associated with %s. Ensure that " |
- "the corresponding network service artifacts were uploaded to " |
- "Google Storage.") % (target_version) |
- return 1 |
- |
- with open(version_path, 'w') as stamp_file: |
- stamp_file.write(target_version) |
- |
- system(["git", "add", "public"], cwd=network_service_path) |
- system(["git", "add", "NETWORK_SERVICE_VERSION"], cwd=mojo_public_tools_path) |
- |
- if custom_build: |
- commit_message = ("Roll the network service to a custom build created from " |
- "https://crrev.com/%s/#ps%s") % (rietveld_issue, |
- rietveld_patchset) |
- else: |
- commit_message = ("Roll the network service to " |
- "https://crrev.com/%s") % chromium_rev |
- commit(commit_message, cwd=mojo_root_dir) |
- return 0 |
- |
-def main(): |
- parser = argparse.ArgumentParser( |
- description="Update the pinned version of the network service " + |
- "and the corresponding checked out mojoms.") |
- parser.add_argument( |
- "--custom-build", action="store_true", |
- help="Indicates that this is a build with change that is not committed. " |
- "The change must be uploaded to Rietveld.") |
- parser.add_argument( |
- "version", |
- help="Version to roll to. If --custom-build is not specified, this " |
- "should be a Chromium origin/master commit; otherwise, this should " |
- "be in the format of custom_build_base_<base_commit>_" |
- "issue_<rietveld_issue>_patchset_<rietveld_patchset>.") |
- args = parser.parse_args() |
- |
- roll(args.version, args.custom_build) |
- |
- try: |
- patch.patch("network_service_patches") |
- except subprocess.CalledProcessError: |
- print "ERROR: Roll failed due to a patch not applying" |
- print "Fix the patch to apply, commit the result, and re-run this script" |
- return 1 |
- |
- return 0 |
- |
-if __name__ == "__main__": |
- sys.exit(main()) |