blob: 0bd5c5f591338a887ea3969b8eac37d51d54ccb9 [file] [log] [blame]
Remi NGUYEN VANc094a542018-12-07 16:52:24 +09001//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090017java_defaults {
18 name: "NetworkStackCommon",
19 sdk_version: "system_current",
20 min_sdk_version: "28",
21}
22
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090023// Library including the network stack, used to compile both variants of the network stack
24android_library {
25 name: "NetworkStackBase",
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090026 defaults: ["NetworkStackCommon"],
Remi NGUYEN VANc094a542018-12-07 16:52:24 +090027 srcs: [
28 "src/**/*.java",
Remi NGUYEN VANe88516f2019-01-20 09:35:10 +090029 ":framework-networkstack-shared-srcs",
Remi NGUYEN VANe67b0c3a2018-12-27 16:43:56 +090030 ":services-networkstack-shared-srcs",
Remi NGUYEN VANc094a542018-12-07 16:52:24 +090031 ],
Remi NGUYEN VAN0e3d09232018-12-04 12:13:09 +090032 static_libs: [
Chalard Jean95213512019-01-30 21:04:58 +090033 "ipmemorystore-client",
Remi NGUYEN VAN231b52b2019-01-29 15:38:52 +090034 "netd_aidl_interface-java",
35 "networkstack-aidl-interfaces-java",
Chiachang Wangf09e3e32019-02-22 11:13:07 +080036 "datastallprotosnano",
Chiachang Wang4d6fe322019-03-21 20:40:01 +080037 "networkstackprotosnano",
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090038 ],
39 manifest: "AndroidManifestBase.xml",
40}
41
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090042java_defaults {
43 name: "NetworkStackAppCommon",
44 defaults: ["NetworkStackCommon"],
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090045 privileged: true,
46 static_libs: [
47 "NetworkStackBase",
48 ],
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090049 // Resources already included in NetworkStackBase
50 resource_dirs: [],
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090051 jarjar_rules: "jarjar-rules-shared.txt",
Remi NGUYEN VANaaa7ecfd2019-03-26 14:58:08 +090052 optimize: {
53 proguard_flags_files: ["proguard.flags"],
54 },
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090055 // The permission configuration *must* be included to ensure security of the device
56 required: ["NetworkStackPermissionStub"],
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090057}
58
59// Non-updatable network stack running in the system server process for devices not using the module
60android_app {
61 name: "InProcessNetworkStack",
62 defaults: ["NetworkStackAppCommon"],
63 certificate: "platform",
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090064 manifest: "AndroidManifest_InProcess.xml",
Remi NGUYEN VANc094a542018-12-07 16:52:24 +090065}
66
67// Updatable network stack packaged as an application
68android_app {
69 name: "NetworkStack",
Remi NGUYEN VAN86c45822019-03-20 16:40:54 +090070 defaults: ["NetworkStackAppCommon"],
Remi NGUYEN VANab96bc72019-02-15 17:45:03 +090071 certificate: "networkstack",
Remi NGUYEN VAN8acc99a2019-03-08 17:20:49 +090072 manifest: "AndroidManifest.xml",
Chiachang Wangf09e3e32019-02-22 11:13:07 +080073}