本文整理汇总了Python中src.build.build_options.OPTIONS.internal_apks_source方法的典型用法代码示例。如果您正苦于以下问题:Python OPTIONS.internal_apks_source方法的具体用法?Python OPTIONS.internal_apks_source怎么用?Python OPTIONS.internal_apks_source使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类src.build.build_options.OPTIONS
的用法示例。
在下文中一共展示了OPTIONS.internal_apks_source方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from src.build.build_options import OPTIONS [as 别名]
# 或者: from src.build.build_options.OPTIONS import internal_apks_source [as 别名]
def run():
OPTIONS.parse_configure_file()
# Check if internal/ exists. Run git-clone if not.
if not os.path.isdir(_ARC_INTERNAL_DIR):
# TODO(tandrii): Move this nacl-x86_64-bionic-internal recipe's botupdate
# step.
url = 'https://chrome-internal.googlesource.com/arc/internal-packages.git'
logging.info('Cloning %s' % url)
subprocess.check_call('git clone %s internal' % url,
cwd=_ARC_ROOT, shell=True)
# On 'internal' mode, sync the HEAD to the DEPS revision.
# On 'internal-dev', just use the current HEAD.
if OPTIONS.internal_apks_source() == 'internal':
# Check if internal/ is clean and on master.
if _git_has_local_modification():
logging.error('%s has local modification' % _ARC_INTERNAL_DIR)
sys.exit(-1)
# Check if internal/ is up to date. Run git-reset if not.
with open(_DEPS_FILE) as f:
target_revision = f.read().rstrip()
logging.info('%s has %s' % (_DEPS_FILE, target_revision))
if target_revision != _get_current_arc_int_revision():
sync_repo(target_revision)
# Run the configuration for the current HEAD revision. This steps includes
# syncing internal/third_party/ repositories when needed.
subprocess.check_call(os.path.join(_ARC_INTERNAL_DIR, 'build/configure.py'))
return 0
示例2: build_gms_core_or_use_prebuilt
# 需要导入模块: from src.build.build_options import OPTIONS [as 别名]
# 或者: from src.build.build_options.OPTIONS import internal_apks_source [as 别名]
def build_gms_core_or_use_prebuilt(self):
if OPTIONS.enable_art_aot():
# Rule for pre-optimizing gms-core apk.
boot_image_dir = os.path.join(build_common.get_android_fs_root(),
'system/framework',
build_common.get_art_isa())
self.rule(
'gms_core_apk_preoptimize',
'src/build/gms_core_apk_preoptimize.py --input $in --output $out',
description='Preoptimizing gmscore sub apks contained in $in')
self.build(GmsCoreNinjaGenerator._APK_PATH,
'gms_core_apk_preoptimize',
GmsCoreNinjaGenerator._ORIGINAL_APK_PATH,
implicit=[toolchain.get_tool('java', 'dex2oat'),
os.path.join(boot_image_dir, 'boot.art'),
os.path.join(boot_image_dir, 'boot.oat')])
if not OPTIONS.internal_apks_source_is_internal():
return
flags = '--eng' if OPTIONS.is_debug_code_enabled() else ''
build_log = os.path.join('out/gms-core-build/build.log')
command = ('internal/build/build.py gms-core %s > %s 2>&1 || '
'(cat %s; exit 1)') % (flags, build_log, build_log)
if OPTIONS.internal_apks_source() == 'internal-dev':
# Only for local development. play-services.apk dependes on jars below to
# build, just to use ARC specific feature like ArcMessageBridge and
# Tracing. This dependency is a must-have for a clean build. But this
# dependency can cause unrelated framework change to trigger rebuild of
# play-services.apk, which is very slow. With this option, eng will self
# manages the dependency, which is almost always satisfied.
jars = []
else:
# Simply make these jars the dependencies of gms-core-build, which
# references ArcMessage and ArcMessageBridge in the jar. Note that these
# jars changes often and is like to cause unnecessary rebuild of gms-core,
# which is very slow. We may think about a way to minimize the
# dependency.
#
# See also: internal/mods/gms-core/vendor/unbundled_google/packages/ \
# OneUp/package/Android.mk
# OneUp/package/generate_package.mk
jars = [
build_common.get_build_path_for_jar('arc-services-framework',
subpath='classes.jar'),
build_common.get_build_path_for_jar('framework',
subpath='classes.jar'),
]
self.build(GmsCoreNinjaGenerator._ALL_OUTPUTS,
'run_shell_command',
implicit=['src/build/DEPS.arc-int'] + jars,
variables={'command': command})
示例3: _ensure_downloads_up_to_date
# 需要导入模块: from src.build.build_options import OPTIONS [as 别名]
# 或者: from src.build.build_options.OPTIONS import internal_apks_source [as 别名]
def _ensure_downloads_up_to_date():
cache_path = OPTIONS.download_cache_path()
cache_size = OPTIONS.download_cache_size()
sync_nacl_sdk.check_and_perform_updates(cache_path, cache_size)
download_sdk_and_ndk.check_and_perform_updates(cache_path, cache_size)
download_cts_files.check_and_perform_updates(cache_path, cache_size)
download_arc_welder_deps.check_and_perform_updates(cache_path, cache_size)
if sync_gdb_multiarch.main():
sys.exit(1)
# The open source repository does not have download_internal_apks.py.
if (not open_source.is_open_source_repo() and
OPTIONS.internal_apks_source() == 'prebuilt'):
import download_internal_apks
download_internal_apks.check_and_perform_updates(cache_path, cache_size)
if not open_source.is_open_source_repo():
import download_third_party_apks
download_third_party_apks.check_and_perform_updates(cache_path, cache_size)