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"""Module that enables debugging for mobile-install.""" 15*9e965d6fSRomain Jobredeaux 16*9e965d6fSRomain Jobredeauxdef _make_output_groups(infos): 17*9e965d6fSRomain Jobredeaux output_groups = dict() 18*9e965d6fSRomain Jobredeaux for info in infos: 19*9e965d6fSRomain Jobredeaux if hasattr(info, "info"): 20*9e965d6fSRomain Jobredeaux output_group = dict( 21*9e965d6fSRomain Jobredeaux mi_java_info = info.info.runtime_output_jars, 22*9e965d6fSRomain Jobredeaux ) 23*9e965d6fSRomain Jobredeaux elif hasattr(info, "transitive_java_resources"): 24*9e965d6fSRomain Jobredeaux output_group = dict( 25*9e965d6fSRomain Jobredeaux mi_java_resources_info = info.transitive_java_resources, 26*9e965d6fSRomain Jobredeaux ) 27*9e965d6fSRomain Jobredeaux elif hasattr(info, "transitive_native_libs"): 28*9e965d6fSRomain Jobredeaux output_group = dict( 29*9e965d6fSRomain Jobredeaux mi_aar_native_libs_info = info.transitive_native_libs, 30*9e965d6fSRomain Jobredeaux ) 31*9e965d6fSRomain Jobredeaux elif hasattr(info, "transitive_dex_shards"): 32*9e965d6fSRomain Jobredeaux output_group = dict( 33*9e965d6fSRomain Jobredeaux mi_android_dex_info = depset( 34*9e965d6fSRomain Jobredeaux transitive = info.transitive_dex_shards, 35*9e965d6fSRomain Jobredeaux ), 36*9e965d6fSRomain Jobredeaux ) 37*9e965d6fSRomain Jobredeaux else: 38*9e965d6fSRomain Jobredeaux fail("Unsupported provider %s" % info) 39*9e965d6fSRomain Jobredeaux output_groups.update(output_group) 40*9e965d6fSRomain Jobredeaux return output_groups 41*9e965d6fSRomain Jobredeaux 42*9e965d6fSRomain Jobredeauxdebug = struct( 43*9e965d6fSRomain Jobredeaux make_output_groups = _make_output_groups, 44*9e965d6fSRomain Jobredeaux) 45