| Index: build/android/devil/android/sdk/build_tools.py
|
| diff --git a/build/android/devil/android/sdk/build_tools.py b/build/android/devil/android/sdk/build_tools.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6965dd43547ead9d2ff6dc789b73340c30d75cc4
|
| --- /dev/null
|
| +++ b/build/android/devil/android/sdk/build_tools.py
|
| @@ -0,0 +1,51 @@
|
| +# 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.
|
| +
|
| +import os
|
| +
|
| +from devil import devil_env
|
| +from devil.utils import lazy
|
| +
|
| +with devil_env.SysPath(devil_env.CATAPULT_BASE_PATH):
|
| + from catapult_base import dependency_manager # pylint: disable=import-error
|
| +
|
| +
|
| +def GetPath(build_tool):
|
| + try:
|
| + return devil_env.config.LocalPath(build_tool)
|
| + except dependency_manager.NoPathFoundError:
|
| + pass
|
| +
|
| + try:
|
| + return _PathInLocalSdk(build_tool)
|
| + except dependency_manager.NoPathFoundError:
|
| + pass
|
| +
|
| + return devil_env.config.FetchPath(build_tool)
|
| +
|
| +
|
| +def _PathInLocalSdk(build_tool):
|
| + build_tools_path = _build_tools_path.read()
|
| + return (os.path.join(build_tools_path, build_tool) if build_tools_path
|
| + else None)
|
| +
|
| +
|
| +def _FindBuildTools():
|
| + android_sdk_path = devil_env.config.LocalPath('android_sdk')
|
| + if not android_sdk_path:
|
| + return None
|
| +
|
| + build_tools_contents = os.listdir(
|
| + os.path.join(android_sdk_path, 'build-tools'))
|
| +
|
| + if not build_tools_contents:
|
| + return None
|
| + else:
|
| + if len(build_tools_contents) > 1:
|
| + build_tools_contents.sort()
|
| + return os.path.join(android_sdk_path, 'build-tools',
|
| + build_tools_contents[-1])
|
| +
|
| +
|
| +_build_tools_path = lazy.WeakConstant(_FindBuildTools)
|
|
|