Revert "Revert "Revert "Revert "Attampt1. This change should be a case for normal commit.""""
This reverts commit 41cc0ece3dcf8749a10a1618d9a8cb4b6bd4e8ec.
Reason for revert:
test revert 691433
Original change's description:
> Revert "Revert "Revert "Attampt1. This change should be a case for normal commit."""
>
> This reverts commit 370166ca344d018349606399406f23cec58b5334.
>
> Reason for revert:
> test revert 691222
>
> Original change's description:
> > Revert "Revert "Attampt1. This change should be a case for normal commit.""
> >
> > This reverts commit 097312ce44e80215fc4dfbe8a6b15d7dd0985d5e.
> >
> > Reason for revert:
> > test revert 691221
> >
> > Original change's description:
> > > Revert "Attampt1. This change should be a case for normal commit."
> > >
> > > This reverts commit 7c8d57836a5776215a17497aa007407a368ab582.
> > >
> > > Reason for revert: <INSERT REASONING HERE>
> > >
> > > Original change's description:
> > > > Attampt1. This change should be a case for normal commit.
> > > >
> > > > Change-Id: I23145d004da83f4c66d7fa500033f07ab8c7cf45
> > > > Reviewed-on: https://chromium-review.googlesource.com/691358
> > > > Reviewed-by: Chan Li <chanli@chromium.org>
> > >
> > > TBR=chanli@chromium.org
> > >
> > > Change-Id: I2c99d9dd80d31ec322391943d557a4d195a5f601
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://chromium-review.googlesource.com/691221
> > > Reviewed-by: Chan Li <chanli@chromium.org>
> >
> > Change-Id: I08016cb2bfa31e248ddef3e1ee224c4a94897a63
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://chromium-review.googlesource.com/691222
> > Reviewed-by: Chan Li <chanli@chromium.org>
>
> Change-Id: Ic5e361ea25198286d193a57a19f8f95c18732106
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/691433
> Reviewed-by: Chan Li <chanli@chromium.org>
Change-Id: I0a52580796e4a6776a88e32c54e7a1a651844eb5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/691223
diff --git a/extract_deps_info_pipeline.py b/extract_deps_info_pipeline.py
new file mode 100644
index 0000000..994dcaa
--- /dev/null
+++ b/extract_deps_info_pipeline.py
@@ -0,0 +1,59 @@
+# 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.
+
+from gae_libs.gitiles.cached_gitiles_repository import CachedGitilesRepository
+from gae_libs.http.http_client_appengine import HttpClientAppengine
+from gae_libs.pipeline_wrapper import BasePipeline
+from libs.deps import chrome_dependency_fetcher
+from services import deps
+
+
+class ExtractDEPSInfoPipeline(BasePipeline):
+ """A pipeline to extract information of DEPS and dependency rolls."""
+
+ # Arguments number differs from overridden method - pylint: disable=W0221
+ def run(self, failure_info, change_logs):
+ """
+ Args:
+ failure_info (dict): Output of pipeline DetectFirstFailurePipeline.run().
+ change_logs (dict): Output of pipeline PullChangelogPipeline.run().
+
+ Returns:
+ A dict with the following form:
+ {
+ 'deps': {
+ 'path/to/dependency/': {
+ 'revision': 'git_hash',
+ 'repo_url': 'https://url/to/dependency/repo.git',
+ },
+ ...
+ },
+ 'deps_rolls': {
+ 'git_revision': [
+ {
+ 'path': 'src/path/to/dependency/',
+ 'repo_url': 'https://url/to/dependency/repo.git',
+ 'new_revision': 'git_hash1',
+ 'old_revision': 'git_hash2',
+ },
+ ...
+ ],
+ ...
+ }
+ }
+ """
+
+ chromium_revision = failure_info['chromium_revision']
+ os_platform = deps.GetOSPlatformName(failure_info['master_name'],
+ failure_info['builder_name'])
+
+ dep_fetcher = chrome_dependency_fetcher.ChromeDependencyFetcher(
+ CachedGitilesRepository.Factory(HttpClientAppengine()))
+
+ return {
+ 'deps':
+ deps.GetDependencies(chromium_revision, os_platform, dep_fetcher),
+ 'deps_rolls':
+ deps.DetectDependencyRolls(change_logs, os_platform, dep_fetcher)
+ }