Remove obsolete public buildspec conversion module.
This was only used in backfill_git_tags.py, which was removed in
https://chromereviews.googleplex.com/212817013.
BUG=455404
R=agable@chromium.org, laforge@chromium.org
Review URL: https://codereview.chromium.org/1185003002.
git-svn-id: http://src.chromium.org/svn/trunk/tools/deps2git@295695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/buildspec_to_git.py b/buildspec_to_git.py
deleted file mode 100644
index dd4bf31..0000000
--- a/buildspec_to_git.py
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 2014 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.
-
-"""Public buildspec to GIT mapping."""
-
-import re
-from deps2git import SplitScmUrl
-
-GIT_HOST = 'https://chromium.googlesource.com/'
-webkit_git = GIT_HOST + 'chromium/blink.git'
-
-# Remove the ffmpeg overrides, since the buildspec DEPS have stripped out these
-# (and other) vars that they don't use, and without them in the DEPS, deps2git
-# complains about missing vars.
-DEPS_OVERRIDES = {
- 'src/third_party/ffmpeg': None
-}
-
-
-# pylint: disable=W0613
-def CleanDeps(deps, deps_os, include_rules, skip_child_includes, hooks):
- global webkit_git
- webkit_rev = None
- for os, deps_section in ([(None, deps)] +
- [(os, deps_os[os]) for os in deps_os]):
- del_deps = []
- add_deps = {}
- for dep, dep_url in deps_section.iteritems():
- # Skip 'None' exclusion entries.
- if not dep_url:
- continue
-
- url, rev = SplitScmUrl(dep_url)
-
- # Some m27 DEPS have blink entries that are just paths. Prepend the host
- # info so the rest of the processing can proceed as normal.
- m = re.match('/branches/chromium/[^/]+/'
- '(LayoutTests|Source|Tools)(/.*)?$', url)
- if m:
- dep_url = 'https://src.chromium.org/blink' + dep_url
- deps_section[dep] = dep_url
- url, rev = SplitScmUrl(dep_url)
-
- # During m29 (and maybe earlier), there was some fetching (and branching)
- # of just blink LayoutTests, rather than the whole repo, with entries to
- # checkout a bunch of individual sub-paths to
- # 'src/content/test/data/layout_tests/*'.
- # Consolidate all of those deps into a single, top-level 'layout_tests'
- # entry so the whole blink repo can be checkout out there (putting
- # LayoutTests in the expected 'layout_tests/LayoutTests/' path).
- m = re.match('^https?://src.chromium.org/blink/'
- '(trunk|branches/chromium/[^/]+)/LayoutTests(/.*)?', url)
- if m:
- if not add_deps.get('src/content/test/data/layout_tests'):
- add_deps['src/content/test/data/layout_tests'] = dep_url
- del_deps.append(dep)
- continue
-
- # Ignore webkit sub-path entries since git checks out all in one repo,
- is_webkit = False
- if url.startswith('/trunk/deps/third_party/WebKit/'):
- is_webkit = True
- else:
- m = re.match('https?://(svn.webkit.org/repository/webkit|'
- 'src.chromium.org/blink)'
- '/(trunk|branches/chromium/[^/]+)/', url)
- if m:
- # Don't remove 'ios' sub-path entries, which are set explicitly to
- # just pull the headers or something. Unfortunately, the sub-path
- # repos don't mirror the branches, so if the dep is for a branch, even
- # 'ios' will have to pull the full WebKit.
- if os == 'ios' and m.group(2) == 'trunk':
- continue
- is_webkit = True
- # If svn DEPS refers to the webkit.org repo, rather than blink, use
- # the old mirror of that repo instead of blink.git.
- if 'svn.webkit.org' in m.group(1):
- webkit_git = GIT_HOST + 'external/WebKit_trimmed.git'
- if is_webkit:
- if not webkit_rev:
- webkit_rev = rev
- else:
- # All the sub-path repos should be pinned to the same revision. If
- # they're not, then not sure how to decide what revision to use for
- # the umbrella git repo.
- if rev != webkit_rev:
- raise Exception('WebKit entry revision mismatch: %s != %s' %
- (rev, webkit_rev))
- del_deps.append(dep)
- continue
-
- # Some older DEPS have a split selenium py/test|selenium checkout but the
- # git selenium py repo encompasses both, so delete everything except the
- # base checkout to python/selenium.
- if dep.startswith('src/third_party/webdriver/python/selenium/'):
- del_deps.append(dep)
- continue
-
- # Ugh. For a while during m29, there was an entry with an incomplete URL
- # and incorrect path. How this worked even once, let alone through
- # multiple releases, is a mystery.
- if url.startswith('sctp-refimpl'):
- dep_url = 'https://' + dep_url.replace('/snv/', '/svn/')
- deps_section[dep] = dep_url
- continue
-
- for dep in del_deps:
- del deps_section[dep]
- deps_section.update(add_deps)
-
- # Make sure the top-level webkit entry that's left refers to the common
- # revision from the sub-path entries, and not to the revision of the
- # top-level "placeholder" repository. webkit_rev won't be set for recent
- # DEPS, since they use the blink repo and have no webkit sub-path entries.
- if webkit_rev:
- dep_url = deps['src/third_party/WebKit']
- url, rev = SplitScmUrl(dep_url)
- deps['src/third_party/WebKit'] = '%s@%s' % (url, webkit_rev)
-
-def SvnUrlToGitUrl(path, svn_url):
- """Convert a chromium SVN URL to a chromium Git URL."""
-
- match = re.match(
- '(https?://src.chromium.org/svn|svn://svn.chromium.org/chrome)(/.*)',
- svn_url)
- if match:
- svn_url = match.group(2)
-
- # Handle the main 'src' repo which only appears in buildspecs.
- match = re.match('/(branches/(?P<branch>[^/]+)|trunk)/src$', svn_url)
- if match:
- if match.groupdict().get('branch'):
- return (path, GIT_HOST + 'chromium/src.git', GIT_HOST,
- match.groupdict().get('branch'))
- else:
- return (path, GIT_HOST + 'chromium/src.git', GIT_HOST)
-
- # libvpx branches in the chrome branches area.
- match = re.match('/branches/libvpx/(?P<branch>[^/]+)', svn_url)
- if match:
- return (path, GIT_HOST + 'chromium/deps/libvpx.git', GIT_HOST,
- match.group('branch'))
-
- # New location of libvpx branches.
- match = re.match('/branches/(?P<branch>[^/]+)/deps/third_party/libvpx',
- svn_url)
- if match:
- return (path, GIT_HOST + 'chromium/deps/libvpx.git', GIT_HOST,
- match.group('branch'))
-
- # Since the ffmpeg overrides are gone, we can't use the upstream git repo
- # (which is what those overrides referenced), so use the mirror of the svn
- # repo.
- if svn_url == '/trunk/deps/third_party/ffmpeg':
- return (path, GIT_HOST + 'chromium/deps/ffmpeg.git', GIT_HOST)
-
- match = re.match('/branches/ffmpeg/(?P<branch>[^/]+)', svn_url)
- if match:
- return (path, GIT_HOST + 'chromium/deps/ffmpeg.git', GIT_HOST,
- match.group('branch'))
-
- # openssl branches
- match = re.match('/branches/third_party/openssl/(?P<branch>[^/]+)', svn_url)
- if match:
- return (path, GIT_HOST + 'chromium/deps/openssl.git', GIT_HOST,
- match.group('branch'))
-
- # The webrtc repo used to be mirrored into multiple stable/trunk repos,
- # but branches were mirrored to both, so either would work here.
- match = re.match('^https?://webrtc.googlecode.com/svn/branches/([^/]+)/(.*)',
- svn_url)
- if match:
- branch = match.group(1)
- if match.group(2) == 'src':
- repo = 'webrtc/src.git'
- else:
- repo = 'webrtc/trunk/%s.git' % match.group(2)
- return (path, GIT_HOST + 'external/%s' % repo, GIT_HOST, branch)
-
- # Skia also split into multiple repos, and has unusual chrome-specific branch
- # naming.
- # https://chromium.googlesource.com/external/skia/m25_1364/src.git
- match = re.match('^https?://skia.googlecode.com/svn/branches/'
- 'chrome/([^/]+)/(?:trunk/)?(.*)', svn_url)
- if match:
- branch = match.group(1)
- repo = 'skia/%s.git' % match.group(2)
- return (path, GIT_HOST + 'external/%s' % repo, GIT_HOST, 'chrome/' + branch)
-
- # Make the top-level webkit entry checkout the full webkit git repository,
- # which replaces all the (non-iOS) sub-path entries.
- if svn_url == '/trunk/deps/third_party/WebKit':
- return (path, webkit_git, GIT_HOST)
-
- # Make the top-level python/selenium entry checkout the full selenium/py git
- # repository, which replaces all the sub-path entries.
- if svn_url == 'http://selenium.googlecode.com/svn/trunk/py/selenium':
- return (path, GIT_HOST + 'external/selenium/py.git', GIT_HOST)
-
- # Projects that are subdirectories of the native_client repository.
- match = re.match('^https?://src.chromium.org/native_client/branches/'
- '(?P<branch>[^/]+)/(?P<path>.*)',
- svn_url)
- if match:
- if match.group('path'):
- repo = '%s.git' % match.group('path')
- else:
- repo = 'src/native_client.git'
- return (path, GIT_HOST + 'native_client/%s' % repo, GIT_HOST,
- match.group('branch'))
-
- # blink LayoutTests.
- match = re.match('^https?://src.chromium.org/blink/'
- '(trunk|branches/(?P<branch>chromium/[^/]+))/'
- 'LayoutTests(/.*)?',
- svn_url)
- if match:
- repo = GIT_HOST + 'chromium/blink.git'
- if match.group('branch'):
- return (path, repo, GIT_HOST, match.group('branch'))
- else:
- return (path, repo, GIT_HOST)
-
- # blink branches.
- match = re.match('^https?://src.chromium.org/blink/branches/'
- '(?P<branch>chromium/[^/]+)(?P<path>/public)?/?$',
- svn_url)
- if match:
- # ios has a special headers-only repo
- if match.group('path'):
- repo = GIT_HOST + 'chromium/blink-public.git'
- else:
- repo = GIT_HOST + 'chromium/blink.git'
- return (path, repo, GIT_HOST, match.group('branch'))
-
- # reference builds
- # TODO(mmoss): This is no longer appropriate for current buildspecs, where
- # each platform has its own repo, as defined in git_updater. Not sure if
- # there's a way to detect and handle the current and the old repo configs at
- # the same time. Turning off for now, since we care more about current
- # configs.
- #if svn_url.startswith('/trunk/deps/reference_builds/chrome'):
- # return (path, GIT_HOST + 'chromium/reference_builds/chrome.git',
- # GIT_HOST)