xref: /aosp_15_r20/external/icing/Android.bp (revision 8b6cd535a057e39b3b86660c4aa06c99747c2136)
1*8b6cd535SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project
2*8b6cd535SAndroid Build Coastguard Worker//
3*8b6cd535SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*8b6cd535SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*8b6cd535SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*8b6cd535SAndroid Build Coastguard Worker//
7*8b6cd535SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*8b6cd535SAndroid Build Coastguard Worker//
9*8b6cd535SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*8b6cd535SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*8b6cd535SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*8b6cd535SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*8b6cd535SAndroid Build Coastguard Worker// limitations under the License.
14*8b6cd535SAndroid Build Coastguard Worker
15*8b6cd535SAndroid Build Coastguard Workerpackage {
16*8b6cd535SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_icing_license"],
17*8b6cd535SAndroid Build Coastguard Worker}
18*8b6cd535SAndroid Build Coastguard Worker
19*8b6cd535SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
20*8b6cd535SAndroid Build Coastguard Worker// See: http://go/android-license-faq
21*8b6cd535SAndroid Build Coastguard Workerlicense {
22*8b6cd535SAndroid Build Coastguard Worker    name: "external_icing_license",
23*8b6cd535SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
24*8b6cd535SAndroid Build Coastguard Worker    license_kinds: [
25*8b6cd535SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
26*8b6cd535SAndroid Build Coastguard Worker    ],
27*8b6cd535SAndroid Build Coastguard Worker    license_text: [
28*8b6cd535SAndroid Build Coastguard Worker        "LICENSE",
29*8b6cd535SAndroid Build Coastguard Worker    ],
30*8b6cd535SAndroid Build Coastguard Worker}
31*8b6cd535SAndroid Build Coastguard Worker
32*8b6cd535SAndroid Build Coastguard Workercc_defaults {
33*8b6cd535SAndroid Build Coastguard Worker    name: "libicing_defaults",
34*8b6cd535SAndroid Build Coastguard Worker
35*8b6cd535SAndroid Build Coastguard Worker    // For debug / treemap purposes.
36*8b6cd535SAndroid Build Coastguard Worker    //strip: {
37*8b6cd535SAndroid Build Coastguard Worker    //    keep_symbols: true,
38*8b6cd535SAndroid Build Coastguard Worker    //},
39*8b6cd535SAndroid Build Coastguard Worker
40*8b6cd535SAndroid Build Coastguard Worker    cflags: [
41*8b6cd535SAndroid Build Coastguard Worker        "-Wall",
42*8b6cd535SAndroid Build Coastguard Worker        "-Werror",
43*8b6cd535SAndroid Build Coastguard Worker        "-Wextra",
44*8b6cd535SAndroid Build Coastguard Worker        "-Wno-deprecated-declarations",
45*8b6cd535SAndroid Build Coastguard Worker        "-Wno-ignored-qualifiers",
46*8b6cd535SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
47*8b6cd535SAndroid Build Coastguard Worker        "-Wno-sign-compare",
48*8b6cd535SAndroid Build Coastguard Worker        "-Wno-tautological-constant-out-of-range-compare",
49*8b6cd535SAndroid Build Coastguard Worker        "-Wno-undefined-var-template",
50*8b6cd535SAndroid Build Coastguard Worker        "-Wno-unused-function",
51*8b6cd535SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
52*8b6cd535SAndroid Build Coastguard Worker        "-Wno-unused-private-field",
53*8b6cd535SAndroid Build Coastguard Worker        "-Wno-extern-c-compat",
54*8b6cd535SAndroid Build Coastguard Worker
55*8b6cd535SAndroid Build Coastguard Worker        "-funsigned-char",
56*8b6cd535SAndroid Build Coastguard Worker        "-fvisibility=hidden",
57*8b6cd535SAndroid Build Coastguard Worker
58*8b6cd535SAndroid Build Coastguard Worker        "-Bsymbolic",
59*8b6cd535SAndroid Build Coastguard Worker    ],
60*8b6cd535SAndroid Build Coastguard Worker    apex_available: ["com.android.appsearch"],
61*8b6cd535SAndroid Build Coastguard Worker}
62*8b6cd535SAndroid Build Coastguard Worker
63*8b6cd535SAndroid Build Coastguard Worker// TODO(b/193244409): Use the filegroup libicing_test_common along with
64*8b6cd535SAndroid Build Coastguard Worker//                    libicing_defaults to build libicing.
65*8b6cd535SAndroid Build Coastguard Workercc_library_shared {
66*8b6cd535SAndroid Build Coastguard Worker    name: "libicing",
67*8b6cd535SAndroid Build Coastguard Worker    defaults: ["libicing_defaults"],
68*8b6cd535SAndroid Build Coastguard Worker    srcs: [
69*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*.cc",
70*8b6cd535SAndroid Build Coastguard Worker    ],
71*8b6cd535SAndroid Build Coastguard Worker    exclude_srcs: [
72*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*-test-*",
73*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*-test.*",
74*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*_test.cc",
75*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*_benchmark.cc",
76*8b6cd535SAndroid Build Coastguard Worker        "icing/testing/**/*",
77*8b6cd535SAndroid Build Coastguard Worker        "icing/tokenization/reverse_jni/**/*",
78*8b6cd535SAndroid Build Coastguard Worker        "icing/tokenization/simple/**/*",
79*8b6cd535SAndroid Build Coastguard Worker        "icing/tools/**/*",
80*8b6cd535SAndroid Build Coastguard Worker        "icing/transform/map/**/*",
81*8b6cd535SAndroid Build Coastguard Worker        "icing/transform/simple/**/*",
82*8b6cd535SAndroid Build Coastguard Worker    ],
83*8b6cd535SAndroid Build Coastguard Worker    header_libs: ["jni_headers"],
84*8b6cd535SAndroid Build Coastguard Worker    static_libs: [
85*8b6cd535SAndroid Build Coastguard Worker        "icing-c-proto",
86*8b6cd535SAndroid Build Coastguard Worker        "libutf",
87*8b6cd535SAndroid Build Coastguard Worker    ],
88*8b6cd535SAndroid Build Coastguard Worker    shared_libs: [
89*8b6cd535SAndroid Build Coastguard Worker        "libicu",
90*8b6cd535SAndroid Build Coastguard Worker        "liblog",
91*8b6cd535SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
92*8b6cd535SAndroid Build Coastguard Worker        "libz",
93*8b6cd535SAndroid Build Coastguard Worker    ],
94*8b6cd535SAndroid Build Coastguard Worker    version_script: "icing/jni.lds",
95*8b6cd535SAndroid Build Coastguard Worker    min_sdk_version: "Tiramisu",
96*8b6cd535SAndroid Build Coastguard Worker}
97*8b6cd535SAndroid Build Coastguard Worker
98*8b6cd535SAndroid Build Coastguard Workerfilegroup {
99*8b6cd535SAndroid Build Coastguard Worker    name: "libicing_test_common",
100*8b6cd535SAndroid Build Coastguard Worker    // TODO(b/193244409): Utilize globs once all build errors are fixed.
101*8b6cd535SAndroid Build Coastguard Worker    srcs: [
102*8b6cd535SAndroid Build Coastguard Worker        "icing/absl_ports/*.cc",
103*8b6cd535SAndroid Build Coastguard Worker        "icing/file/**/*.cc",
104*8b6cd535SAndroid Build Coastguard Worker        "icing/index/**/*.cc",
105*8b6cd535SAndroid Build Coastguard Worker        "icing/legacy/**/*.cc",
106*8b6cd535SAndroid Build Coastguard Worker        "icing/portable/*.cc",
107*8b6cd535SAndroid Build Coastguard Worker        "icing/query/**/*.cc",
108*8b6cd535SAndroid Build Coastguard Worker        "icing/schema/*.cc",
109*8b6cd535SAndroid Build Coastguard Worker        "icing/scoring/**/*.cc",
110*8b6cd535SAndroid Build Coastguard Worker        "icing/store/*.cc",
111*8b6cd535SAndroid Build Coastguard Worker        "icing/testing/*.cc",
112*8b6cd535SAndroid Build Coastguard Worker        "icing/text_classifier/lib3/utils/base/*.cc",
113*8b6cd535SAndroid Build Coastguard Worker        "icing/text_classifier/lib3/utils/hash/*.cc",
114*8b6cd535SAndroid Build Coastguard Worker        "icing/tokenization/*.cc",
115*8b6cd535SAndroid Build Coastguard Worker        "icing/util/*.cc",
116*8b6cd535SAndroid Build Coastguard Worker    ],
117*8b6cd535SAndroid Build Coastguard Worker    // TODO(b/193244409): Remove after all the excluded tests are passing.
118*8b6cd535SAndroid Build Coastguard Worker    exclude_srcs: [
119*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*_benchmark.cc",
120*8b6cd535SAndroid Build Coastguard Worker        "icing/**/*-jni-layer.cc",
121*8b6cd535SAndroid Build Coastguard Worker        "icing/index/**/*_test.cc",
122*8b6cd535SAndroid Build Coastguard Worker        "icing/legacy/**/*_test.cc",
123*8b6cd535SAndroid Build Coastguard Worker        "icing/query/**/*_test.cc",
124*8b6cd535SAndroid Build Coastguard Worker        "icing/scoring/**/*_test.cc",
125*8b6cd535SAndroid Build Coastguard Worker        "icing/store/*_test.cc",
126*8b6cd535SAndroid Build Coastguard Worker        "icing/testing/*test.cc",
127*8b6cd535SAndroid Build Coastguard Worker        "icing/testing/*test-data.cc",
128*8b6cd535SAndroid Build Coastguard Worker        "icing/tokenization/*_test.cc",
129*8b6cd535SAndroid Build Coastguard Worker        "icing/util/*_test.cc",
130*8b6cd535SAndroid Build Coastguard Worker    ],
131*8b6cd535SAndroid Build Coastguard Worker}
132*8b6cd535SAndroid Build Coastguard Worker
133*8b6cd535SAndroid Build Coastguard Workercc_test {
134*8b6cd535SAndroid Build Coastguard Worker    name: "libicing_tests",
135*8b6cd535SAndroid Build Coastguard Worker    defaults: ["libicing_defaults"],
136*8b6cd535SAndroid Build Coastguard Worker    test_suites: ["device_tests"],
137*8b6cd535SAndroid Build Coastguard Worker    // TODO(b/193244409): Implement globs for additional tests.
138*8b6cd535SAndroid Build Coastguard Worker    srcs: [
139*8b6cd535SAndroid Build Coastguard Worker        ":libicing_test_common",
140*8b6cd535SAndroid Build Coastguard Worker    ],
141*8b6cd535SAndroid Build Coastguard Worker    static_libs: [
142*8b6cd535SAndroid Build Coastguard Worker        "icing-c-proto",
143*8b6cd535SAndroid Build Coastguard Worker        "libgmock",
144*8b6cd535SAndroid Build Coastguard Worker        "libgoogle-benchmark",
145*8b6cd535SAndroid Build Coastguard Worker        "libgtest",
146*8b6cd535SAndroid Build Coastguard Worker    ],
147*8b6cd535SAndroid Build Coastguard Worker    shared_libs: [
148*8b6cd535SAndroid Build Coastguard Worker        "libicu",
149*8b6cd535SAndroid Build Coastguard Worker        "libicu_cts_stub",
150*8b6cd535SAndroid Build Coastguard Worker        "liblog",
151*8b6cd535SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
152*8b6cd535SAndroid Build Coastguard Worker        "libz",
153*8b6cd535SAndroid Build Coastguard Worker    ],
154*8b6cd535SAndroid Build Coastguard Worker}
155*8b6cd535SAndroid Build Coastguard Worker
156*8b6cd535SAndroid Build Coastguard Worker// TODO(cassiewang): Add build rules and a TEST_MAPPING for cc_tests
157