blob: 4d6f01bbbffa58f96931e8082469e56873808125 [file] [log] [blame]
Andreas Gamped6c02c82018-05-14 10:52:06 -07001// Copyright 2018 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// Set of error prone rules to ensure code quality
16// PackageLocation check requires the androidCompatible=false otherwise it does not do anything.
17java_defaults {
18 name: "tradefed_errorprone_defaults",
19 errorprone: {
20 javacflags: [
21 "-XDandroidCompatible=false",
22 "-Xep:ArrayToString:ERROR",
23 "-Xep:BoxedPrimitiveConstructor:ERROR",
Julien Despreza33025c2020-02-21 09:59:24 -080024 "-Xep:CatchFail:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070025 "-Xep:ConstantField:ERROR",
26 "-Xep:DeadException:ERROR",
27 "-Xep:EqualsIncompatibleType:ERROR",
Julien Despreze2fb5aa2019-03-26 10:49:01 -070028 "-Xep:ExtendingJUnitAssert:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070029 "-Xep:FormatString:ERROR",
30 "-Xep:GetClassOnClass:ERROR",
31 "-Xep:IdentityBinaryExpression:ERROR",
32 "-Xep:JUnit3TestNotRun:ERROR",
Julien Desprezf9e8c282019-12-03 15:56:59 -080033 "-Xep:JUnit4TestNotRun:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070034 "-Xep:JUnit4ClassUsedInJUnit3:ERROR",
35 "-Xep:JUnitAmbiguousTestClass:ERROR",
36 "-Xep:MissingFail:ERROR",
37 "-Xep:MissingOverride:ERROR",
Julien Despreze2fb5aa2019-03-26 10:49:01 -070038 "-Xep:ModifiedButNotUsed:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070039 "-Xep:MustBeClosedChecker:ERROR",
40 "-Xep:Overrides:ERROR",
41 "-Xep:PackageLocation:ERROR",
Julien Despreze2fb5aa2019-03-26 10:49:01 -070042 "-Xep:ParameterName:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070043 "-Xep:ReferenceEquality:ERROR",
44 "-Xep:RemoveUnusedImports:ERROR",
45 "-Xep:ReturnValueIgnored:ERROR",
46 "-Xep:SelfEquals:ERROR",
47 "-Xep:SizeGreaterThanOrEqualsZero:ERROR",
48 "-Xep:TryFailThrowable:ERROR",
Julien Desprez2c5b42c2020-01-28 14:57:41 -080049 "-Xep:UnnecessaryParentheses:ERROR",
Julien Despreza29923c2020-02-21 10:14:24 -080050 "-Xep:UseCorrectAssertInTests:ERROR",
Andreas Gamped6c02c82018-05-14 10:52:06 -070051 ],
52 },
53}
54
55java_defaults {
56 name: "tradefed_defaults",
57 defaults: [ "tradefed_errorprone_defaults" ],
58 javacflags: [
59 "-g",
60 "-Xlint",
61 ],
62}
63
Nan Zhangd4bde952018-07-18 16:58:43 -070064java_library_host {
65 name: "tradefed-protos",
66 srcs: ["proto/**/*.proto"],
67 libs: [
68 "libprotobuf-java-full",
69 ],
70 proto: {
71 include_dirs: ["external/protobuf/src"],
72 type: "full",
73 },
74 static_libs: [
75 "platformprotos",
Julien Desprezf7f52e82019-05-24 13:33:10 -070076 "asuite_proto_java",
Nan Zhangd4bde952018-07-18 16:58:43 -070077 ],
78}
79
yelinhsieh79f63ed2020-06-17 11:48:08 +080080python_library_host {
81 name: "tradefed-protos-py",
82 pkg_path: "atest",
83 srcs: ["proto/**/*.proto"],
84 libs: [
85 "libprotobuf-python",
86 ],
87 proto: {
88 include_dirs: ["external/protobuf/src"],
89 },
90 version: {
91 py2: {
92 enabled: true,
93 },
94 py3: {
95 enabled: true,
96 },
97 },
98}
99
Julien Despreze96a2922019-07-12 17:21:16 -0700100// Main Target to build tradefed jar
Colin Crossa48b5672019-10-21 18:31:07 +0000101java_library_host {
Nan Zhangd4bde952018-07-18 16:58:43 -0700102 name: "tradefed",
103 defaults: ["tradefed_defaults"],
Julien Despreze96a2922019-07-12 17:21:16 -0700104 java_resource_dirs: [
105 "res",
106 ],
107 static_libs: [
Julien Desprez8f41e992019-07-15 11:43:55 -0700108 "tradefed-lib-core",
Julien Despreze96a2922019-07-12 17:21:16 -0700109 "tradefed-test-framework",
110 ],
111 manifest: "MANIFEST.mf",
112}
113
Julien Desprez3126a432020-05-26 08:40:47 -0700114// Tradefed build target without the test framework statically linked
115java_library_host {
116 name: "tradefed-no-fwk",
117 defaults: ["tradefed_defaults"],
118 java_resource_dirs: [
119 "res",
120 ],
121 static_libs: [
122 "tradefed-lib-core",
123 ],
124 libs: [
125 "tradefed-test-framework",
126 ],
127 manifest: "MANIFEST.mf",
128}
129
Julien Despreze96a2922019-07-12 17:21:16 -0700130java_library_host {
Julien Desprez8f41e992019-07-15 11:43:55 -0700131 name: "tradefed-lib-core",
Julien Despreze96a2922019-07-12 17:21:16 -0700132 defaults: ["tradefed_defaults"],
Nan Zhangd4bde952018-07-18 16:58:43 -0700133 srcs: [
134 "src/**/*.java",
Julien Desprez11b062a2019-06-17 13:25:01 -0700135 "global_configuration/**/*.java",
Nan Zhangd4bde952018-07-18 16:58:43 -0700136 ],
Nan Zhangd4bde952018-07-18 16:58:43 -0700137 static_libs: [
Julien Desprez813ef6f2019-05-29 13:03:22 -0700138 "tradefed-common-util",
Julien Desprez59583c32019-06-10 18:51:55 -0700139 "tradefed-clearcut-client",
Julien Desprez0b6e7722019-06-17 14:55:17 -0700140 "tradefed-result-interfaces",
141 "tradefed-device-build-interfaces",
Julien Despreze96a2922019-07-12 17:21:16 -0700142 "tradefed-invocation-interfaces",
Julien Desprez9597b092019-06-11 00:15:48 +0000143 "protobuf-java-util-prebuilt-jar",
Daniel Peykove3047892018-11-01 13:08:35 -0700144 "aoa-helper",
Julien Desprez251ec572018-11-01 11:15:48 -0700145 "error_prone_annotations-2.0.18",
146 "google-api-java-client-min-repackaged",
Julien Desprez512e39d2018-11-09 11:02:21 -0800147 "google-api-services-compute",
Xing Dai83562b72019-01-02 12:13:10 -0800148 "google-api-services-storage",
Julien Desprez251ec572018-11-01 11:15:48 -0700149 "gson-prebuilt-jar",
150 "guice",
Oliver Nguyend15cc752018-11-02 15:44:45 -0700151 "jacoco-cli",
Julien Desprez251ec572018-11-01 11:15:48 -0700152 "jline-1.0",
Nan Zhangd4bde952018-07-18 16:58:43 -0700153 "junit-params",
154 "kxml2-2.3.0",
Nan Zhangd4bde952018-07-18 16:58:43 -0700155 "libprotobuf-java-full",
Nan Zhangd4bde952018-07-18 16:58:43 -0700156 "platform-test-annotations",
Julien Desprez74c7e062020-05-20 08:50:51 -0700157 "snakeyaml",
Julien Desprez251ec572018-11-01 11:15:48 -0700158 "tf-remote-client",
159 "tradefed-protos",
Joseph Murphyb927bf62019-09-30 19:17:00 -0700160 "tradefed-isolation-protos",
161 "tradefed-lite",
Nan Zhangd4bde952018-07-18 16:58:43 -0700162 ],
163 libs: [
164 "loganalysis",
Nan Zhangd4bde952018-07-18 16:58:43 -0700165 ],
Nan Zhangd4bde952018-07-18 16:58:43 -0700166}
167
Tor Norbyee7484822018-12-26 15:03:01 -0800168// Turn off various doclava warnings when generating
169// the docs. These are the same warnings that are
170// turned off in frameworks/base, plus error 101
171// which is necessary here because tradefed is
172// referencing bootclasspath classes that are not
173// feed to metalava when generating the stubs.
174tradefed_docs_only_args = " -hide 101 -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 "
175
Nan Zhang8e4593b2018-09-18 21:07:24 -0700176droidstubs_host {
177 name: "tradefed-doc-stubs",
Nan Zhangd4bde952018-07-18 16:58:43 -0700178 srcs: [
179 "src/**/*.java",
180 ],
181 libs: [
182 "loganalysis",
183 "tradefed",
Nan Zhangd4bde952018-07-18 16:58:43 -0700184 ],
Tor Norbyee7484822018-12-26 15:03:01 -0800185 args: tradefed_docs_only_args + "--package",
Nan Zhang8e4593b2018-09-18 21:07:24 -0700186 create_doc_stubs: true,
187}
188
189droiddoc_host {
190 name: "tradefed-docs",
191 srcs: [
192 ":tradefed-doc-stubs",
193 ],
Tor Norbyee7484822018-12-26 15:03:01 -0800194 libs: [
195 "loganalysis",
196 "tradefed",
Tor Norbyee7484822018-12-26 15:03:01 -0800197 ],
Nan Zhangd4bde952018-07-18 16:58:43 -0700198 custom_template: "droiddoc-templates-sdk",
199 hdf: [
200 "sac true",
201 "devices true",
202 "android.whichdoc online",
203 "css.path /reference/assets/css/doclava-devsite.css",
204 "book.root toc",
205 "book.path /_book.yaml",
206 ],
Tor Norbyee7484822018-12-26 15:03:01 -0800207 args: tradefed_docs_only_args +
208 "-yaml _book.yaml " +
Nan Zhangd4bde952018-07-18 16:58:43 -0700209 "-apidocsdir reference/tradefed/ " +
210 "-werror " +
211 "-package " +
212 "-devsite ",
213 create_stubs: false,
214}
Colin Cross47d81f42019-10-18 15:45:27 -0700215
216sh_binary_host {
217 name: "tradefed.sh",
218 src: "tradefed.sh",
219}
220
221sh_binary_host {
222 name: "tradefed_win",
223 src: "tradefed_win.bat",
224}
225
226sh_binary_host {
yangbill634c38d2019-10-28 12:06:32 +0800227 name: "script_help.sh",
Colin Cross47d81f42019-10-18 15:45:27 -0700228 src: "script_help.sh",
229}
230
231sh_binary_host {
yangbill634c38d2019-10-28 12:06:32 +0800232 name: "run_tf_cmd.sh",
Colin Cross47d81f42019-10-18 15:45:27 -0700233 src: "run_tf_cmd.sh",
234}
235
236sh_binary_host {
yangbill634c38d2019-10-28 12:06:32 +0800237 name: "atest_tradefed.sh",
Colin Cross47d81f42019-10-18 15:45:27 -0700238 src: "atest_tradefed.sh",
239}