1*9e965d6fSRomain Jobredeaux# Copyright 2019 The Bazel Authors. All rights reserved. 2*9e965d6fSRomain Jobredeaux# 3*9e965d6fSRomain Jobredeaux# Licensed under the Apache License, Version 2.0 (the "License"); 4*9e965d6fSRomain Jobredeaux# you may not use this file except in compliance with the License. 5*9e965d6fSRomain Jobredeaux# You may obtain a copy of the License at 6*9e965d6fSRomain Jobredeaux# 7*9e965d6fSRomain Jobredeaux# http://www.apache.org/licenses/LICENSE-2.0 8*9e965d6fSRomain Jobredeaux# 9*9e965d6fSRomain Jobredeaux# Unless required by applicable law or agreed to in writing, software 10*9e965d6fSRomain Jobredeaux# distributed under the License is distributed on an "AS IS" BASIS, 11*9e965d6fSRomain Jobredeaux# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9e965d6fSRomain Jobredeaux# See the License for the specific language governing permissions and 13*9e965d6fSRomain Jobredeaux# limitations under the License. 14*9e965d6fSRomain Jobredeaux 15*9e965d6fSRomain Jobredeaux"""Flag definitions.""" 16*9e965d6fSRomain Jobredeaux 17*9e965d6fSRomain Jobredeauxload("//rules/flags:flags.bzl", "flags") 18*9e965d6fSRomain Jobredeaux 19*9e965d6fSRomain Jobredeauxdef define_flags(): 20*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 21*9e965d6fSRomain Jobredeaux name = "android_enable_res_v3", 22*9e965d6fSRomain Jobredeaux default = False, 23*9e965d6fSRomain Jobredeaux description = "Enable Resource Processing Pipeline v3.", 24*9e965d6fSRomain Jobredeaux ) 25*9e965d6fSRomain Jobredeaux 26*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 27*9e965d6fSRomain Jobredeaux name = "use_direct_deploy", 28*9e965d6fSRomain Jobredeaux default = False, 29*9e965d6fSRomain Jobredeaux description = "Enable direct deployment.", 30*9e965d6fSRomain Jobredeaux ) 31*9e965d6fSRomain Jobredeaux 32*9e965d6fSRomain Jobredeaux flags.DEFINE_int( 33*9e965d6fSRomain Jobredeaux name = "num_dex_shards", 34*9e965d6fSRomain Jobredeaux default = 32, 35*9e965d6fSRomain Jobredeaux description = "Number of dex shards to use for mobile-install.", 36*9e965d6fSRomain Jobredeaux ) 37*9e965d6fSRomain Jobredeaux 38*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 39*9e965d6fSRomain Jobredeaux name = "use_custom_dex_shards", 40*9e965d6fSRomain Jobredeaux default = False, 41*9e965d6fSRomain Jobredeaux description = "Whether to use custom dex shard value for mobile-install.", 42*9e965d6fSRomain Jobredeaux ) 43*9e965d6fSRomain Jobredeaux 44*9e965d6fSRomain Jobredeaux flags.DEFINE_bool_group( 45*9e965d6fSRomain Jobredeaux name = "mi_v3", 46*9e965d6fSRomain Jobredeaux default = True, 47*9e965d6fSRomain Jobredeaux description = "Enable mobile-install v3.", 48*9e965d6fSRomain Jobredeaux flags = [ 49*9e965d6fSRomain Jobredeaux # TODO(b/160897244): resv3 temporarily disabled while Starlark 50*9e965d6fSRomain Jobredeaux # resource processing is implemented and rolled out 51*9e965d6fSRomain Jobredeaux # ":android_enable_res_v3", 52*9e965d6fSRomain Jobredeaux ":use_custom_dex_shards", 53*9e965d6fSRomain Jobredeaux ":use_direct_deploy", 54*9e965d6fSRomain Jobredeaux ], 55*9e965d6fSRomain Jobredeaux ) 56*9e965d6fSRomain Jobredeaux 57*9e965d6fSRomain Jobredeaux flags.DEFINE_bool_group( 58*9e965d6fSRomain Jobredeaux name = "mi_dogfood", 59*9e965d6fSRomain Jobredeaux default = False, 60*9e965d6fSRomain Jobredeaux description = "Opt-in to mobile-install dogfood track.", 61*9e965d6fSRomain Jobredeaux flags = [ 62*9e965d6fSRomain Jobredeaux ], 63*9e965d6fSRomain Jobredeaux ) 64*9e965d6fSRomain Jobredeaux 65*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 66*9e965d6fSRomain Jobredeaux name = "enable_splits", 67*9e965d6fSRomain Jobredeaux default = True, 68*9e965d6fSRomain Jobredeaux description = "Build and install split apks if the device supports them.", 69*9e965d6fSRomain Jobredeaux ) 70*9e965d6fSRomain Jobredeaux 71*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 72*9e965d6fSRomain Jobredeaux name = "use_adb_root", 73*9e965d6fSRomain Jobredeaux default = True, 74*9e965d6fSRomain Jobredeaux description = "Restart adb with root permissions.", 75*9e965d6fSRomain Jobredeaux ) 76*9e965d6fSRomain Jobredeaux 77*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 78*9e965d6fSRomain Jobredeaux name = "mi_desugar_java8_libs", 79*9e965d6fSRomain Jobredeaux default = True, 80*9e965d6fSRomain Jobredeaux description = "Set True with --config=android_java8_libs", 81*9e965d6fSRomain Jobredeaux ) 82*9e965d6fSRomain Jobredeaux 83*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 84*9e965d6fSRomain Jobredeaux name = "debug", 85*9e965d6fSRomain Jobredeaux default = False, 86*9e965d6fSRomain Jobredeaux description = "", 87*9e965d6fSRomain Jobredeaux ) 88*9e965d6fSRomain Jobredeaux 89*9e965d6fSRomain Jobredeaux 90*9e965d6fSRomain Jobredeaux flags.EXPOSE_native_bool( 91*9e965d6fSRomain Jobredeaux name = "stamp", 92*9e965d6fSRomain Jobredeaux description = "Accesses the native --stamp CLI flag", 93*9e965d6fSRomain Jobredeaux ) 94*9e965d6fSRomain Jobredeaux 95*9e965d6fSRomain Jobredeaux flags.DEFINE_bool( 96*9e965d6fSRomain Jobredeaux name = "use_studio_deployer", 97*9e965d6fSRomain Jobredeaux default = True, 98*9e965d6fSRomain Jobredeaux description = "Use Studio Deployer to install apks", 99*9e965d6fSRomain Jobredeaux ) 100