xref: /aosp_15_r20/external/protobuf/Android.bp (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker// Copyright (C) 2009 The Android Open Source Project
2*1b3f573fSAndroid Build Coastguard Worker//
3*1b3f573fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*1b3f573fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*1b3f573fSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*1b3f573fSAndroid Build Coastguard Worker//
7*1b3f573fSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*1b3f573fSAndroid Build Coastguard Worker//
9*1b3f573fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*1b3f573fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*1b3f573fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*1b3f573fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*1b3f573fSAndroid Build Coastguard Worker// limitations under the License.
14*1b3f573fSAndroid Build Coastguard Worker
15*1b3f573fSAndroid Build Coastguard Workerpackage {
16*1b3f573fSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_protobuf_license"],
17*1b3f573fSAndroid Build Coastguard Worker}
18*1b3f573fSAndroid Build Coastguard Worker
19*1b3f573fSAndroid Build Coastguard Worker// Protobuf itself is BSD. Android build scripts are Apache 2.0.
20*1b3f573fSAndroid Build Coastguard Worker// Code in third_party/utf8_range and conformance/third_party/jsoncpp
21*1b3f573fSAndroid Build Coastguard Worker// is MIT licensed, which is covered by their separate Android.bp files.
22*1b3f573fSAndroid Build Coastguard Workerlicense {
23*1b3f573fSAndroid Build Coastguard Worker    name: "external_protobuf_license",
24*1b3f573fSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*1b3f573fSAndroid Build Coastguard Worker    license_kinds: [
26*1b3f573fSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*1b3f573fSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
28*1b3f573fSAndroid Build Coastguard Worker    ],
29*1b3f573fSAndroid Build Coastguard Worker    license_text: [
30*1b3f573fSAndroid Build Coastguard Worker        "LICENSE",
31*1b3f573fSAndroid Build Coastguard Worker    ],
32*1b3f573fSAndroid Build Coastguard Worker}
33*1b3f573fSAndroid Build Coastguard Worker
34*1b3f573fSAndroid Build Coastguard Worker// Applies only to java/core/src/stubs/sun/misc/Unsafe.java, which is copied
35*1b3f573fSAndroid Build Coastguard Worker// from GNU Classpath to work around a compilation issue.
36*1b3f573fSAndroid Build Coastguard Workerlicense {
37*1b3f573fSAndroid Build Coastguard Worker    name: "external_protobuf_libcore_private_stubs_license",
38*1b3f573fSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
39*1b3f573fSAndroid Build Coastguard Worker    license_kinds: [
40*1b3f573fSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
41*1b3f573fSAndroid Build Coastguard Worker    ],
42*1b3f573fSAndroid Build Coastguard Worker}
43*1b3f573fSAndroid Build Coastguard Worker
44*1b3f573fSAndroid Build Coastguard Workercc_defaults {
45*1b3f573fSAndroid Build Coastguard Worker    name: "protobuf-cflags-defaults",
46*1b3f573fSAndroid Build Coastguard Worker
47*1b3f573fSAndroid Build Coastguard Worker    cflags: [
48*1b3f573fSAndroid Build Coastguard Worker        "-Wall",
49*1b3f573fSAndroid Build Coastguard Worker        "-Werror",
50*1b3f573fSAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
51*1b3f573fSAndroid Build Coastguard Worker        "-Wno-unused-function",
52*1b3f573fSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
53*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=user-defined-warnings",
54*1b3f573fSAndroid Build Coastguard Worker    ],
55*1b3f573fSAndroid Build Coastguard Worker
56*1b3f573fSAndroid Build Coastguard Worker    target: {
57*1b3f573fSAndroid Build Coastguard Worker        windows: {
58*1b3f573fSAndroid Build Coastguard Worker            cflags: ["-Wno-macro-redefined"],
59*1b3f573fSAndroid Build Coastguard Worker        },
60*1b3f573fSAndroid Build Coastguard Worker    },
61*1b3f573fSAndroid Build Coastguard Worker}
62*1b3f573fSAndroid Build Coastguard Worker
63*1b3f573fSAndroid Build Coastguard Workercc_defaults {
64*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-lite-defaults",
65*1b3f573fSAndroid Build Coastguard Worker    defaults: ["protobuf-cflags-defaults"],
66*1b3f573fSAndroid Build Coastguard Worker    srcs: [
67*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any_lite.cc",
68*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arena.cc",
69*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arenastring.cc",
70*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arenaz_sampler.cc",
71*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/extension_set.cc",
72*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_enum_util.cc",
73*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_tctable_lite.cc",
74*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_util.cc",
75*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/implicit_weak_message.cc",
76*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/inlined_string_field.cc",
77*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/coded_stream.cc",
78*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/io_win32.cc",
79*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/strtod.cc",
80*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/zero_copy_stream.cc",
81*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/zero_copy_stream_impl.cc",
82*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
83*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map.cc",
84*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/message_lite.cc",
85*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/parse_context.cc",
86*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/repeated_field.cc",
87*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/repeated_ptr_field.cc",
88*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/bytestream.cc",
89*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/common.cc",
90*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/int128.cc",
91*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/status.cc",
92*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/statusor.cc",
93*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/stringpiece.cc",
94*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/stringprintf.cc",
95*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/structurally_valid.cc",
96*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/strutil.cc",
97*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/time.cc",
98*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/wire_format_lite.cc",
99*1b3f573fSAndroid Build Coastguard Worker    ],
100*1b3f573fSAndroid Build Coastguard Worker
101*1b3f573fSAndroid Build Coastguard Worker    local_include_dirs: [
102*1b3f573fSAndroid Build Coastguard Worker        "android",
103*1b3f573fSAndroid Build Coastguard Worker        "src",
104*1b3f573fSAndroid Build Coastguard Worker    ],
105*1b3f573fSAndroid Build Coastguard Worker    export_include_dirs: ["src"],
106*1b3f573fSAndroid Build Coastguard Worker
107*1b3f573fSAndroid Build Coastguard Worker    target: {
108*1b3f573fSAndroid Build Coastguard Worker        android: {
109*1b3f573fSAndroid Build Coastguard Worker            shared_libs: ["liblog"],
110*1b3f573fSAndroid Build Coastguard Worker        },
111*1b3f573fSAndroid Build Coastguard Worker        host: {
112*1b3f573fSAndroid Build Coastguard Worker            rtti: true,
113*1b3f573fSAndroid Build Coastguard Worker        },
114*1b3f573fSAndroid Build Coastguard Worker
115*1b3f573fSAndroid Build Coastguard Worker        // This suffix for vendor and product must be updated
116*1b3f573fSAndroid Build Coastguard Worker        // when a new version is imported.
117*1b3f573fSAndroid Build Coastguard Worker        vendor: {
118*1b3f573fSAndroid Build Coastguard Worker            suffix: "-21.12",
119*1b3f573fSAndroid Build Coastguard Worker        },
120*1b3f573fSAndroid Build Coastguard Worker        product: {
121*1b3f573fSAndroid Build Coastguard Worker            suffix: "-21.12",
122*1b3f573fSAndroid Build Coastguard Worker        },
123*1b3f573fSAndroid Build Coastguard Worker    },
124*1b3f573fSAndroid Build Coastguard Worker}
125*1b3f573fSAndroid Build Coastguard Worker
126*1b3f573fSAndroid Build Coastguard Worker// C++ lite library for the NDK.
127*1b3f573fSAndroid Build Coastguard Worker// =======================================================
128*1b3f573fSAndroid Build Coastguard Workercc_library_static {
129*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-lite-ndk",
130*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-lite-defaults"],
131*1b3f573fSAndroid Build Coastguard Worker
132*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "9",
133*1b3f573fSAndroid Build Coastguard Worker
134*1b3f573fSAndroid Build Coastguard Worker    stl: "c++_static",
135*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
136*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
137*1b3f573fSAndroid Build Coastguard Worker        "com.android.adservices",
138*1b3f573fSAndroid Build Coastguard Worker        "com.android.extservices",
139*1b3f573fSAndroid Build Coastguard Worker        "com.android.ondevicepersonalization",
140*1b3f573fSAndroid Build Coastguard Worker    ],
141*1b3f573fSAndroid Build Coastguard Worker    min_sdk_version: "30",
142*1b3f573fSAndroid Build Coastguard Worker}
143*1b3f573fSAndroid Build Coastguard Worker
144*1b3f573fSAndroid Build Coastguard Worker// C++ lite library for the platform and host.
145*1b3f573fSAndroid Build Coastguard Worker// =======================================================
146*1b3f573fSAndroid Build Coastguard Workercc_library {
147*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-lite",
148*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
149*1b3f573fSAndroid Build Coastguard Worker    ramdisk_available: true,
150*1b3f573fSAndroid Build Coastguard Worker    recovery_available: true,
151*1b3f573fSAndroid Build Coastguard Worker    vendor_available: true,
152*1b3f573fSAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
153*1b3f573fSAndroid Build Coastguard Worker    product_available: true,
154*1b3f573fSAndroid Build Coastguard Worker    double_loadable: true,
155*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-lite-defaults"],
156*1b3f573fSAndroid Build Coastguard Worker
157*1b3f573fSAndroid Build Coastguard Worker    target: {
158*1b3f573fSAndroid Build Coastguard Worker        windows: {
159*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
160*1b3f573fSAndroid Build Coastguard Worker        },
161*1b3f573fSAndroid Build Coastguard Worker    },
162*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
163*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
164*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:anyapex",
165*1b3f573fSAndroid Build Coastguard Worker    ],
166*1b3f573fSAndroid Build Coastguard Worker    min_sdk_version: "29",
167*1b3f573fSAndroid Build Coastguard Worker}
168*1b3f573fSAndroid Build Coastguard Worker
169*1b3f573fSAndroid Build Coastguard Worker// C++ full library
170*1b3f573fSAndroid Build Coastguard Worker// =======================================================
171*1b3f573fSAndroid Build Coastguard Workercc_defaults {
172*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-full-defaults",
173*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-lite-defaults"],
174*1b3f573fSAndroid Build Coastguard Worker
175*1b3f573fSAndroid Build Coastguard Worker    srcs: [
176*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any.cc",
177*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any.pb.cc",
178*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/api.pb.cc",
179*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/importer.cc",
180*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/parser.cc",
181*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor.cc",
182*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor.pb.cc",
183*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor_database.cc",
184*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/duration.pb.cc",
185*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/dynamic_message.cc",
186*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/empty.pb.cc",
187*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/extension_set_heavy.cc",
188*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/field_mask.pb.cc",
189*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_bases.cc",
190*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_reflection.cc",
191*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_tctable_full.cc",
192*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/gzip_stream.cc",
193*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/printer.cc",
194*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/tokenizer.cc",
195*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_field.cc",
196*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/message.cc",
197*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/reflection_ops.cc",
198*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/service.cc",
199*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/source_context.pb.cc",
200*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/struct.pb.cc",
201*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/substitute.cc",
202*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/text_format.cc",
203*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/timestamp.pb.cc",
204*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/type.pb.cc",
205*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unknown_field_set.cc",
206*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/delimited_message_util.cc",
207*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/field_comparator.cc",
208*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/field_mask_util.cc",
209*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/datapiece.cc",
210*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/default_value_objectwriter.cc",
211*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/error_listener.cc",
212*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/field_mask_utility.cc",
213*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/json_escaping.cc",
214*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/json_objectwriter.cc",
215*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/json_stream_parser.cc",
216*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/object_writer.cc",
217*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/proto_writer.cc",
218*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/protostream_objectsource.cc",
219*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/protostream_objectwriter.cc",
220*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/type_info.cc",
221*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/utility.cc",
222*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/json_util.cc",
223*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/message_differencer.cc",
224*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/time_util.cc",
225*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/type_resolver_util.cc",
226*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/wire_format.cc",
227*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/wrappers.pb.cc",
228*1b3f573fSAndroid Build Coastguard Worker    ],
229*1b3f573fSAndroid Build Coastguard Worker
230*1b3f573fSAndroid Build Coastguard Worker    cflags: ["-DHAVE_ZLIB=1"],
231*1b3f573fSAndroid Build Coastguard Worker    shared_libs: ["libz"],
232*1b3f573fSAndroid Build Coastguard Worker}
233*1b3f573fSAndroid Build Coastguard Worker
234*1b3f573fSAndroid Build Coastguard Worker// C++ full library for the NDK.
235*1b3f573fSAndroid Build Coastguard Worker// =======================================================
236*1b3f573fSAndroid Build Coastguard Workercc_library_static {
237*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-full-ndk",
238*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-full-defaults"],
239*1b3f573fSAndroid Build Coastguard Worker
240*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "9",
241*1b3f573fSAndroid Build Coastguard Worker
242*1b3f573fSAndroid Build Coastguard Worker    stl: "c++_static",
243*1b3f573fSAndroid Build Coastguard Worker}
244*1b3f573fSAndroid Build Coastguard Worker
245*1b3f573fSAndroid Build Coastguard Worker// C++ full library for the platform and host
246*1b3f573fSAndroid Build Coastguard Worker// =======================================================
247*1b3f573fSAndroid Build Coastguard Workercc_library {
248*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-full",
249*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-full-defaults"],
250*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
251*1b3f573fSAndroid Build Coastguard Worker    vendor_available: true,
252*1b3f573fSAndroid Build Coastguard Worker    product_available: true,
253*1b3f573fSAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
254*1b3f573fSAndroid Build Coastguard Worker    native_bridge_supported: true,
255*1b3f573fSAndroid Build Coastguard Worker    target: {
256*1b3f573fSAndroid Build Coastguard Worker        android: {
257*1b3f573fSAndroid Build Coastguard Worker            static: {
258*1b3f573fSAndroid Build Coastguard Worker                enabled: false,
259*1b3f573fSAndroid Build Coastguard Worker            },
260*1b3f573fSAndroid Build Coastguard Worker        },
261*1b3f573fSAndroid Build Coastguard Worker        windows: {
262*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
263*1b3f573fSAndroid Build Coastguard Worker        },
264*1b3f573fSAndroid Build Coastguard Worker    },
265*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
266*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
267*1b3f573fSAndroid Build Coastguard Worker        "com.android.appsearch",
268*1b3f573fSAndroid Build Coastguard Worker        "com.android.virt",
269*1b3f573fSAndroid Build Coastguard Worker    ],
270*1b3f573fSAndroid Build Coastguard Worker    min_sdk_version: "29",
271*1b3f573fSAndroid Build Coastguard Worker}
272*1b3f573fSAndroid Build Coastguard Worker
273*1b3f573fSAndroid Build Coastguard Workercc_test_library {
274*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-cpp-full-test",
275*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-full-defaults"],
276*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
277*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
278*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
279*1b3f573fSAndroid Build Coastguard Worker        "com.android.os.statsd",
280*1b3f573fSAndroid Build Coastguard Worker        "test_com.android.os.statsd",
281*1b3f573fSAndroid Build Coastguard Worker    ],
282*1b3f573fSAndroid Build Coastguard Worker    min_sdk_version: "29",
283*1b3f573fSAndroid Build Coastguard Worker}
284*1b3f573fSAndroid Build Coastguard Worker
285*1b3f573fSAndroid Build Coastguard Worker// Compiler library for the host
286*1b3f573fSAndroid Build Coastguard Worker// =======================================================
287*1b3f573fSAndroid Build Coastguard Workercc_library {
288*1b3f573fSAndroid Build Coastguard Worker    name: "libprotoc",
289*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
290*1b3f573fSAndroid Build Coastguard Worker    device_supported: false,
291*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-cpp-full-defaults"],
292*1b3f573fSAndroid Build Coastguard Worker
293*1b3f573fSAndroid Build Coastguard Worker    srcs: [
294*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/code_generator.cc",
295*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/command_line_interface.cc",
296*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/enum.cc",
297*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/enum_field.cc",
298*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/extension.cc",
299*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/field.cc",
300*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/file.cc",
301*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/generator.cc",
302*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/helpers.cc",
303*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/map_field.cc",
304*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/message.cc",
305*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/message_field.cc",
306*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/padding_optimizer.cc",
307*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/parse_function_generator.cc",
308*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/primitive_field.cc",
309*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/service.cc",
310*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/cpp/string_field.cc",
311*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
312*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_enum.cc",
313*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
314*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_field_base.cc",
315*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_generator.cc",
316*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_helpers.cc",
317*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_map_field.cc",
318*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_message.cc",
319*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_message_field.cc",
320*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
321*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
322*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
323*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
324*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
325*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
326*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
327*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/context.cc",
328*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/doc_comment.cc",
329*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/enum.cc",
330*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/enum_field.cc",
331*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/enum_field_lite.cc",
332*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/enum_lite.cc",
333*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/extension.cc",
334*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/extension_lite.cc",
335*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/field.cc",
336*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/file.cc",
337*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/generator.cc",
338*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/generator_factory.cc",
339*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/helpers.cc",
340*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/kotlin_generator.cc",
341*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/map_field.cc",
342*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/map_field_lite.cc",
343*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message.cc",
344*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message_builder.cc",
345*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message_builder_lite.cc",
346*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message_field.cc",
347*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message_field_lite.cc",
348*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/message_lite.cc",
349*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/name_resolver.cc",
350*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/primitive_field.cc",
351*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/primitive_field_lite.cc",
352*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/service.cc",
353*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/shared_code_generator.cc",
354*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/string_field.cc",
355*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/java/string_field_lite.cc",
356*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
357*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
358*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
359*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_field.cc",
360*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_file.cc",
361*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
362*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
363*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
364*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_message.cc",
365*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
366*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
367*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
368*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/php/php_generator.cc",
369*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/plugin.cc",
370*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/plugin.pb.cc",
371*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/python/generator.cc",
372*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/python/helpers.cc",
373*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/python/pyi_generator.cc",
374*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/ruby/ruby_generator.cc",
375*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/subprocess.cc",
376*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/zip_writer.cc",
377*1b3f573fSAndroid Build Coastguard Worker    ],
378*1b3f573fSAndroid Build Coastguard Worker
379*1b3f573fSAndroid Build Coastguard Worker    export_include_dirs: [
380*1b3f573fSAndroid Build Coastguard Worker        "android",
381*1b3f573fSAndroid Build Coastguard Worker        "src",
382*1b3f573fSAndroid Build Coastguard Worker        "config",
383*1b3f573fSAndroid Build Coastguard Worker    ],
384*1b3f573fSAndroid Build Coastguard Worker    cflags: [
385*1b3f573fSAndroid Build Coastguard Worker        "-Wno-unused-private-field",
386*1b3f573fSAndroid Build Coastguard Worker    ],
387*1b3f573fSAndroid Build Coastguard Worker
388*1b3f573fSAndroid Build Coastguard Worker    target: {
389*1b3f573fSAndroid Build Coastguard Worker        windows: {
390*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
391*1b3f573fSAndroid Build Coastguard Worker            // defined by the global cflags, but redefined by protobuf
392*1b3f573fSAndroid Build Coastguard Worker            cflags: ["-UWIN32_LEAN_AND_MEAN"],
393*1b3f573fSAndroid Build Coastguard Worker        },
394*1b3f573fSAndroid Build Coastguard Worker    },
395*1b3f573fSAndroid Build Coastguard Worker}
396*1b3f573fSAndroid Build Coastguard Worker
397*1b3f573fSAndroid Build Coastguard Worker// Android Protocol buffer compiler, aprotoc (host executable)
398*1b3f573fSAndroid Build Coastguard Worker// used by the build systems as $(PROTOC) defined in
399*1b3f573fSAndroid Build Coastguard Worker// build/core/config.mk
400*1b3f573fSAndroid Build Coastguard Worker// =======================================================
401*1b3f573fSAndroid Build Coastguard Workercc_binary_host {
402*1b3f573fSAndroid Build Coastguard Worker    name: "aprotoc",
403*1b3f573fSAndroid Build Coastguard Worker    defaults: ["protobuf-cflags-defaults"],
404*1b3f573fSAndroid Build Coastguard Worker
405*1b3f573fSAndroid Build Coastguard Worker    target: {
406*1b3f573fSAndroid Build Coastguard Worker        windows: {
407*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
408*1b3f573fSAndroid Build Coastguard Worker            // defined by the global cflags, but redefined by protobuf
409*1b3f573fSAndroid Build Coastguard Worker            cflags: ["-UWIN32_LEAN_AND_MEAN"],
410*1b3f573fSAndroid Build Coastguard Worker        },
411*1b3f573fSAndroid Build Coastguard Worker    },
412*1b3f573fSAndroid Build Coastguard Worker
413*1b3f573fSAndroid Build Coastguard Worker    // Statically link libc++ because we copy aprotoc to unbundled projects where
414*1b3f573fSAndroid Build Coastguard Worker    // libc++.so may not be available.
415*1b3f573fSAndroid Build Coastguard Worker    stl: "libc++_static",
416*1b3f573fSAndroid Build Coastguard Worker
417*1b3f573fSAndroid Build Coastguard Worker    srcs: [
418*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/main.cc",
419*1b3f573fSAndroid Build Coastguard Worker    ],
420*1b3f573fSAndroid Build Coastguard Worker
421*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
422*1b3f573fSAndroid Build Coastguard Worker        "libprotoc",
423*1b3f573fSAndroid Build Coastguard Worker        "libz",
424*1b3f573fSAndroid Build Coastguard Worker    ],
425*1b3f573fSAndroid Build Coastguard Worker
426*1b3f573fSAndroid Build Coastguard Worker    cflags: [
427*1b3f573fSAndroid Build Coastguard Worker        "-DHAVE_ZLIB=1",
428*1b3f573fSAndroid Build Coastguard Worker    ],
429*1b3f573fSAndroid Build Coastguard Worker
430*1b3f573fSAndroid Build Coastguard Worker    rtti: true,
431*1b3f573fSAndroid Build Coastguard Worker}
432*1b3f573fSAndroid Build Coastguard Worker
433*1b3f573fSAndroid Build Coastguard Workercc_test {
434*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf_vendor_suffix_test",
435*1b3f573fSAndroid Build Coastguard Worker    vendor: true,
436*1b3f573fSAndroid Build Coastguard Worker    srcs: ["vendor_suffix_test.cpp"],
437*1b3f573fSAndroid Build Coastguard Worker    shared_libs: [
438*1b3f573fSAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
439*1b3f573fSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
440*1b3f573fSAndroid Build Coastguard Worker    ],
441*1b3f573fSAndroid Build Coastguard Worker    static_libs: ["libbase"],
442*1b3f573fSAndroid Build Coastguard Worker    stl: "libc++",
443*1b3f573fSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
444*1b3f573fSAndroid Build Coastguard Worker    test_config: "vendor_suffix_test.config",
445*1b3f573fSAndroid Build Coastguard Worker}
446*1b3f573fSAndroid Build Coastguard Worker
447*1b3f573fSAndroid Build Coastguard Workerjava_defaults {
448*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf_errorprone_defaults",
449*1b3f573fSAndroid Build Coastguard Worker    errorprone: {
450*1b3f573fSAndroid Build Coastguard Worker        javacflags: [
451*1b3f573fSAndroid Build Coastguard Worker            "-Xep:MissingOverride:OFF", // b/73499927
452*1b3f573fSAndroid Build Coastguard Worker            "-Xep:IgnoredPureGetter:WARN",
453*1b3f573fSAndroid Build Coastguard Worker        ],
454*1b3f573fSAndroid Build Coastguard Worker    },
455*1b3f573fSAndroid Build Coastguard Worker}
456*1b3f573fSAndroid Build Coastguard Worker
457*1b3f573fSAndroid Build Coastguard Worker// Java nano library
458*1b3f573fSAndroid Build Coastguard Worker// =======================================================
459*1b3f573fSAndroid Build Coastguard Workerjava_library_static {
460*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-java-nano",
461*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf_errorprone_defaults"],
462*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
463*1b3f573fSAndroid Build Coastguard Worker
464*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "9",
465*1b3f573fSAndroid Build Coastguard Worker
466*1b3f573fSAndroid Build Coastguard Worker    srcs: [
467*1b3f573fSAndroid Build Coastguard Worker        "javanano/src/main/java/com/google/protobuf/nano/**/*.java",
468*1b3f573fSAndroid Build Coastguard Worker    ],
469*1b3f573fSAndroid Build Coastguard Worker
470*1b3f573fSAndroid Build Coastguard Worker    target: {
471*1b3f573fSAndroid Build Coastguard Worker        android: {
472*1b3f573fSAndroid Build Coastguard Worker            srcs: ["javanano/src/device/main/java/com/google/protobuf/nano/**/*.java"],
473*1b3f573fSAndroid Build Coastguard Worker        },
474*1b3f573fSAndroid Build Coastguard Worker    },
475*1b3f573fSAndroid Build Coastguard Worker
476*1b3f573fSAndroid Build Coastguard Worker    java_version: "1.7",
477*1b3f573fSAndroid Build Coastguard Worker
478*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
479*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
480*1b3f573fSAndroid Build Coastguard Worker        "com.android.tethering",
481*1b3f573fSAndroid Build Coastguard Worker        "com.android.wifi",
482*1b3f573fSAndroid Build Coastguard Worker        "com.android.neuralnetworks",
483*1b3f573fSAndroid Build Coastguard Worker    ],
484*1b3f573fSAndroid Build Coastguard Worker}
485*1b3f573fSAndroid Build Coastguard Worker
486*1b3f573fSAndroid Build Coastguard Worker// Java micro library
487*1b3f573fSAndroid Build Coastguard Worker// =======================================================
488*1b3f573fSAndroid Build Coastguard Workerjava_library_static {
489*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-java-micro",
490*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf_errorprone_defaults"],
491*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
492*1b3f573fSAndroid Build Coastguard Worker
493*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "8",
494*1b3f573fSAndroid Build Coastguard Worker
495*1b3f573fSAndroid Build Coastguard Worker    srcs: ["javamicro/src/main/java/com/google/protobuf/micro/**/*.java"],
496*1b3f573fSAndroid Build Coastguard Worker
497*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
498*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
499*1b3f573fSAndroid Build Coastguard Worker        "com.android.btservices",
500*1b3f573fSAndroid Build Coastguard Worker    ],
501*1b3f573fSAndroid Build Coastguard Worker}
502*1b3f573fSAndroid Build Coastguard Worker
503*1b3f573fSAndroid Build Coastguard Worker// Java lite library
504*1b3f573fSAndroid Build Coastguard Worker// =======================================================
505*1b3f573fSAndroid Build Coastguard Workerjava_library_static {
506*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-java-lite",
507*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
508*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "core_current",
509*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf_errorprone_defaults"],
510*1b3f573fSAndroid Build Coastguard Worker
511*1b3f573fSAndroid Build Coastguard Worker    srcs: [
512*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/AbstractMessageLite.java",
513*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/AbstractParser.java",
514*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/AbstractProtobufList.java",
515*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/AllocatedBuffer.java",
516*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Android.java",
517*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ArrayDecoders.java",
518*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/BinaryReader.java",
519*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/BinaryWriter.java",
520*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/BooleanArrayList.java",
521*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/BufferAllocator.java",
522*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ByteBufferWriter.java",
523*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ByteOutput.java",
524*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ByteString.java",
525*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CanIgnoreReturnValue.java",
526*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CheckReturnValue.java",
527*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CodedInputStream.java",
528*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CodedInputStreamReader.java",
529*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CodedOutputStream.java",
530*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CodedOutputStreamWriter.java",
531*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/CompileTimeConstant.java",
532*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/DoubleArrayList.java",
533*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExperimentalApi.java",
534*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionLite.java",
535*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionRegistryFactory.java",
536*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java",
537*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionSchema.java",
538*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionSchemaLite.java",
539*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ExtensionSchemas.java",
540*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/FieldInfo.java",
541*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/FieldSet.java",
542*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/FieldType.java",
543*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/FloatArrayList.java",
544*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/GeneratedMessageInfoFactory.java",
545*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/GeneratedMessageLite.java",
546*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/InlineMe.java",
547*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/IntArrayList.java",
548*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Internal.java",
549*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java",
550*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/IterableByteBufferInputStream.java",
551*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/JavaType.java",
552*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/LazyField.java",
553*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/LazyFieldLite.java",
554*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/LazyStringArrayList.java",
555*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/LazyStringList.java",
556*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ListFieldSchema.java",
557*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/LongArrayList.java",
558*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ManifestSchemaFactory.java",
559*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MapEntryLite.java",
560*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MapFieldLite.java",
561*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MapFieldSchema.java",
562*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MapFieldSchemaLite.java",
563*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MapFieldSchemas.java",
564*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageInfo.java",
565*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageInfoFactory.java",
566*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageLite.java",
567*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java",
568*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageLiteToString.java",
569*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageSchema.java",
570*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MessageSetSchema.java",
571*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/MutabilityOracle.java",
572*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/NewInstanceSchema.java",
573*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/NewInstanceSchemaLite.java",
574*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/NewInstanceSchemas.java",
575*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/NioByteString.java",
576*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/OneofInfo.java",
577*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Parser.java",
578*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/PrimitiveNonBoxingCollection.java",
579*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ProtoSyntax.java",
580*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Protobuf.java",
581*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ProtobufArrayList.java",
582*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ProtobufLists.java",
583*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/ProtocolStringList.java",
584*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/RawMessageInfo.java",
585*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Reader.java",
586*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/RopeByteString.java",
587*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Schema.java",
588*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/SchemaFactory.java",
589*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/SchemaUtil.java",
590*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/SmallSortedMap.java",
591*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/StructuralMessageInfo.java",
592*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/TextFormatEscaper.java",
593*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UninitializedMessageException.java",
594*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnknownFieldSchema.java",
595*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnknownFieldSetLite.java",
596*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnknownFieldSetLiteSchema.java",
597*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java",
598*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnsafeByteOperations.java",
599*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/UnsafeUtil.java",
600*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Utf8.java",
601*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/WireFormat.java",
602*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/com/google/protobuf/Writer.java",
603*1b3f573fSAndroid Build Coastguard Worker    ],
604*1b3f573fSAndroid Build Coastguard Worker
605*1b3f573fSAndroid Build Coastguard Worker    target: {
606*1b3f573fSAndroid Build Coastguard Worker        android: {
607*1b3f573fSAndroid Build Coastguard Worker            libs: ["libcore_private.stubs"],
608*1b3f573fSAndroid Build Coastguard Worker        },
609*1b3f573fSAndroid Build Coastguard Worker        windows: {
610*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
611*1b3f573fSAndroid Build Coastguard Worker        },
612*1b3f573fSAndroid Build Coastguard Worker    },
613*1b3f573fSAndroid Build Coastguard Worker
614*1b3f573fSAndroid Build Coastguard Worker    java_version: "1.7",
615*1b3f573fSAndroid Build Coastguard Worker
616*1b3f573fSAndroid Build Coastguard Worker    apex_available: [
617*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:platform",
618*1b3f573fSAndroid Build Coastguard Worker        "//apex_available:anyapex",
619*1b3f573fSAndroid Build Coastguard Worker    ],
620*1b3f573fSAndroid Build Coastguard Worker
621*1b3f573fSAndroid Build Coastguard Worker    optimize: {
622*1b3f573fSAndroid Build Coastguard Worker        proguard_flags_files: ["java/lite/proguard.pgcfg"],
623*1b3f573fSAndroid Build Coastguard Worker    },
624*1b3f573fSAndroid Build Coastguard Worker}
625*1b3f573fSAndroid Build Coastguard Worker
626*1b3f573fSAndroid Build Coastguard Worker// Java lite library (compatibility for old host-side users)
627*1b3f573fSAndroid Build Coastguard Worker// =======================================================
628*1b3f573fSAndroid Build Coastguard Workerjava_library_host {
629*1b3f573fSAndroid Build Coastguard Worker    name: "host-libprotobuf-java-lite",
630*1b3f573fSAndroid Build Coastguard Worker    static_libs: ["libprotobuf-java-lite"],
631*1b3f573fSAndroid Build Coastguard Worker}
632*1b3f573fSAndroid Build Coastguard Worker
633*1b3f573fSAndroid Build Coastguard Worker// Java full library (for host-side users)
634*1b3f573fSAndroid Build Coastguard Worker// =======================================================
635*1b3f573fSAndroid Build Coastguard Workerjava_library_host {
636*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-java-full",
637*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf_errorprone_defaults"],
638*1b3f573fSAndroid Build Coastguard Worker
639*1b3f573fSAndroid Build Coastguard Worker    srcs: [
640*1b3f573fSAndroid Build Coastguard Worker        "java/core/src/main/java/**/*.java",
641*1b3f573fSAndroid Build Coastguard Worker        ":libprotobuf-internal-protos",
642*1b3f573fSAndroid Build Coastguard Worker    ],
643*1b3f573fSAndroid Build Coastguard Worker
644*1b3f573fSAndroid Build Coastguard Worker    proto: {
645*1b3f573fSAndroid Build Coastguard Worker        type: "full",
646*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: [
647*1b3f573fSAndroid Build Coastguard Worker            "src",
648*1b3f573fSAndroid Build Coastguard Worker        ],
649*1b3f573fSAndroid Build Coastguard Worker        canonical_path_from_root: false,
650*1b3f573fSAndroid Build Coastguard Worker    },
651*1b3f573fSAndroid Build Coastguard Worker
652*1b3f573fSAndroid Build Coastguard Worker    java_version: "1.7",
653*1b3f573fSAndroid Build Coastguard Worker    target: {
654*1b3f573fSAndroid Build Coastguard Worker        windows: {
655*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
656*1b3f573fSAndroid Build Coastguard Worker        },
657*1b3f573fSAndroid Build Coastguard Worker    },
658*1b3f573fSAndroid Build Coastguard Worker}
659*1b3f573fSAndroid Build Coastguard Worker
660*1b3f573fSAndroid Build Coastguard Workerjava_library_host {
661*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-java-util-full",
662*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf_errorprone_defaults"],
663*1b3f573fSAndroid Build Coastguard Worker    srcs: [
664*1b3f573fSAndroid Build Coastguard Worker        "java/util/src/main/java/com/google/protobuf/util/*.java",
665*1b3f573fSAndroid Build Coastguard Worker    ],
666*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
667*1b3f573fSAndroid Build Coastguard Worker        "error_prone_annotations",
668*1b3f573fSAndroid Build Coastguard Worker        "gson",
669*1b3f573fSAndroid Build Coastguard Worker        "guava",
670*1b3f573fSAndroid Build Coastguard Worker        "guava-android-annotation-stubs",
671*1b3f573fSAndroid Build Coastguard Worker        "libprotobuf-java-full",
672*1b3f573fSAndroid Build Coastguard Worker    ],
673*1b3f573fSAndroid Build Coastguard Worker    // b/267831518: Pin tradefed and dependencies to Java 11.
674*1b3f573fSAndroid Build Coastguard Worker    java_version: "11",
675*1b3f573fSAndroid Build Coastguard Worker    target: {
676*1b3f573fSAndroid Build Coastguard Worker        windows: {
677*1b3f573fSAndroid Build Coastguard Worker            enabled: true,
678*1b3f573fSAndroid Build Coastguard Worker        },
679*1b3f573fSAndroid Build Coastguard Worker    },
680*1b3f573fSAndroid Build Coastguard Worker}
681*1b3f573fSAndroid Build Coastguard Worker
682*1b3f573fSAndroid Build Coastguard Worker// Java full library (compatibility for old host-side users)
683*1b3f573fSAndroid Build Coastguard Worker// =======================================================
684*1b3f573fSAndroid Build Coastguard Workerjava_library_host {
685*1b3f573fSAndroid Build Coastguard Worker    name: "host-libprotobuf-java-full",
686*1b3f573fSAndroid Build Coastguard Worker    static_libs: ["libprotobuf-java-full"],
687*1b3f573fSAndroid Build Coastguard Worker}
688*1b3f573fSAndroid Build Coastguard Worker
689*1b3f573fSAndroid Build Coastguard Worker// Stubs library for using hidden APIs in core-oj and core-libart
690*1b3f573fSAndroid Build Coastguard Worker// =======================================================
691*1b3f573fSAndroid Build Coastguard Workerjava_library {
692*1b3f573fSAndroid Build Coastguard Worker    name: "libcore_private.stubs",
693*1b3f573fSAndroid Build Coastguard Worker    srcs: ["java/core/src/stubs/**/*.java"],
694*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "core_current",
695*1b3f573fSAndroid Build Coastguard Worker    installable: false,
696*1b3f573fSAndroid Build Coastguard Worker    licenses: ["external_protobuf_libcore_private_stubs_license"],
697*1b3f573fSAndroid Build Coastguard Worker    is_stubs_module: true,
698*1b3f573fSAndroid Build Coastguard Worker}
699*1b3f573fSAndroid Build Coastguard Worker
700*1b3f573fSAndroid Build Coastguard Worker// Python library
701*1b3f573fSAndroid Build Coastguard Worker// =======================================================
702*1b3f573fSAndroid Build Coastguard Workerpython_library {
703*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-python",
704*1b3f573fSAndroid Build Coastguard Worker    srcs: [
705*1b3f573fSAndroid Build Coastguard Worker        ":libprotobuf-internal-python-srcs",
706*1b3f573fSAndroid Build Coastguard Worker        ":libprotobuf-internal-protos",
707*1b3f573fSAndroid Build Coastguard Worker    ],
708*1b3f573fSAndroid Build Coastguard Worker    libs: [
709*1b3f573fSAndroid Build Coastguard Worker        "py-six",
710*1b3f573fSAndroid Build Coastguard Worker    ],
711*1b3f573fSAndroid Build Coastguard Worker    proto: {
712*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: [
713*1b3f573fSAndroid Build Coastguard Worker            "src",
714*1b3f573fSAndroid Build Coastguard Worker        ],
715*1b3f573fSAndroid Build Coastguard Worker        canonical_path_from_root: false,
716*1b3f573fSAndroid Build Coastguard Worker    },
717*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
718*1b3f573fSAndroid Build Coastguard Worker}
719*1b3f573fSAndroid Build Coastguard Worker
720*1b3f573fSAndroid Build Coastguard Workerfilegroup {
721*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-internal-python-srcs",
722*1b3f573fSAndroid Build Coastguard Worker    srcs: ["python/google/**/*.py"],
723*1b3f573fSAndroid Build Coastguard Worker    path: "python",
724*1b3f573fSAndroid Build Coastguard Worker}
725*1b3f573fSAndroid Build Coastguard Worker
726*1b3f573fSAndroid Build Coastguard Workerfilegroup {
727*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-internal-java-full-srcs",
728*1b3f573fSAndroid Build Coastguard Worker    srcs: ["java/core/src/main/java/**/*.java"],
729*1b3f573fSAndroid Build Coastguard Worker    path: "java",
730*1b3f573fSAndroid Build Coastguard Worker}
731*1b3f573fSAndroid Build Coastguard Worker
732*1b3f573fSAndroid Build Coastguard Workerfilegroup {
733*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-internal-protos",
734*1b3f573fSAndroid Build Coastguard Worker    srcs: [
735*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor.proto",
736*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any.proto",
737*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/source_context.proto",
738*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/type.proto",
739*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/plugin.proto",
740*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/api.proto",
741*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/duration.proto",
742*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/empty.proto",
743*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/field_mask.proto",
744*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/struct.proto",
745*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/timestamp.proto",
746*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/wrappers.proto",
747*1b3f573fSAndroid Build Coastguard Worker    ],
748*1b3f573fSAndroid Build Coastguard Worker    path: "src",
749*1b3f573fSAndroid Build Coastguard Worker}
750*1b3f573fSAndroid Build Coastguard Worker
751*1b3f573fSAndroid Build Coastguard Workerfilegroup {
752*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-internal-descriptor-proto",
753*1b3f573fSAndroid Build Coastguard Worker    srcs: [
754*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor.proto",
755*1b3f573fSAndroid Build Coastguard Worker    ],
756*1b3f573fSAndroid Build Coastguard Worker    path: "src",
757*1b3f573fSAndroid Build Coastguard Worker}
758*1b3f573fSAndroid Build Coastguard Worker
759*1b3f573fSAndroid Build Coastguard Workerfilegroup {
760*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-internal-any-proto",
761*1b3f573fSAndroid Build Coastguard Worker    srcs: [
762*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any.proto",
763*1b3f573fSAndroid Build Coastguard Worker    ],
764*1b3f573fSAndroid Build Coastguard Worker    path: "src",
765*1b3f573fSAndroid Build Coastguard Worker}
766*1b3f573fSAndroid Build Coastguard Worker
767*1b3f573fSAndroid Build Coastguard Worker// Unit tests
768*1b3f573fSAndroid Build Coastguard Worker// =======================================================
769*1b3f573fSAndroid Build Coastguard Workercc_defaults {
770*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-test-defaults",
771*1b3f573fSAndroid Build Coastguard Worker    host_supported: true,
772*1b3f573fSAndroid Build Coastguard Worker    compile_multilib: "64",
773*1b3f573fSAndroid Build Coastguard Worker    proto: {
774*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: ["src"],
775*1b3f573fSAndroid Build Coastguard Worker        canonical_path_from_root: false,
776*1b3f573fSAndroid Build Coastguard Worker    },
777*1b3f573fSAndroid Build Coastguard Worker    shared_libs: ["liblog"],
778*1b3f573fSAndroid Build Coastguard Worker}
779*1b3f573fSAndroid Build Coastguard Worker
780*1b3f573fSAndroid Build Coastguard Workerfilegroup {
781*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-test-protos-lite",
782*1b3f573fSAndroid Build Coastguard Worker    srcs: [
783*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_lite_unittest.proto",
784*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import.proto",
785*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_lite.proto",
786*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_public.proto",
787*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_public_lite.proto",
788*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_lite.proto",
789*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_proto3.proto",
790*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_proto3_arena.proto",
791*1b3f573fSAndroid Build Coastguard Worker    ],
792*1b3f573fSAndroid Build Coastguard Worker    path: "src",
793*1b3f573fSAndroid Build Coastguard Worker}
794*1b3f573fSAndroid Build Coastguard Worker
795*1b3f573fSAndroid Build Coastguard Worker// Full test protos include some lite protos, because they are used in
796*1b3f573fSAndroid Build Coastguard Worker// unknown_field_set_unittest.cc, which mixes full and lite protos.
797*1b3f573fSAndroid Build Coastguard Worker// Full protos are a strict superset of lite protos, so this shouldn't
798*1b3f573fSAndroid Build Coastguard Worker// matter for the test.
799*1b3f573fSAndroid Build Coastguard Workerfilegroup {
800*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-test-protos-full",
801*1b3f573fSAndroid Build Coastguard Worker    srcs: [
802*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any_test.proto",
803*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_unittest.proto",
804*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_proto2_unittest.proto",
805*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/test_messages_proto2.proto",
806*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/test_messages_proto3.proto",
807*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest.proto",
808*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_arena.proto",
809*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_custom_options.proto",
810*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_drop_unknown_fields.proto",
811*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_embed_optimize_for.proto",
812*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_empty.proto",
813*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_enormous_descriptor.proto",
814*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import.proto",
815*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_lite.proto",
816*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_public.proto",
817*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_import_public_lite.proto",
818*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_lazy_dependencies.proto",
819*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_lazy_dependencies_custom_option.proto",
820*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_lazy_dependencies_enum.proto",
821*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_lite.proto",
822*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_mset_wire_format.proto",
823*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_mset.proto",
824*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_no_field_presence.proto",
825*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_no_generic_services.proto",
826*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_optimize_for.proto",
827*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_preserve_unknown_enum.proto",
828*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_preserve_unknown_enum2.proto",
829*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_proto3_arena.proto",
830*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_proto3_optional.proto",
831*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_proto3.proto",
832*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unittest_well_known_types.proto",
833*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/anys.proto",
834*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/books.proto",
835*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/default_value.proto",
836*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/default_value_test.proto",
837*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/field_mask.proto",
838*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/maps.proto",
839*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/oneofs.proto",
840*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/proto3.proto",
841*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/struct.proto",
842*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/timestamp_duration.proto",
843*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/testdata/wrappers.proto",
844*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/json_format.proto",
845*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/json_format_proto3.proto",
846*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/message_differencer_unittest.proto",
847*1b3f573fSAndroid Build Coastguard Worker    ],
848*1b3f573fSAndroid Build Coastguard Worker    path: "src",
849*1b3f573fSAndroid Build Coastguard Worker}
850*1b3f573fSAndroid Build Coastguard Worker
851*1b3f573fSAndroid Build Coastguard Workercc_test {
852*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-lite-test",
853*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-test-defaults"],
854*1b3f573fSAndroid Build Coastguard Worker    srcs: [
855*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arena_test_util.cc",
856*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_tctable_lite_test.cc",
857*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/lite_arena_unittest.cc",
858*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/lite_unittest.cc",
859*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_lite_test_util.cc",
860*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/proto3_arena_lite_unittest.cc",
861*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/proto3_lite_unittest.cc",
862*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/test_util_lite.cc",
863*1b3f573fSAndroid Build Coastguard Worker        ":libprotobuf-test-protos-lite",
864*1b3f573fSAndroid Build Coastguard Worker    ],
865*1b3f573fSAndroid Build Coastguard Worker    cflags: [
866*1b3f573fSAndroid Build Coastguard Worker        // Occurs in generated_message_tctable_lite_test.cc
867*1b3f573fSAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
868*1b3f573fSAndroid Build Coastguard Worker    ],
869*1b3f573fSAndroid Build Coastguard Worker    proto: {
870*1b3f573fSAndroid Build Coastguard Worker        type: "lite",
871*1b3f573fSAndroid Build Coastguard Worker    },
872*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
873*1b3f573fSAndroid Build Coastguard Worker        "libgmock",
874*1b3f573fSAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
875*1b3f573fSAndroid Build Coastguard Worker    ],
876*1b3f573fSAndroid Build Coastguard Worker}
877*1b3f573fSAndroid Build Coastguard Worker
878*1b3f573fSAndroid Build Coastguard Workercc_test {
879*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-full-test",
880*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-test-defaults"],
881*1b3f573fSAndroid Build Coastguard Worker    srcs: [
882*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/any_test.cc",
883*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arena_test_util.cc",
884*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arena_unittest.cc",
885*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arenastring_unittest.cc",
886*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/arenaz_sampler_test.cc",
887*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor_database_unittest.cc",
888*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/descriptor_unittest.cc",
889*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/drop_unknown_fields_test.cc",
890*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/dynamic_message_unittest.cc",
891*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/extension_set_unittest.cc",
892*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/generated_message_reflection_unittest.cc",
893*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/inlined_string_field_unittest.cc",
894*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/coded_stream_unittest.cc",
895*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/io_win32_unittest.cc",
896*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/printer_unittest.cc",
897*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/tokenizer_unittest.cc",
898*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/io/zero_copy_stream_unittest.cc",
899*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_field_test.cc",
900*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/map_test.cc",
901*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/message_unittest.cc",
902*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/no_field_presence_test.cc",
903*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/preserve_unknown_enum_test.cc",
904*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/proto3_arena_unittest.cc",
905*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/reflection_ops_unittest.cc",
906*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/reflection_tester.cc",
907*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/repeated_field_reflection_unittest.cc",
908*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/repeated_field_unittest.cc",
909*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/testing/googletest.cc",
910*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/testing/file.cc",
911*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/test_util.cc",
912*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/text_format_unittest.cc",
913*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/unknown_field_set_unittest.cc",
914*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/delimited_message_util_test.cc",
915*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/field_comparator_test.cc",
916*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/field_mask_util_test.cc",
917*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/default_value_objectwriter_test.cc",
918*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/json_objectwriter_test.cc",
919*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/json_stream_parser_test.cc",
920*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/protostream_objectsource_test.cc",
921*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/protostream_objectwriter_test.cc",
922*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/internal/type_info_test_helper.cc",
923*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/json_util_test.cc",
924*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/message_differencer_unittest.cc",
925*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/time_util_test.cc",
926*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/util/type_resolver_util_test.cc",
927*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/well_known_types_unittest.cc",
928*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/wire_format_unittest.cc",
929*1b3f573fSAndroid Build Coastguard Worker        ":libprotobuf-test-protos-full",
930*1b3f573fSAndroid Build Coastguard Worker    ],
931*1b3f573fSAndroid Build Coastguard Worker    data: [
932*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/testdata/*",
933*1b3f573fSAndroid Build Coastguard Worker    ],
934*1b3f573fSAndroid Build Coastguard Worker    cflags: ["-Wno-unused-parameter"],
935*1b3f573fSAndroid Build Coastguard Worker    proto: {
936*1b3f573fSAndroid Build Coastguard Worker        type: "full",
937*1b3f573fSAndroid Build Coastguard Worker    },
938*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
939*1b3f573fSAndroid Build Coastguard Worker        "libbase",
940*1b3f573fSAndroid Build Coastguard Worker        "libgmock",
941*1b3f573fSAndroid Build Coastguard Worker    ],
942*1b3f573fSAndroid Build Coastguard Worker    shared_libs: ["libprotobuf-cpp-full"],
943*1b3f573fSAndroid Build Coastguard Worker}
944*1b3f573fSAndroid Build Coastguard Worker
945*1b3f573fSAndroid Build Coastguard Workercc_test {
946*1b3f573fSAndroid Build Coastguard Worker    name: "libprotobuf-stubs-test",
947*1b3f573fSAndroid Build Coastguard Worker    defaults: ["libprotobuf-test-defaults"],
948*1b3f573fSAndroid Build Coastguard Worker    srcs: [
949*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/bytestream_unittest.cc",
950*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/common_unittest.cc",
951*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/int128_unittest.cc",
952*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/status_test.cc",
953*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/statusor_test.cc",
954*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/stringpiece_unittest.cc",
955*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/stringprintf_unittest.cc",
956*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/structurally_valid_unittest.cc",
957*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/strutil_unittest.cc",
958*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/template_util_unittest.cc",
959*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/stubs/time_test.cc",
960*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/testing/googletest.cc",
961*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/testing/file.cc",
962*1b3f573fSAndroid Build Coastguard Worker    ],
963*1b3f573fSAndroid Build Coastguard Worker    cflags: ["-Wno-unused-parameter"],
964*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
965*1b3f573fSAndroid Build Coastguard Worker        "libbase",
966*1b3f573fSAndroid Build Coastguard Worker        "libgmock",
967*1b3f573fSAndroid Build Coastguard Worker    ],
968*1b3f573fSAndroid Build Coastguard Worker    shared_libs: ["libprotobuf-cpp-full"],
969*1b3f573fSAndroid Build Coastguard Worker}
970*1b3f573fSAndroid Build Coastguard Worker
971*1b3f573fSAndroid Build Coastguard Worker// To test java proto params build rules.
972*1b3f573fSAndroid Build Coastguard Worker// =======================================================
973*1b3f573fSAndroid Build Coastguard Workerjava_test {
974*1b3f573fSAndroid Build Coastguard Worker    name: "aprotoc-test-nano-params",
975*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "current",
976*1b3f573fSAndroid Build Coastguard Worker    proto: {
977*1b3f573fSAndroid Build Coastguard Worker        type: "nano",
978*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: ["src"],
979*1b3f573fSAndroid Build Coastguard Worker        output_params: [
980*1b3f573fSAndroid Build Coastguard Worker            "java_package=javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto\\|com.google.protobuf.nano",
981*1b3f573fSAndroid Build Coastguard Worker            "java_outer_classname=javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto\\|UnittestImportNano",
982*1b3f573fSAndroid Build Coastguard Worker        ],
983*1b3f573fSAndroid Build Coastguard Worker    },
984*1b3f573fSAndroid Build Coastguard Worker    srcs: [
985*1b3f573fSAndroid Build Coastguard Worker        "javanano/src/test/java/com/google/protobuf/nano/unittest_import_nano.proto",
986*1b3f573fSAndroid Build Coastguard Worker        "javanano/src/test/java/com/google/protobuf/nano/unittest_simple_nano.proto",
987*1b3f573fSAndroid Build Coastguard Worker        "javanano/src/test/java/com/google/protobuf/nano/unittest_stringutf8_nano.proto",
988*1b3f573fSAndroid Build Coastguard Worker        "javanano/src/test/java/com/google/protobuf/nano/unittest_recursive_nano.proto",
989*1b3f573fSAndroid Build Coastguard Worker    ],
990*1b3f573fSAndroid Build Coastguard Worker    java_version: "1.7",
991*1b3f573fSAndroid Build Coastguard Worker}
992*1b3f573fSAndroid Build Coastguard Worker
993*1b3f573fSAndroid Build Coastguard Worker// To test Android-specific nanoproto features.
994*1b3f573fSAndroid Build Coastguard Worker// =======================================================
995*1b3f573fSAndroid Build Coastguard Workerjava_test {
996*1b3f573fSAndroid Build Coastguard Worker    // Parcelable messages
997*1b3f573fSAndroid Build Coastguard Worker    name: "android-nano-test-parcelable",
998*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "current",
999*1b3f573fSAndroid Build Coastguard Worker    // Only needed at compile-time.
1000*1b3f573fSAndroid Build Coastguard Worker    libs: ["android-support-annotations"],
1001*1b3f573fSAndroid Build Coastguard Worker    proto: {
1002*1b3f573fSAndroid Build Coastguard Worker        type: "nano",
1003*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: ["src"],
1004*1b3f573fSAndroid Build Coastguard Worker        output_params: [
1005*1b3f573fSAndroid Build Coastguard Worker            "parcelable_messages=true",
1006*1b3f573fSAndroid Build Coastguard Worker            "generate_intdefs=true",
1007*1b3f573fSAndroid Build Coastguard Worker        ],
1008*1b3f573fSAndroid Build Coastguard Worker    },
1009*1b3f573fSAndroid Build Coastguard Worker    srcs: ["javanano/src/test/java/com/google/protobuf/nano/unittest_simple_nano.proto"],
1010*1b3f573fSAndroid Build Coastguard Worker}
1011*1b3f573fSAndroid Build Coastguard Worker
1012*1b3f573fSAndroid Build Coastguard Workerjava_test {
1013*1b3f573fSAndroid Build Coastguard Worker    // Parcelable and extendable messages
1014*1b3f573fSAndroid Build Coastguard Worker    name: "android-nano-test-parcelable-extendable",
1015*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "current",
1016*1b3f573fSAndroid Build Coastguard Worker    // Only needed at compile-time.
1017*1b3f573fSAndroid Build Coastguard Worker    libs: ["android-support-annotations"],
1018*1b3f573fSAndroid Build Coastguard Worker    proto: {
1019*1b3f573fSAndroid Build Coastguard Worker        type: "nano",
1020*1b3f573fSAndroid Build Coastguard Worker        local_include_dirs: ["src"],
1021*1b3f573fSAndroid Build Coastguard Worker        output_params: [
1022*1b3f573fSAndroid Build Coastguard Worker            "parcelable_messages=true",
1023*1b3f573fSAndroid Build Coastguard Worker            "generate_intdefs=true",
1024*1b3f573fSAndroid Build Coastguard Worker            "store_unknown_fields=true",
1025*1b3f573fSAndroid Build Coastguard Worker        ],
1026*1b3f573fSAndroid Build Coastguard Worker    },
1027*1b3f573fSAndroid Build Coastguard Worker    srcs: ["javanano/src/test/java/com/google/protobuf/nano/unittest_extension_nano.proto"],
1028*1b3f573fSAndroid Build Coastguard Worker    java_version: "1.7",
1029*1b3f573fSAndroid Build Coastguard Worker}
1030*1b3f573fSAndroid Build Coastguard Worker
1031*1b3f573fSAndroid Build Coastguard Workerandroid_test {
1032*1b3f573fSAndroid Build Coastguard Worker    // Test APK
1033*1b3f573fSAndroid Build Coastguard Worker    name: "NanoAndroidTest",
1034*1b3f573fSAndroid Build Coastguard Worker    sdk_version: "8",
1035*1b3f573fSAndroid Build Coastguard Worker    srcs: ["javanano/src/device/test/java/com/google/protobuf/nano/**/*.java"],
1036*1b3f573fSAndroid Build Coastguard Worker    manifest: "javanano/src/device/test/AndroidManifest.xml",
1037*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
1038*1b3f573fSAndroid Build Coastguard Worker        "libprotobuf-java-nano",
1039*1b3f573fSAndroid Build Coastguard Worker        "android-nano-test-parcelable",
1040*1b3f573fSAndroid Build Coastguard Worker        "android-nano-test-parcelable-extendable",
1041*1b3f573fSAndroid Build Coastguard Worker    ],
1042*1b3f573fSAndroid Build Coastguard Worker    dex_preopt: {
1043*1b3f573fSAndroid Build Coastguard Worker        enabled: false,
1044*1b3f573fSAndroid Build Coastguard Worker    },
1045*1b3f573fSAndroid Build Coastguard Worker}
1046*1b3f573fSAndroid Build Coastguard Worker
1047*1b3f573fSAndroid Build Coastguard Worker// Java micro generator plugin
1048*1b3f573fSAndroid Build Coastguard Worker// =======================================================
1049*1b3f573fSAndroid Build Coastguard Workercc_binary_host {
1050*1b3f573fSAndroid Build Coastguard Worker    name: "protoc-gen-javamicro",
1051*1b3f573fSAndroid Build Coastguard Worker    defaults: ["protobuf-cflags-defaults"],
1052*1b3f573fSAndroid Build Coastguard Worker    srcs: [
1053*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_enum.cc",
1054*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_enum_field.cc",
1055*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_field.cc",
1056*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_file.cc",
1057*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_generator.cc",
1058*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_helpers.cc",
1059*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_main.cc",
1060*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_message.cc",
1061*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_message_field.cc",
1062*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javamicro/javamicro_primitive_field.cc",
1063*1b3f573fSAndroid Build Coastguard Worker    ],
1064*1b3f573fSAndroid Build Coastguard Worker    cflags: [
1065*1b3f573fSAndroid Build Coastguard Worker        "-Wno-unused-private-field",
1066*1b3f573fSAndroid Build Coastguard Worker    ],
1067*1b3f573fSAndroid Build Coastguard Worker    local_include_dirs: ["src"],
1068*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
1069*1b3f573fSAndroid Build Coastguard Worker        "libprotoc",
1070*1b3f573fSAndroid Build Coastguard Worker        "libz",
1071*1b3f573fSAndroid Build Coastguard Worker    ],
1072*1b3f573fSAndroid Build Coastguard Worker    stl: "libc++_static",
1073*1b3f573fSAndroid Build Coastguard Worker}
1074*1b3f573fSAndroid Build Coastguard Worker
1075*1b3f573fSAndroid Build Coastguard Worker// Java nano generator plugin
1076*1b3f573fSAndroid Build Coastguard Worker// =======================================================
1077*1b3f573fSAndroid Build Coastguard Workercc_binary_host {
1078*1b3f573fSAndroid Build Coastguard Worker    name: "protoc-gen-javanano",
1079*1b3f573fSAndroid Build Coastguard Worker    defaults: ["protobuf-cflags-defaults"],
1080*1b3f573fSAndroid Build Coastguard Worker    srcs: [
1081*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_enum.cc",
1082*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
1083*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_extension.cc",
1084*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_field.cc",
1085*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_file.cc",
1086*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_generator.cc",
1087*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_helpers.cc",
1088*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_main.cc",
1089*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_map_field.cc",
1090*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_message.cc",
1091*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_message_field.cc",
1092*1b3f573fSAndroid Build Coastguard Worker        "src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
1093*1b3f573fSAndroid Build Coastguard Worker    ],
1094*1b3f573fSAndroid Build Coastguard Worker    cflags: [
1095*1b3f573fSAndroid Build Coastguard Worker        "-Wno-unused-private-field",
1096*1b3f573fSAndroid Build Coastguard Worker    ],
1097*1b3f573fSAndroid Build Coastguard Worker    local_include_dirs: ["src"],
1098*1b3f573fSAndroid Build Coastguard Worker    static_libs: [
1099*1b3f573fSAndroid Build Coastguard Worker        "libprotoc",
1100*1b3f573fSAndroid Build Coastguard Worker        "libz",
1101*1b3f573fSAndroid Build Coastguard Worker    ],
1102*1b3f573fSAndroid Build Coastguard Worker    stl: "libc++_static",
1103*1b3f573fSAndroid Build Coastguard Worker}
1104