xref: /aosp_15_r20/external/libtextclassifier/native/Android.bp (revision 993b0882672172b81d12fad7a7ac0c3e5c824a12)
1*993b0882SAndroid Build Coastguard Worker// Copyright (C) 2017 The Android Open Source Project
2*993b0882SAndroid Build Coastguard Worker//
3*993b0882SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*993b0882SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*993b0882SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*993b0882SAndroid Build Coastguard Worker//
7*993b0882SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*993b0882SAndroid Build Coastguard Worker//
9*993b0882SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*993b0882SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*993b0882SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*993b0882SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*993b0882SAndroid Build Coastguard Worker// limitations under the License.
14*993b0882SAndroid Build Coastguard Worker
15*993b0882SAndroid Build Coastguard Workerpackage {
16*993b0882SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*993b0882SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
18*993b0882SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "external_libtextclassifier_license"
19*993b0882SAndroid Build Coastguard Worker    // to get the below license kinds:
20*993b0882SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
21*993b0882SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_libtextclassifier_license"],
22*993b0882SAndroid Build Coastguard Worker}
23*993b0882SAndroid Build Coastguard Worker
24*993b0882SAndroid Build Coastguard Workercc_library_headers {
25*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_hash_headers",
26*993b0882SAndroid Build Coastguard Worker    vendor_available: true,
27*993b0882SAndroid Build Coastguard Worker    host_supported: true,
28*993b0882SAndroid Build Coastguard Worker    export_include_dirs: ["."],
29*993b0882SAndroid Build Coastguard Worker    apex_available: [
30*993b0882SAndroid Build Coastguard Worker        "//apex_available:platform",
31*993b0882SAndroid Build Coastguard Worker        "com.android.btservices",
32*993b0882SAndroid Build Coastguard Worker        "com.android.neuralnetworks",
33*993b0882SAndroid Build Coastguard Worker        "test_com.android.neuralnetworks",
34*993b0882SAndroid Build Coastguard Worker        "com.android.ondevicepersonalization",
35*993b0882SAndroid Build Coastguard Worker    ],
36*993b0882SAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
37*993b0882SAndroid Build Coastguard Worker    sdk_version: "current",
38*993b0882SAndroid Build Coastguard Worker}
39*993b0882SAndroid Build Coastguard Worker
40*993b0882SAndroid Build Coastguard Workercc_defaults {
41*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_hash_defaults",
42*993b0882SAndroid Build Coastguard Worker    vendor_available: true,
43*993b0882SAndroid Build Coastguard Worker    host_supported: true,
44*993b0882SAndroid Build Coastguard Worker    srcs: [
45*993b0882SAndroid Build Coastguard Worker        "utils/hash/farmhash.cc",
46*993b0882SAndroid Build Coastguard Worker    ],
47*993b0882SAndroid Build Coastguard Worker    cflags: [
48*993b0882SAndroid Build Coastguard Worker        "-DNAMESPACE_FOR_HASH_FUNCTIONS=farmhash",
49*993b0882SAndroid Build Coastguard Worker        "-Wall",
50*993b0882SAndroid Build Coastguard Worker        "-Werror",
51*993b0882SAndroid Build Coastguard Worker        "-Wno-unused-function",
52*993b0882SAndroid Build Coastguard Worker    ],
53*993b0882SAndroid Build Coastguard Worker}
54*993b0882SAndroid Build Coastguard Worker
55*993b0882SAndroid Build Coastguard Workercc_library_shared {
56*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_hash",
57*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_hash_defaults"],
58*993b0882SAndroid Build Coastguard Worker    vendor_available: true,
59*993b0882SAndroid Build Coastguard Worker    double_loadable: true,
60*993b0882SAndroid Build Coastguard Worker}
61*993b0882SAndroid Build Coastguard Worker
62*993b0882SAndroid Build Coastguard Workercc_library_static {
63*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_hash_static",
64*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_hash_defaults"],
65*993b0882SAndroid Build Coastguard Worker    sdk_version: "current",
66*993b0882SAndroid Build Coastguard Worker    stl: "libc++_static",
67*993b0882SAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
68*993b0882SAndroid Build Coastguard Worker    apex_available: [
69*993b0882SAndroid Build Coastguard Worker        "//apex_available:platform",
70*993b0882SAndroid Build Coastguard Worker        "com.android.btservices",
71*993b0882SAndroid Build Coastguard Worker        "com.android.neuralnetworks",
72*993b0882SAndroid Build Coastguard Worker        "test_com.android.neuralnetworks",
73*993b0882SAndroid Build Coastguard Worker        "com.android.extservices",
74*993b0882SAndroid Build Coastguard Worker        "com.android.adservices",
75*993b0882SAndroid Build Coastguard Worker        "com.android.ondevicepersonalization",
76*993b0882SAndroid Build Coastguard Worker    ],
77*993b0882SAndroid Build Coastguard Worker}
78*993b0882SAndroid Build Coastguard Worker
79*993b0882SAndroid Build Coastguard Workercc_defaults {
80*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_defaults",
81*993b0882SAndroid Build Coastguard Worker    stl: "libc++_static",
82*993b0882SAndroid Build Coastguard Worker    cpp_std: "gnu++17",
83*993b0882SAndroid Build Coastguard Worker    sdk_version: "current",
84*993b0882SAndroid Build Coastguard Worker    // For debug / treemap purposes.
85*993b0882SAndroid Build Coastguard Worker    //strip: {
86*993b0882SAndroid Build Coastguard Worker    //    keep_symbols: true,
87*993b0882SAndroid Build Coastguard Worker    //},
88*993b0882SAndroid Build Coastguard Worker
89*993b0882SAndroid Build Coastguard Worker    cflags: [
90*993b0882SAndroid Build Coastguard Worker        "-Wall",
91*993b0882SAndroid Build Coastguard Worker        "-Werror",
92*993b0882SAndroid Build Coastguard Worker        "-Wno-deprecated-declarations",
93*993b0882SAndroid Build Coastguard Worker        "-Wno-ignored-qualifiers",
94*993b0882SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
95*993b0882SAndroid Build Coastguard Worker        "-Wno-sign-compare",
96*993b0882SAndroid Build Coastguard Worker        "-Wno-tautological-constant-out-of-range-compare",
97*993b0882SAndroid Build Coastguard Worker        "-Wno-undefined-var-template",
98*993b0882SAndroid Build Coastguard Worker        "-Wno-unused-function",
99*993b0882SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
100*993b0882SAndroid Build Coastguard Worker        "-Wno-extern-c-compat",
101*993b0882SAndroid Build Coastguard Worker
102*993b0882SAndroid Build Coastguard Worker        "-funsigned-char",
103*993b0882SAndroid Build Coastguard Worker        "-fvisibility=hidden",
104*993b0882SAndroid Build Coastguard Worker
105*993b0882SAndroid Build Coastguard Worker        "-DLIBTEXTCLASSIFIER_UNILIB_ICU",
106*993b0882SAndroid Build Coastguard Worker        "-DZLIB_CONST",
107*993b0882SAndroid Build Coastguard Worker        "-DSAFTM_COMPACT_LOGGING",
108*993b0882SAndroid Build Coastguard Worker        "-DTC3_WITH_ACTIONS_OPS",
109*993b0882SAndroid Build Coastguard Worker        "-DTC3_UNILIB_JAVAICU",
110*993b0882SAndroid Build Coastguard Worker        "-DTC3_CALENDAR_JAVAICU",
111*993b0882SAndroid Build Coastguard Worker        "-DTC3_AOSP",
112*993b0882SAndroid Build Coastguard Worker        "-DTC3_VOCAB_ANNOTATOR_IMPL",
113*993b0882SAndroid Build Coastguard Worker        "-DTC3_POD_NER_ANNOTATOR_IMPL",
114*993b0882SAndroid Build Coastguard Worker    ],
115*993b0882SAndroid Build Coastguard Worker
116*993b0882SAndroid Build Coastguard Worker    product_variables: {
117*993b0882SAndroid Build Coastguard Worker        debuggable: {
118*993b0882SAndroid Build Coastguard Worker            // Only enable debug logging in userdebug/eng builds.
119*993b0882SAndroid Build Coastguard Worker            cflags: ["-DTC3_DEBUG_LOGGING=1"],
120*993b0882SAndroid Build Coastguard Worker        },
121*993b0882SAndroid Build Coastguard Worker    },
122*993b0882SAndroid Build Coastguard Worker
123*993b0882SAndroid Build Coastguard Worker    header_libs: [
124*993b0882SAndroid Build Coastguard Worker        "jni_headers",
125*993b0882SAndroid Build Coastguard Worker        "tensorflow_headers",
126*993b0882SAndroid Build Coastguard Worker        "flatbuffer_headers",
127*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_flatbuffer_headers",
128*993b0882SAndroid Build Coastguard Worker    ],
129*993b0882SAndroid Build Coastguard Worker
130*993b0882SAndroid Build Coastguard Worker    shared_libs: [
131*993b0882SAndroid Build Coastguard Worker        "liblog",
132*993b0882SAndroid Build Coastguard Worker        "libz",
133*993b0882SAndroid Build Coastguard Worker    ],
134*993b0882SAndroid Build Coastguard Worker
135*993b0882SAndroid Build Coastguard Worker    static_libs: [
136*993b0882SAndroid Build Coastguard Worker        "libabsl",
137*993b0882SAndroid Build Coastguard Worker        "liblua",
138*993b0882SAndroid Build Coastguard Worker        "libtflite_static",
139*993b0882SAndroid Build Coastguard Worker        "libutf",
140*993b0882SAndroid Build Coastguard Worker        "marisa-trie",
141*993b0882SAndroid Build Coastguard Worker        "tflite_support",
142*993b0882SAndroid Build Coastguard Worker    ],
143*993b0882SAndroid Build Coastguard Worker}
144*993b0882SAndroid Build Coastguard Worker
145*993b0882SAndroid Build Coastguard Workercc_library_static {
146*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_bert_tokenizer",
147*993b0882SAndroid Build Coastguard Worker    export_include_dirs: ["."],
148*993b0882SAndroid Build Coastguard Worker    visibility: ["//external/tflite-support:__subpackages__"],
149*993b0882SAndroid Build Coastguard Worker    srcs: [
150*993b0882SAndroid Build Coastguard Worker        "utils/base/logging.cc",
151*993b0882SAndroid Build Coastguard Worker        "utils/base/logging_raw.cc",
152*993b0882SAndroid Build Coastguard Worker        "utils/bert_tokenizer.cc",
153*993b0882SAndroid Build Coastguard Worker        "utils/strings/utf8.cc",
154*993b0882SAndroid Build Coastguard Worker        "utils/tokenizer-utils.cc",
155*993b0882SAndroid Build Coastguard Worker        "utils/utf8/unilib-common.cc",
156*993b0882SAndroid Build Coastguard Worker        "utils/utf8/unicodetext.cc",
157*993b0882SAndroid Build Coastguard Worker        "utils/wordpiece_tokenizer.cc",
158*993b0882SAndroid Build Coastguard Worker    ],
159*993b0882SAndroid Build Coastguard Worker    apex_available: [
160*993b0882SAndroid Build Coastguard Worker        "//apex_available:platform",
161*993b0882SAndroid Build Coastguard Worker        "com.android.extservices",
162*993b0882SAndroid Build Coastguard Worker        "com.android.adservices",
163*993b0882SAndroid Build Coastguard Worker    ],
164*993b0882SAndroid Build Coastguard Worker    cflags: [
165*993b0882SAndroid Build Coastguard Worker        "-Wno-ignored-qualifiers",
166*993b0882SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
167*993b0882SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
168*993b0882SAndroid Build Coastguard Worker
169*993b0882SAndroid Build Coastguard Worker        "-DLIBTEXTCLASSIFIER_UNILIB_ICU",
170*993b0882SAndroid Build Coastguard Worker        "-DZLIB_CONST",
171*993b0882SAndroid Build Coastguard Worker        "-DSAFTM_COMPACT_LOGGING",
172*993b0882SAndroid Build Coastguard Worker        "-DTC3_WITH_ACTIONS_OPS",
173*993b0882SAndroid Build Coastguard Worker        "-DTC3_UNILIB_JAVAICU",
174*993b0882SAndroid Build Coastguard Worker        "-DTC3_CALENDAR_JAVAICU",
175*993b0882SAndroid Build Coastguard Worker        "-DTC3_AOSP",
176*993b0882SAndroid Build Coastguard Worker        "-DTC3_VOCAB_ANNOTATOR_IMPL",
177*993b0882SAndroid Build Coastguard Worker        "-DTC3_POD_NER_ANNOTATOR_IMPL",
178*993b0882SAndroid Build Coastguard Worker    ],
179*993b0882SAndroid Build Coastguard Worker    product_variables: {
180*993b0882SAndroid Build Coastguard Worker        debuggable: {
181*993b0882SAndroid Build Coastguard Worker            // Only enable debug logging in userdebug/eng builds.
182*993b0882SAndroid Build Coastguard Worker            cflags: ["-DTC3_DEBUG_LOGGING=1"],
183*993b0882SAndroid Build Coastguard Worker        },
184*993b0882SAndroid Build Coastguard Worker    },
185*993b0882SAndroid Build Coastguard Worker    header_libs: [
186*993b0882SAndroid Build Coastguard Worker        "jni_headers",
187*993b0882SAndroid Build Coastguard Worker        "tensorflow_headers",
188*993b0882SAndroid Build Coastguard Worker        "flatbuffer_headers",
189*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_flatbuffer_headers",
190*993b0882SAndroid Build Coastguard Worker    ],
191*993b0882SAndroid Build Coastguard Worker    static_libs: [
192*993b0882SAndroid Build Coastguard Worker        "libabsl",
193*993b0882SAndroid Build Coastguard Worker        "tflite_support",
194*993b0882SAndroid Build Coastguard Worker    ],
195*993b0882SAndroid Build Coastguard Worker    sdk_version: "current",
196*993b0882SAndroid Build Coastguard Worker    min_sdk_version: "30",
197*993b0882SAndroid Build Coastguard Worker    stl: "libc++_static",
198*993b0882SAndroid Build Coastguard Worker}
199*993b0882SAndroid Build Coastguard Worker
200*993b0882SAndroid Build Coastguard Worker// -----------------
201*993b0882SAndroid Build Coastguard Worker// Generate headers with FlatBuffer schema compiler.
202*993b0882SAndroid Build Coastguard Worker// -----------------
203*993b0882SAndroid Build Coastguard Worker
204*993b0882SAndroid Build Coastguard WorkerFBGEN_ARGS = "$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --keep-prefix -I external/libtextclassifier/native -o $$(dirname $(out)) "
205*993b0882SAndroid Build Coastguard Worker
206*993b0882SAndroid Build Coastguard Workergenrule {
207*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_fbgen_utils_flatbuffers_flatbuffers_test",
208*993b0882SAndroid Build Coastguard Worker    srcs: ["utils/flatbuffers/flatbuffers_test.fbs"],
209*993b0882SAndroid Build Coastguard Worker    out: ["utils/flatbuffers/flatbuffers_test_generated.h"],
210*993b0882SAndroid Build Coastguard Worker    tools: ["flatc"],
211*993b0882SAndroid Build Coastguard Worker    cmd: FBGEN_ARGS + "$(in)",
212*993b0882SAndroid Build Coastguard Worker}
213*993b0882SAndroid Build Coastguard Worker
214*993b0882SAndroid Build Coastguard Workergenrule {
215*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_fbgen_utils_lua_utils_tests",
216*993b0882SAndroid Build Coastguard Worker    srcs: ["utils/lua_utils_tests.fbs"],
217*993b0882SAndroid Build Coastguard Worker    out: ["utils/lua_utils_tests_generated.h"],
218*993b0882SAndroid Build Coastguard Worker    tools: ["flatc"],
219*993b0882SAndroid Build Coastguard Worker    cmd: FBGEN_ARGS + "$(in)",
220*993b0882SAndroid Build Coastguard Worker}
221*993b0882SAndroid Build Coastguard Worker
222*993b0882SAndroid Build Coastguard Worker// -----------------
223*993b0882SAndroid Build Coastguard Worker// libtextclassifier
224*993b0882SAndroid Build Coastguard Worker// -----------------
225*993b0882SAndroid Build Coastguard Workercc_library {
226*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier",
227*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_defaults"],
228*993b0882SAndroid Build Coastguard Worker    min_sdk_version: "30",
229*993b0882SAndroid Build Coastguard Worker    srcs: ["**/*.cc"],
230*993b0882SAndroid Build Coastguard Worker    exclude_srcs: [
231*993b0882SAndroid Build Coastguard Worker        "**/*_test.*",
232*993b0882SAndroid Build Coastguard Worker        "**/*-test-lib.*",
233*993b0882SAndroid Build Coastguard Worker        "**/testing/*.*",
234*993b0882SAndroid Build Coastguard Worker        "**/*test-util.*",
235*993b0882SAndroid Build Coastguard Worker        "**/*test-utils.*",
236*993b0882SAndroid Build Coastguard Worker        "**/*test_util.*",
237*993b0882SAndroid Build Coastguard Worker        "**/*test_utils.*",
238*993b0882SAndroid Build Coastguard Worker        "**/*_test-include.*",
239*993b0882SAndroid Build Coastguard Worker        "**/*unittest.*",
240*993b0882SAndroid Build Coastguard Worker    ],
241*993b0882SAndroid Build Coastguard Worker    static_libs: [
242*993b0882SAndroid Build Coastguard Worker        "libflatbuffers-cpp",
243*993b0882SAndroid Build Coastguard Worker    ],
244*993b0882SAndroid Build Coastguard Worker    version_script: "jni.lds",
245*993b0882SAndroid Build Coastguard Worker
246*993b0882SAndroid Build Coastguard Worker    apex_available: [
247*993b0882SAndroid Build Coastguard Worker        "//apex_available:platform",
248*993b0882SAndroid Build Coastguard Worker        "com.android.extservices",
249*993b0882SAndroid Build Coastguard Worker    ],
250*993b0882SAndroid Build Coastguard Worker}
251*993b0882SAndroid Build Coastguard Worker
252*993b0882SAndroid Build Coastguard Worker// -----------------------
253*993b0882SAndroid Build Coastguard Worker// libtextclassifier_tests
254*993b0882SAndroid Build Coastguard Worker// -----------------------
255*993b0882SAndroid Build Coastguard Workercc_test {
256*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_tests-tplus",
257*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_defaults"],
258*993b0882SAndroid Build Coastguard Worker
259*993b0882SAndroid Build Coastguard Worker    test_suites: [
260*993b0882SAndroid Build Coastguard Worker        "general-tests",
261*993b0882SAndroid Build Coastguard Worker        "mts-extservices",
262*993b0882SAndroid Build Coastguard Worker    ],
263*993b0882SAndroid Build Coastguard Worker
264*993b0882SAndroid Build Coastguard Worker    data: [
265*993b0882SAndroid Build Coastguard Worker        "**/test_data/*",
266*993b0882SAndroid Build Coastguard Worker        "**/*.bfbs",
267*993b0882SAndroid Build Coastguard Worker    ],
268*993b0882SAndroid Build Coastguard Worker
269*993b0882SAndroid Build Coastguard Worker    srcs: ["**/*.cc"],
270*993b0882SAndroid Build Coastguard Worker    exclude_srcs: [":libtextclassifier_java_test_sources"],
271*993b0882SAndroid Build Coastguard Worker
272*993b0882SAndroid Build Coastguard Worker    header_libs: ["jni_headers"],
273*993b0882SAndroid Build Coastguard Worker
274*993b0882SAndroid Build Coastguard Worker    static_libs: [
275*993b0882SAndroid Build Coastguard Worker        "libgmock_ndk",
276*993b0882SAndroid Build Coastguard Worker        "libgtest_ndk_c++",
277*993b0882SAndroid Build Coastguard Worker        "libbase_ndk",
278*993b0882SAndroid Build Coastguard Worker    ],
279*993b0882SAndroid Build Coastguard Worker
280*993b0882SAndroid Build Coastguard Worker    generated_headers: [
281*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_fbgen_utils_flatbuffers_flatbuffers_test",
282*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_fbgen_utils_lua_utils_tests",
283*993b0882SAndroid Build Coastguard Worker    ],
284*993b0882SAndroid Build Coastguard Worker
285*993b0882SAndroid Build Coastguard Worker    compile_multilib: "both",
286*993b0882SAndroid Build Coastguard Worker    multilib: {
287*993b0882SAndroid Build Coastguard Worker        lib32: {
288*993b0882SAndroid Build Coastguard Worker            suffix: "32",
289*993b0882SAndroid Build Coastguard Worker        },
290*993b0882SAndroid Build Coastguard Worker        lib64: {
291*993b0882SAndroid Build Coastguard Worker            suffix: "64",
292*993b0882SAndroid Build Coastguard Worker        },
293*993b0882SAndroid Build Coastguard Worker    },
294*993b0882SAndroid Build Coastguard Worker    // A workaround for code coverage. See b/166040889#comment23
295*993b0882SAndroid Build Coastguard Worker    sdk_variant_only: true,
296*993b0882SAndroid Build Coastguard Worker    test_config: "AndroidTest-tplus.xml",
297*993b0882SAndroid Build Coastguard Worker}
298*993b0882SAndroid Build Coastguard Worker
299*993b0882SAndroid Build Coastguard Workercc_test {
300*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_tests-sminus",
301*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_defaults"],
302*993b0882SAndroid Build Coastguard Worker
303*993b0882SAndroid Build Coastguard Worker    test_suites: [
304*993b0882SAndroid Build Coastguard Worker        "general-tests",
305*993b0882SAndroid Build Coastguard Worker        "mts-extservices",
306*993b0882SAndroid Build Coastguard Worker    ],
307*993b0882SAndroid Build Coastguard Worker
308*993b0882SAndroid Build Coastguard Worker    data: [
309*993b0882SAndroid Build Coastguard Worker        "**/test_data/*",
310*993b0882SAndroid Build Coastguard Worker        "**/*.bfbs",
311*993b0882SAndroid Build Coastguard Worker    ],
312*993b0882SAndroid Build Coastguard Worker
313*993b0882SAndroid Build Coastguard Worker    srcs: ["**/*.cc"],
314*993b0882SAndroid Build Coastguard Worker    exclude_srcs: [":libtextclassifier_java_test_sources"],
315*993b0882SAndroid Build Coastguard Worker
316*993b0882SAndroid Build Coastguard Worker    header_libs: ["jni_headers"],
317*993b0882SAndroid Build Coastguard Worker
318*993b0882SAndroid Build Coastguard Worker    static_libs: [
319*993b0882SAndroid Build Coastguard Worker        "libgmock_ndk",
320*993b0882SAndroid Build Coastguard Worker        "libgtest_ndk_c++",
321*993b0882SAndroid Build Coastguard Worker        "libbase_ndk",
322*993b0882SAndroid Build Coastguard Worker    ],
323*993b0882SAndroid Build Coastguard Worker
324*993b0882SAndroid Build Coastguard Worker    generated_headers: [
325*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_fbgen_utils_flatbuffers_flatbuffers_test",
326*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_fbgen_utils_lua_utils_tests",
327*993b0882SAndroid Build Coastguard Worker    ],
328*993b0882SAndroid Build Coastguard Worker
329*993b0882SAndroid Build Coastguard Worker    compile_multilib: "both",
330*993b0882SAndroid Build Coastguard Worker    multilib: {
331*993b0882SAndroid Build Coastguard Worker        lib32: {
332*993b0882SAndroid Build Coastguard Worker            suffix: "32",
333*993b0882SAndroid Build Coastguard Worker        },
334*993b0882SAndroid Build Coastguard Worker        lib64: {
335*993b0882SAndroid Build Coastguard Worker            suffix: "64",
336*993b0882SAndroid Build Coastguard Worker        },
337*993b0882SAndroid Build Coastguard Worker    },
338*993b0882SAndroid Build Coastguard Worker    // A workaround for code coverage. See b/166040889#comment23
339*993b0882SAndroid Build Coastguard Worker    sdk_variant_only: true,
340*993b0882SAndroid Build Coastguard Worker    test_config: "AndroidTest-sminus.xml",
341*993b0882SAndroid Build Coastguard Worker}
342*993b0882SAndroid Build Coastguard Worker
343*993b0882SAndroid Build Coastguard Worker// ------------------------------------
344*993b0882SAndroid Build Coastguard Worker// Native tests require the JVM to run
345*993b0882SAndroid Build Coastguard Worker// ------------------------------------
346*993b0882SAndroid Build Coastguard Workercc_test_library {
347*993b0882SAndroid Build Coastguard Worker    name: "libjvm_test_launcher",
348*993b0882SAndroid Build Coastguard Worker    defaults: ["libtextclassifier_defaults"],
349*993b0882SAndroid Build Coastguard Worker    srcs: [
350*993b0882SAndroid Build Coastguard Worker        ":libtextclassifier_java_test_sources",
351*993b0882SAndroid Build Coastguard Worker        "annotator/datetime/testing/*.cc",
352*993b0882SAndroid Build Coastguard Worker        "actions/test-utils.cc",
353*993b0882SAndroid Build Coastguard Worker        "utils/testing/annotator.cc",
354*993b0882SAndroid Build Coastguard Worker        "utils/testing/logging_event_listener.cc",
355*993b0882SAndroid Build Coastguard Worker        "testing/jvm_test_launcher.cc",
356*993b0882SAndroid Build Coastguard Worker    ],
357*993b0882SAndroid Build Coastguard Worker    version_script: "jni.lds",
358*993b0882SAndroid Build Coastguard Worker    static_libs: [
359*993b0882SAndroid Build Coastguard Worker        "libflatbuffers-cpp",
360*993b0882SAndroid Build Coastguard Worker        "libgmock_ndk",
361*993b0882SAndroid Build Coastguard Worker        "libgtest_ndk_c++",
362*993b0882SAndroid Build Coastguard Worker        "libbase_ndk",
363*993b0882SAndroid Build Coastguard Worker        "libtextclassifier",
364*993b0882SAndroid Build Coastguard Worker    ],
365*993b0882SAndroid Build Coastguard Worker    header_libs: [
366*993b0882SAndroid Build Coastguard Worker        "libtextclassifier_flatbuffer_testonly_headers",
367*993b0882SAndroid Build Coastguard Worker    ],
368*993b0882SAndroid Build Coastguard Worker}
369*993b0882SAndroid Build Coastguard Worker
370*993b0882SAndroid Build Coastguard Workerandroid_test {
371*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_java_tests",
372*993b0882SAndroid Build Coastguard Worker    srcs: ["testing/JvmTestLauncher.java"],
373*993b0882SAndroid Build Coastguard Worker    min_sdk_version: "30",
374*993b0882SAndroid Build Coastguard Worker    test_suites: [
375*993b0882SAndroid Build Coastguard Worker        "general-tests",
376*993b0882SAndroid Build Coastguard Worker        "mts-extservices",
377*993b0882SAndroid Build Coastguard Worker    ],
378*993b0882SAndroid Build Coastguard Worker    static_libs: [
379*993b0882SAndroid Build Coastguard Worker        "androidx.test.ext.junit",
380*993b0882SAndroid Build Coastguard Worker        "androidx.test.rules",
381*993b0882SAndroid Build Coastguard Worker        "androidx.test.espresso.core",
382*993b0882SAndroid Build Coastguard Worker        "androidx.test.ext.truth",
383*993b0882SAndroid Build Coastguard Worker        "truth",
384*993b0882SAndroid Build Coastguard Worker        "TextClassifierCoverageLib",
385*993b0882SAndroid Build Coastguard Worker    ],
386*993b0882SAndroid Build Coastguard Worker    jni_libs: [
387*993b0882SAndroid Build Coastguard Worker        "libjvm_test_launcher",
388*993b0882SAndroid Build Coastguard Worker    ],
389*993b0882SAndroid Build Coastguard Worker    jni_uses_sdk_apis: true,
390*993b0882SAndroid Build Coastguard Worker    data: [
391*993b0882SAndroid Build Coastguard Worker        "**/*.bfbs",
392*993b0882SAndroid Build Coastguard Worker        "**/test_data/*",
393*993b0882SAndroid Build Coastguard Worker    ],
394*993b0882SAndroid Build Coastguard Worker    test_config: "JavaTest.xml",
395*993b0882SAndroid Build Coastguard Worker    compile_multilib: "both",
396*993b0882SAndroid Build Coastguard Worker}
397*993b0882SAndroid Build Coastguard Worker
398*993b0882SAndroid Build Coastguard Worker// ----------------
399*993b0882SAndroid Build Coastguard Worker// Annotator models
400*993b0882SAndroid Build Coastguard Worker// ----------------
401*993b0882SAndroid Build Coastguard Worker
402*993b0882SAndroid Build Coastguard Workerprebuilt_etc {
403*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_annotator_en_model",
404*993b0882SAndroid Build Coastguard Worker    filename: "textclassifier.en.model",
405*993b0882SAndroid Build Coastguard Worker    owner: "google",
406*993b0882SAndroid Build Coastguard Worker    src: "models/textclassifier.en.model",
407*993b0882SAndroid Build Coastguard Worker    sub_dir: "textclassifier",
408*993b0882SAndroid Build Coastguard Worker}
409*993b0882SAndroid Build Coastguard Worker
410*993b0882SAndroid Build Coastguard Workerprebuilt_etc {
411*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_annotator_universal_model",
412*993b0882SAndroid Build Coastguard Worker    filename: "textclassifier.universal.model",
413*993b0882SAndroid Build Coastguard Worker    owner: "google",
414*993b0882SAndroid Build Coastguard Worker    src: "models/textclassifier.universal.model",
415*993b0882SAndroid Build Coastguard Worker    sub_dir: "textclassifier",
416*993b0882SAndroid Build Coastguard Worker}
417*993b0882SAndroid Build Coastguard Worker
418*993b0882SAndroid Build Coastguard Worker// ---------------------------
419*993b0882SAndroid Build Coastguard Worker// Actions Suggestions models
420*993b0882SAndroid Build Coastguard Worker// ---------------------------
421*993b0882SAndroid Build Coastguard Worker
422*993b0882SAndroid Build Coastguard Workerprebuilt_etc {
423*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_actions_suggestions_universal_model",
424*993b0882SAndroid Build Coastguard Worker    filename: "actions_suggestions.universal.model",
425*993b0882SAndroid Build Coastguard Worker    owner: "google",
426*993b0882SAndroid Build Coastguard Worker    src: "models/actions_suggestions.universal.model",
427*993b0882SAndroid Build Coastguard Worker    sub_dir: "textclassifier",
428*993b0882SAndroid Build Coastguard Worker}
429*993b0882SAndroid Build Coastguard Worker
430*993b0882SAndroid Build Coastguard Worker// ------------
431*993b0882SAndroid Build Coastguard Worker// LangId model
432*993b0882SAndroid Build Coastguard Worker// ------------
433*993b0882SAndroid Build Coastguard Worker
434*993b0882SAndroid Build Coastguard Workerprebuilt_etc {
435*993b0882SAndroid Build Coastguard Worker    name: "libtextclassifier_lang_id_model",
436*993b0882SAndroid Build Coastguard Worker    filename: "lang_id.model",
437*993b0882SAndroid Build Coastguard Worker    owner: "google",
438*993b0882SAndroid Build Coastguard Worker    src: "models/lang_id.model",
439*993b0882SAndroid Build Coastguard Worker    sub_dir: "textclassifier",
440*993b0882SAndroid Build Coastguard Worker}
441*993b0882SAndroid Build Coastguard Worker
442*993b0882SAndroid Build Coastguard Workerbuild = [
443*993b0882SAndroid Build Coastguard Worker    "FlatBufferHeaders.bp",
444*993b0882SAndroid Build Coastguard Worker    "JavaTests.bp",
445*993b0882SAndroid Build Coastguard Worker]
446