1# Copyright (C) 2021 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15"""Provides dependency information required by Tradefed test rules. 16 17This provider encapsulates information about dependencies that is required for 18setting up the execution environment. Aspects are responsible for converting the 19actual dependency's provider to an instance of this structure. For example, a 20dependency with a `JavaInfo` provider defines several fields for the jars 21required at runtime which is different from what `SoongPrebuiltInfo` exports. 22This essentially shields the test rule's implementation from the different 23provider types. 24""" 25 26TradefedTestDependencyInfo = provider( 27 doc = "Info required by Tradefed rules to run tests", 28 fields = { 29 "runtime_jars": "Jars required on the runtime classpath", 30 "runtime_shared_libraries": "Shared libraries that are required at runtime", 31 "transitive_test_files": "Files of test modules", 32 }, 33) 34