xref: /aosp_15_r20/build/soong/tradefed/providers.go (revision 333d2b3687b3a337dbcca9d65000bca186795e39)
1package tradefed
2
3import (
4	"android/soong/android"
5
6	"github.com/google/blueprint"
7)
8
9// Data that test_module_config[_host] modules types will need from
10// their dependencies to write out build rules and AndroidMkEntries.
11type BaseTestProviderData struct {
12	// data files and apps installed for tests, relative to testcases dir.
13	TestcaseRelDataFiles []string
14	// apk for android_test
15	OutputFile android.Path
16	// Either handwritten or generated TF xml.
17	TestConfig android.Path
18	// Other modules we require to be installed to run tests. We expect base to build them.
19	HostRequiredModuleNames []string
20	RequiredModuleNames     []string
21	// List of test suites base uses.
22	TestSuites []string
23	// True indicates the base modules is built for Host.
24	IsHost bool
25	// Base's sdk version for AndroidMkEntries, generally only used for Host modules.
26	LocalSdkVersion string
27	// Base's certificate for AndroidMkEntries, generally only used for device modules.
28	LocalCertificate string
29	// Indicates if the base module was a unit test.
30	IsUnitTest bool
31	// The .mk file is used AndroidMkEntries for base (soong_java_prebuilt, etc.)
32	MkInclude string
33	// The AppClass to use for the AndroidMkEntries for the base.
34	MkAppClass string
35	// value for LOCAL_MODULE_PATH.  The directory where the module is installed.
36	InstallDir android.InstallPath
37}
38
39var BaseTestProviderKey = blueprint.NewProvider[BaseTestProviderData]()
40