diff --git a/tools_webrtc/autoroller/roll_deps.py b/tools_webrtc/autoroller/roll_deps.py index 66e5977853..11e1fb8cff 100755 --- a/tools_webrtc/autoroller/roll_deps.py +++ b/tools_webrtc/autoroller/roll_deps.py @@ -234,18 +234,13 @@ def BuildDepsentryDict(deps_dict): return result -def _RemoveStringPrefix(string, substring): - assert string.startswith(substring) - return string[len(substring):] - - def _FindChangedCipdPackages(path, old_pkgs, new_pkgs): assert ({p['package'] for p in old_pkgs} == {p['package'] for p in new_pkgs}) for old_pkg in old_pkgs: for new_pkg in new_pkgs: - old_version = _RemoveStringPrefix(old_pkg['version'], 'version:') - new_version = _RemoveStringPrefix(new_pkg['version'], 'version:') + old_version = old_pkg['version'] + new_version = new_pkg['version'] if (old_pkg['package'] == new_pkg['package'] and old_version != new_version): logging.debug('Roll dependency %s to %s', path, new_version) @@ -289,10 +284,14 @@ def CalculateChangedDeps(webrtc_deps, new_cr_deps): 'WebRTC DEPS entry %s has a different URL (%s) than Chromium (%s).' % (path, webrtc_deps_entry.url, cr_deps_entry.url)) else: - # Use the HEAD of the deps repo. - stdout, _ = _RunCommand(['git', 'ls-remote', webrtc_deps_entry.url, - 'HEAD']) - new_rev = stdout.strip().split('\t')[0] + if isinstance(webrtc_deps_entry, DepsEntry): + # Use the HEAD of the deps repo. + stdout, _ = _RunCommand(['git', 'ls-remote', webrtc_deps_entry.url, + 'HEAD']) + new_rev = stdout.strip().split('\t')[0] + else: + raise RollError('WebRTC DEPS entry %s is missing from Chromium. Remove ' + 'it or add it to DONT_AUTOROLL_THESE.' % path) # Check if an update is necessary. if webrtc_deps_entry.revision != new_rev: @@ -395,7 +394,8 @@ def UpdateDepsFile(deps_filename, rev_update, changed_deps): 'target_os = ["android", "unix", "mac", "ios", "win"];\n' 'Then run "gclient sync" again.' % local_dep_dir) if isinstance(dep, ChangedCipdPackage): - update = '%s:%s@%s' % (dep.path, dep.package, dep.new_version) + package = dep.package.format() # Eliminate double curly brackets + update = '%s:%s@%s' % (dep.path, package, dep.new_version) else: update = '%s@%s' % (dep.path, dep.new_rev) _RunCommand(['gclient', 'setdep', '--revision', update], diff --git a/tools_webrtc/autoroller/unittests/roll_deps_test.py b/tools_webrtc/autoroller/unittests/roll_deps_test.py index c8d22f2e72..2c19198aae 100755 --- a/tools_webrtc/autoroller/unittests/roll_deps_test.py +++ b/tools_webrtc/autoroller/unittests/roll_deps_test.py @@ -144,8 +144,8 @@ class TestRollChromiumRevision(unittest.TestCase): self.assertEquals(changed_deps[2].path, 'src/third_party/xstream') self.assertEquals(changed_deps[2].package, 'chromium/third_party/xstream') - self.assertEquals(changed_deps[2].current_version, '1.4.8-cr0') - self.assertEquals(changed_deps[2].new_version, '1.10.0-cr0') + self.assertEquals(changed_deps[2].current_version, 'version:1.4.8-cr0') + self.assertEquals(changed_deps[2].new_version, 'version:1.10.0-cr0') class TestChooseCQMode(unittest.TestCase):