xref: /aosp_15_r20/external/bouncycastle/Android.bp (revision 4e4b8e5883c385eeacd42791bab3326d1395de26)
1*4e4b8e58SAndroid Build Coastguard Worker//
2*4e4b8e58SAndroid Build Coastguard Worker// Copyright (C) 2010 The Android Open Source Project
3*4e4b8e58SAndroid Build Coastguard Worker//
4*4e4b8e58SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*4e4b8e58SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*4e4b8e58SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*4e4b8e58SAndroid Build Coastguard Worker//
8*4e4b8e58SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*4e4b8e58SAndroid Build Coastguard Worker//
10*4e4b8e58SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*4e4b8e58SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*4e4b8e58SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4e4b8e58SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*4e4b8e58SAndroid Build Coastguard Worker// limitations under the License.
15*4e4b8e58SAndroid Build Coastguard Worker//
16*4e4b8e58SAndroid Build Coastguard Worker
17*4e4b8e58SAndroid Build Coastguard Workerpackage {
18*4e4b8e58SAndroid Build Coastguard Worker    default_visibility: ["//visibility:private"],
19*4e4b8e58SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_bouncycastle_license"],
20*4e4b8e58SAndroid Build Coastguard Worker}
21*4e4b8e58SAndroid Build Coastguard Worker
22*4e4b8e58SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
23*4e4b8e58SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
24*4e4b8e58SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
25*4e4b8e58SAndroid Build Coastguard Worker//
26*4e4b8e58SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
27*4e4b8e58SAndroid Build Coastguard Worker//
28*4e4b8e58SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
29*4e4b8e58SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
30*4e4b8e58SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
31*4e4b8e58SAndroid Build Coastguard Worker//
32*4e4b8e58SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
33*4e4b8e58SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
34*4e4b8e58SAndroid Build Coastguard Worker// used in the current project.
35*4e4b8e58SAndroid Build Coastguard Worker// See: http://go/android-license-faq
36*4e4b8e58SAndroid Build Coastguard Workerlicense {
37*4e4b8e58SAndroid Build Coastguard Worker    name: "external_bouncycastle_license",
38*4e4b8e58SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
39*4e4b8e58SAndroid Build Coastguard Worker    license_kinds: [
40*4e4b8e58SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
41*4e4b8e58SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
42*4e4b8e58SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
43*4e4b8e58SAndroid Build Coastguard Worker    ],
44*4e4b8e58SAndroid Build Coastguard Worker    license_text: [
45*4e4b8e58SAndroid Build Coastguard Worker        "NOTICE",
46*4e4b8e58SAndroid Build Coastguard Worker    ],
47*4e4b8e58SAndroid Build Coastguard Worker}
48*4e4b8e58SAndroid Build Coastguard Worker
49*4e4b8e58SAndroid Build Coastguard Workerjava_defaults {
50*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-errorprone-defaults",
51*4e4b8e58SAndroid Build Coastguard Worker    errorprone: {
52*4e4b8e58SAndroid Build Coastguard Worker        javacflags: [
53*4e4b8e58SAndroid Build Coastguard Worker            "-Xep:MissingOverride:OFF", // Ignore missing @Override.
54*4e4b8e58SAndroid Build Coastguard Worker            "-Xep:BoxedPrimitiveEquality:WARN",
55*4e4b8e58SAndroid Build Coastguard Worker            "-Xep:DoubleBraceInitialization:WARN",
56*4e4b8e58SAndroid Build Coastguard Worker            "-Xep:HashtableContains:WARN",
57*4e4b8e58SAndroid Build Coastguard Worker        ],
58*4e4b8e58SAndroid Build Coastguard Worker    },
59*4e4b8e58SAndroid Build Coastguard Worker}
60*4e4b8e58SAndroid Build Coastguard Worker
61*4e4b8e58SAndroid Build Coastguard Workerjava_defaults {
62*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-defaults",
63*4e4b8e58SAndroid Build Coastguard Worker    defaults: [
64*4e4b8e58SAndroid Build Coastguard Worker        "bouncycastle-errorprone-defaults",
65*4e4b8e58SAndroid Build Coastguard Worker    ],
66*4e4b8e58SAndroid Build Coastguard Worker    hostdex: true,
67*4e4b8e58SAndroid Build Coastguard Worker
68*4e4b8e58SAndroid Build Coastguard Worker    lint: {
69*4e4b8e58SAndroid Build Coastguard Worker        warning_checks: ["SuspiciousIndentation"],
70*4e4b8e58SAndroid Build Coastguard Worker    },
71*4e4b8e58SAndroid Build Coastguard Worker}
72*4e4b8e58SAndroid Build Coastguard Worker
73*4e4b8e58SAndroid Build Coastguard Worker// The src files for bouncycastle, used to generate core platform / intra-core
74*4e4b8e58SAndroid Build Coastguard Worker// API stubs.
75*4e4b8e58SAndroid Build Coastguard Workerfilegroup {
76*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle_java_files",
77*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
78*4e4b8e58SAndroid Build Coastguard Worker        "//libcore",
79*4e4b8e58SAndroid Build Coastguard Worker    ],
80*4e4b8e58SAndroid Build Coastguard Worker    srcs: ["repackaged/bcprov/src/main/java/**/*.java"],
81*4e4b8e58SAndroid Build Coastguard Worker}
82*4e4b8e58SAndroid Build Coastguard Worker
83*4e4b8e58SAndroid Build Coastguard Worker// A bouncycastle library repackaged in com.android.org.bouncycastle for use
84*4e4b8e58SAndroid Build Coastguard Worker// in the ART module. Repackaging is needed to avoid conflict with the
85*4e4b8e58SAndroid Build Coastguard Worker// original org.bouncycastle package.
86*4e4b8e58SAndroid Build Coastguard Workerjava_library {
87*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle",
88*4e4b8e58SAndroid Build Coastguard Worker    // Restrict visibility to only those targets that need to access it.
89*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
90*4e4b8e58SAndroid Build Coastguard Worker        "//art/build/apex",
91*4e4b8e58SAndroid Build Coastguard Worker        "//art/build/sdk",
92*4e4b8e58SAndroid Build Coastguard Worker        "//art/tools/ahat",
93*4e4b8e58SAndroid Build Coastguard Worker        "//art/tools/fuzzer",
94*4e4b8e58SAndroid Build Coastguard Worker        "//libcore:__subpackages__",
95*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/ArtPrebuilt",
96*4e4b8e58SAndroid Build Coastguard Worker    ],
97*4e4b8e58SAndroid Build Coastguard Worker    apex_available: [
98*4e4b8e58SAndroid Build Coastguard Worker        "com.android.art",
99*4e4b8e58SAndroid Build Coastguard Worker        "com.android.art.debug",
100*4e4b8e58SAndroid Build Coastguard Worker    ],
101*4e4b8e58SAndroid Build Coastguard Worker    min_sdk_version: "31",
102*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-defaults"],
103*4e4b8e58SAndroid Build Coastguard Worker    installable: true,
104*4e4b8e58SAndroid Build Coastguard Worker
105*4e4b8e58SAndroid Build Coastguard Worker    srcs: [":bouncycastle_java_files"],
106*4e4b8e58SAndroid Build Coastguard Worker
107*4e4b8e58SAndroid Build Coastguard Worker    libs: ["unsupportedappusage"],
108*4e4b8e58SAndroid Build Coastguard Worker
109*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "none",
110*4e4b8e58SAndroid Build Coastguard Worker    system_modules: "art-module-intra-core-api-stubs-system-modules",
111*4e4b8e58SAndroid Build Coastguard Worker}
112*4e4b8e58SAndroid Build Coastguard Worker
113*4e4b8e58SAndroid Build Coastguard Workerjava_library_static {
114*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-test-lib",
115*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
116*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/ArtPrebuilt",
117*4e4b8e58SAndroid Build Coastguard Worker        "//external/bouncycastle/mts",
118*4e4b8e58SAndroid Build Coastguard Worker    ],
119*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
120*4e4b8e58SAndroid Build Coastguard Worker        "repackaged/bcprov/src/test/java/**/*.java",
121*4e4b8e58SAndroid Build Coastguard Worker    ],
122*4e4b8e58SAndroid Build Coastguard Worker    libs: ["bouncycastle"],
123*4e4b8e58SAndroid Build Coastguard Worker    static_libs: [
124*4e4b8e58SAndroid Build Coastguard Worker        "junit",
125*4e4b8e58SAndroid Build Coastguard Worker        "platform-test-annotations",
126*4e4b8e58SAndroid Build Coastguard Worker    ],
127*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "none",
128*4e4b8e58SAndroid Build Coastguard Worker    system_modules: "art-module-intra-core-api-stubs-system-modules",
129*4e4b8e58SAndroid Build Coastguard Worker}
130*4e4b8e58SAndroid Build Coastguard Worker
131*4e4b8e58SAndroid Build Coastguard Worker// A bouncycastle library repackaged in com.android.internal.org.bouncycastle
132*4e4b8e58SAndroid Build Coastguard Worker// for use in the Android platform where it is important not to conflict with
133*4e4b8e58SAndroid Build Coastguard Worker// the original org.bouncycastle package or the one in the ART module.
134*4e4b8e58SAndroid Build Coastguard Workerjava_library {
135*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-repackaged-unbundled",
136*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
137*4e4b8e58SAndroid Build Coastguard Worker        "//cts/tests/libcore/wycheproof-bc",
138*4e4b8e58SAndroid Build Coastguard Worker        "//external/sl4a/Common",
139*4e4b8e58SAndroid Build Coastguard Worker        "//external/wycheproof",
140*4e4b8e58SAndroid Build Coastguard Worker        "//frameworks/base",
141*4e4b8e58SAndroid Build Coastguard Worker        "//frameworks/base/packages/Connectivity/tests/unit",
142*4e4b8e58SAndroid Build Coastguard Worker        "//frameworks/base/tests/net",
143*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/Connectivity/tests/unit",
144*4e4b8e58SAndroid Build Coastguard Worker    ],
145*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-defaults"],
146*4e4b8e58SAndroid Build Coastguard Worker    installable: true,
147*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
148*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
149*4e4b8e58SAndroid Build Coastguard Worker        "repackaged_platform/bcpkix/src/main/java/**/*.java",
150*4e4b8e58SAndroid Build Coastguard Worker        "repackaged_platform/bcprov/src/main/java/**/*.java",
151*4e4b8e58SAndroid Build Coastguard Worker    ],
152*4e4b8e58SAndroid Build Coastguard Worker}
153*4e4b8e58SAndroid Build Coastguard Worker
154*4e4b8e58SAndroid Build Coastguard Workerunbundled_visibility = [
155*4e4b8e58SAndroid Build Coastguard Worker    "//art/build/sdk",
156*4e4b8e58SAndroid Build Coastguard Worker    "//build/make/tools/signapk",
157*4e4b8e58SAndroid Build Coastguard Worker    "//build/make/tools/signtos",
158*4e4b8e58SAndroid Build Coastguard Worker    "//cts/hostsidetests/devicepolicy/app/DeviceOwner",
159*4e4b8e58SAndroid Build Coastguard Worker    "//cts/tests/libcore/okhttp",
160*4e4b8e58SAndroid Build Coastguard Worker    "//cts/tests/security",
161*4e4b8e58SAndroid Build Coastguard Worker    "//cts/tests/tests/keystore",
162*4e4b8e58SAndroid Build Coastguard Worker    "//external/android-key-attestation",
163*4e4b8e58SAndroid Build Coastguard Worker    "//external/conscrypt",
164*4e4b8e58SAndroid Build Coastguard Worker    "//external/okhttp",
165*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric-shadows",
166*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric-shadows/robolectric",
167*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric-shadows/shadows/supportv4",
168*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric-shadows/shadows/httpclient",
169*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric",
170*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric/robolectric",
171*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric/shadows/supportv4",
172*4e4b8e58SAndroid Build Coastguard Worker    "//external/robolectric/shadows/httpclient",
173*4e4b8e58SAndroid Build Coastguard Worker    "//external/wycheproof",
174*4e4b8e58SAndroid Build Coastguard Worker    "//frameworks/opt/net/wifi/service",
175*4e4b8e58SAndroid Build Coastguard Worker    "//frameworks/opt/net/wifi/tests/wifitests",
176*4e4b8e58SAndroid Build Coastguard Worker    "//packages/apps/CertInstaller",
177*4e4b8e58SAndroid Build Coastguard Worker    "//packages/apps/KeyChain",
178*4e4b8e58SAndroid Build Coastguard Worker    "//packages/apps/RemoteProvisioner/tests/unittests",
179*4e4b8e58SAndroid Build Coastguard Worker    "//packages/modules/Connectivity/tests/cts/net",
180*4e4b8e58SAndroid Build Coastguard Worker    "//packages/modules/RemoteKeyProvisioning/app/tests/unit",
181*4e4b8e58SAndroid Build Coastguard Worker    "//packages/modules/Virtualization/tests/vm_attestation",
182*4e4b8e58SAndroid Build Coastguard Worker    "//packages/modules/Wifi/service",
183*4e4b8e58SAndroid Build Coastguard Worker    "//packages/modules/Wifi/service/tests/wifitests",
184*4e4b8e58SAndroid Build Coastguard Worker    "//libcore",
185*4e4b8e58SAndroid Build Coastguard Worker    "//system/extras/verity",
186*4e4b8e58SAndroid Build Coastguard Worker    "//system/security/identity/util",
187*4e4b8e58SAndroid Build Coastguard Worker    "//tools/apksig",
188*4e4b8e58SAndroid Build Coastguard Worker    "//tools/security/remote_provisioning/attestation_testing",
189*4e4b8e58SAndroid Build Coastguard Worker    "//vendor:__subpackages__",
190*4e4b8e58SAndroid Build Coastguard Worker]
191*4e4b8e58SAndroid Build Coastguard Worker
192*4e4b8e58SAndroid Build Coastguard Worker// A bouncycastle library in the original org.bouncycastle package for use
193*4e4b8e58SAndroid Build Coastguard Worker// outside of the platform. e.g. for host or in unbundled apps.
194*4e4b8e58SAndroid Build Coastguard Workerjava_library {
195*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-unbundled",
196*4e4b8e58SAndroid Build Coastguard Worker    visibility: unbundled_visibility,
197*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-defaults"],
198*4e4b8e58SAndroid Build Coastguard Worker    host_supported: true,
199*4e4b8e58SAndroid Build Coastguard Worker
200*4e4b8e58SAndroid Build Coastguard Worker    srcs: ["bcprov/src/main/java/**/*.java"],
201*4e4b8e58SAndroid Build Coastguard Worker    exclude_srcs: [
202*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/asn1/ocsp/**/*.java",
203*4e4b8e58SAndroid Build Coastguard Worker    ],
204*4e4b8e58SAndroid Build Coastguard Worker
205*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
206*4e4b8e58SAndroid Build Coastguard Worker    min_sdk_version: "30",
207*4e4b8e58SAndroid Build Coastguard Worker    java_version: "1.7",
208*4e4b8e58SAndroid Build Coastguard Worker    apex_available: ["com.android.wifi"],
209*4e4b8e58SAndroid Build Coastguard Worker}
210*4e4b8e58SAndroid Build Coastguard Worker
211*4e4b8e58SAndroid Build Coastguard Worker// Bouncycastle PKIX classes in the original org.bouncycastle package for use
212*4e4b8e58SAndroid Build Coastguard Worker// outside of the platform. e.g. for host or in unbundled apps / CTS tests.
213*4e4b8e58SAndroid Build Coastguard Workerjava_library {
214*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-bcpkix-unbundled",
215*4e4b8e58SAndroid Build Coastguard Worker    visibility: unbundled_visibility,
216*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-defaults"],
217*4e4b8e58SAndroid Build Coastguard Worker    host_supported: true,
218*4e4b8e58SAndroid Build Coastguard Worker
219*4e4b8e58SAndroid Build Coastguard Worker    srcs: ["bcpkix/src/main/java/**/*.java"],
220*4e4b8e58SAndroid Build Coastguard Worker    exclude_srcs: ["bcpkix/src/main/java/org/bouncycastle/cert/ocsp/**/*.java"],
221*4e4b8e58SAndroid Build Coastguard Worker    libs: ["bouncycastle-unbundled"],
222*4e4b8e58SAndroid Build Coastguard Worker
223*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
224*4e4b8e58SAndroid Build Coastguard Worker    // b/267608166: Allow to be used by components targeting Java 11.
225*4e4b8e58SAndroid Build Coastguard Worker    java_version: "11",
226*4e4b8e58SAndroid Build Coastguard Worker}
227*4e4b8e58SAndroid Build Coastguard Worker
228*4e4b8e58SAndroid Build Coastguard Worker// Bouncycastle OCSP classes in the original org.bouncycastle package for use
229*4e4b8e58SAndroid Build Coastguard Worker// outside of the platform. e.g. for host or in unbundled apps / CTS tests.
230*4e4b8e58SAndroid Build Coastguard Workerjava_library_static {
231*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-ocsp-unbundled",
232*4e4b8e58SAndroid Build Coastguard Worker    visibility: unbundled_visibility,
233*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-defaults"],
234*4e4b8e58SAndroid Build Coastguard Worker    host_supported: true,
235*4e4b8e58SAndroid Build Coastguard Worker
236*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
237*4e4b8e58SAndroid Build Coastguard Worker        "bcpkix/src/main/java/org/bouncycastle/cert/ocsp/**/*.java",
238*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/asn1/ocsp/**/*.java",
239*4e4b8e58SAndroid Build Coastguard Worker    ],
240*4e4b8e58SAndroid Build Coastguard Worker    libs: [
241*4e4b8e58SAndroid Build Coastguard Worker        "bouncycastle-unbundled",
242*4e4b8e58SAndroid Build Coastguard Worker        "bouncycastle-bcpkix-unbundled",
243*4e4b8e58SAndroid Build Coastguard Worker    ],
244*4e4b8e58SAndroid Build Coastguard Worker
245*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
246*4e4b8e58SAndroid Build Coastguard Worker}
247*4e4b8e58SAndroid Build Coastguard Worker
248*4e4b8e58SAndroid Build Coastguard Worker// For compatibility with old bouncycastle-host name.
249*4e4b8e58SAndroid Build Coastguard Worker//
250*4e4b8e58SAndroid Build Coastguard Worker// When converting .mk files to .bp files do not change the visibility of this
251*4e4b8e58SAndroid Build Coastguard Worker// module, instead replace usages of this with bouncycastle-unbundled.
252*4e4b8e58SAndroid Build Coastguard Workerjava_library_host {
253*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-host",
254*4e4b8e58SAndroid Build Coastguard Worker    static_libs: ["bouncycastle-unbundled"],
255*4e4b8e58SAndroid Build Coastguard Worker}
256*4e4b8e58SAndroid Build Coastguard Worker
257*4e4b8e58SAndroid Build Coastguard Workerjava_test_host {
258*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-host-tests",
259*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
260*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/test/java/**/*.java",
261*4e4b8e58SAndroid Build Coastguard Worker    ],
262*4e4b8e58SAndroid Build Coastguard Worker    static_libs: [
263*4e4b8e58SAndroid Build Coastguard Worker        "bouncycastle-unbundled",
264*4e4b8e58SAndroid Build Coastguard Worker        "junit",
265*4e4b8e58SAndroid Build Coastguard Worker        "platform-test-annotations",
266*4e4b8e58SAndroid Build Coastguard Worker    ],
267*4e4b8e58SAndroid Build Coastguard Worker    test_options: {
268*4e4b8e58SAndroid Build Coastguard Worker        unit_test: true,
269*4e4b8e58SAndroid Build Coastguard Worker    },
270*4e4b8e58SAndroid Build Coastguard Worker    test_suites: ["general-tests"],
271*4e4b8e58SAndroid Build Coastguard Worker}
272*4e4b8e58SAndroid Build Coastguard Worker
273*4e4b8e58SAndroid Build Coastguard Worker// Bouncycastle subset for use by frameworks/opt/net/ike project.
274*4e4b8e58SAndroid Build Coastguard Worker//
275*4e4b8e58SAndroid Build Coastguard Worker// Avoids including the whole of bouncycastle_unbundled in ike.
276*4e4b8e58SAndroid Build Coastguard Worker//
277*4e4b8e58SAndroid Build Coastguard Worker// Specifically, SHA1Digest and MD4Digest (and their dependencies) must be used by IKEv2 to support
278*4e4b8e58SAndroid Build Coastguard Worker// legacy authentication methods.
279*4e4b8e58SAndroid Build Coastguard Workerjava_library {
280*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle_ike_digests",
281*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
282*4e4b8e58SAndroid Build Coastguard Worker        "//art/build/sdk",
283*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/IPsec",
284*4e4b8e58SAndroid Build Coastguard Worker    ],
285*4e4b8e58SAndroid Build Coastguard Worker    apex_available: [
286*4e4b8e58SAndroid Build Coastguard Worker        "com.android.ipsec",
287*4e4b8e58SAndroid Build Coastguard Worker        "test_com.android.ipsec",
288*4e4b8e58SAndroid Build Coastguard Worker    ],
289*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
290*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/Digest.java",
291*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/ExtendedDigest.java",
292*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/digests/EncodableDigest.java",
293*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/digests/GeneralDigest.java",
294*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/digests/MD4Digest.java",
295*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/crypto/digests/SHA1Digest.java",
296*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/util/Memoable.java",
297*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/util/Pack.java",
298*4e4b8e58SAndroid Build Coastguard Worker    ],
299*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
300*4e4b8e58SAndroid Build Coastguard Worker}
301*4e4b8e58SAndroid Build Coastguard Worker
302*4e4b8e58SAndroid Build Coastguard Worker// Bouncycastle for use by packages/modules/ExtServices project.
303*4e4b8e58SAndroid Build Coastguard Worker//
304*4e4b8e58SAndroid Build Coastguard Worker// Excludes directories not needed for ASN1*.java and X509* sources.
305*4e4b8e58SAndroid Build Coastguard Worker//
306*4e4b8e58SAndroid Build Coastguard Workerjava_library {
307*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-extservices-asn",
308*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
309*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/ExtServices",
310*4e4b8e58SAndroid Build Coastguard Worker    ],
311*4e4b8e58SAndroid Build Coastguard Worker    apex_available: [
312*4e4b8e58SAndroid Build Coastguard Worker        "com.android.extservices",
313*4e4b8e58SAndroid Build Coastguard Worker        "test_com.android.extservices",
314*4e4b8e58SAndroid Build Coastguard Worker    ],
315*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
316*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/**/*.java",
317*4e4b8e58SAndroid Build Coastguard Worker    ],
318*4e4b8e58SAndroid Build Coastguard Worker    exclude_srcs: [
319*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/asn1/ocsp/**/*.java",
320*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/iana/**/*.java",
321*4e4b8e58SAndroid Build Coastguard Worker    ],
322*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
323*4e4b8e58SAndroid Build Coastguard Worker    lint: {
324*4e4b8e58SAndroid Build Coastguard Worker        warning_checks: ["SuspiciousIndentation"],
325*4e4b8e58SAndroid Build Coastguard Worker    },
326*4e4b8e58SAndroid Build Coastguard Worker}
327*4e4b8e58SAndroid Build Coastguard Worker
328*4e4b8e58SAndroid Build Coastguard Worker// Bouncycastle for use by packages/modules/Uwb project.
329*4e4b8e58SAndroid Build Coastguard Worker//
330*4e4b8e58SAndroid Build Coastguard Worker//Excludes directories not needed.
331*4e4b8e58SAndroid Build Coastguard Workerjava_library {
332*4e4b8e58SAndroid Build Coastguard Worker    name: "bouncycastle-uwb",
333*4e4b8e58SAndroid Build Coastguard Worker    defaults: ["bouncycastle-errorprone-defaults"],
334*4e4b8e58SAndroid Build Coastguard Worker    visibility: [
335*4e4b8e58SAndroid Build Coastguard Worker        "//packages/modules/Uwb/service",
336*4e4b8e58SAndroid Build Coastguard Worker    ],
337*4e4b8e58SAndroid Build Coastguard Worker    apex_available: [
338*4e4b8e58SAndroid Build Coastguard Worker        "com.android.uwb",
339*4e4b8e58SAndroid Build Coastguard Worker    ],
340*4e4b8e58SAndroid Build Coastguard Worker    srcs: [
341*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/**/*.java",
342*4e4b8e58SAndroid Build Coastguard Worker        "bcpkix/src/main/java/org/bouncycastle/cert/**/*.java",
343*4e4b8e58SAndroid Build Coastguard Worker        "bcpkix/src/main/java/org/bouncycastle/cms/**/*.java",
344*4e4b8e58SAndroid Build Coastguard Worker        "bcpkix/src/main/java/org/bouncycastle/operator/**/*.java",
345*4e4b8e58SAndroid Build Coastguard Worker    ],
346*4e4b8e58SAndroid Build Coastguard Worker
347*4e4b8e58SAndroid Build Coastguard Worker    exclude_srcs: [
348*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/iana/**/*.java",
349*4e4b8e58SAndroid Build Coastguard Worker        "bcprov/src/main/java/org/bouncycastle/its/**/*.java",
350*4e4b8e58SAndroid Build Coastguard Worker    ],
351*4e4b8e58SAndroid Build Coastguard Worker    sdk_version: "core_current",
352*4e4b8e58SAndroid Build Coastguard Worker    lint: {
353*4e4b8e58SAndroid Build Coastguard Worker        warning_checks: ["SuspiciousIndentation"],
354*4e4b8e58SAndroid Build Coastguard Worker    },
355*4e4b8e58SAndroid Build Coastguard Worker}
356