1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16package {
17    // See: http://go/android-license-faq
18    // A large-scale-change added 'default_applicable_licenses' to import
19    // all of the 'license_kinds' from "external_grpc-grpc-java_license"
20    // to get the below license kinds:
21    //   SPDX-license-identifier-Apache-2.0
22    default_applicable_licenses: ["external_grpc-grpc-java_license"],
23}
24
25java_library {
26    name: "grpc-java-core",
27    host_supported: true,
28    srcs: [
29        "src/main/java/io/grpc/*.java",
30    ],
31    java_resource_dirs: [
32        "src/main/resources",
33    ],
34    libs: [
35        "grpc-java-context",
36        "jsr305",
37        "guava",
38    ],
39    sdk_version: "current",
40}
41
42java_library {
43    name: "grpc-java-core-inprocess",
44    host_supported: true,
45    srcs: [
46        "src/main/java/io/grpc/inprocess/*.java",
47    ],
48    libs: [
49        "grpc-java-core",
50        "grpc-java-core-internal",
51        "grpc-java-context",
52        "jsr305",
53        "guava",
54    ],
55    sdk_version: "current",
56}
57
58java_library {
59    name: "grpc-java-core-internal",
60    host_supported: true,
61    srcs: [
62        "src/main/java/io/grpc/internal/*.java",
63    ],
64    libs: [
65        "grpc-java-annotation-stubs",
66        "grpc-java-core",
67        "grpc-java-context",
68        "jsr305",
69        "gson-prebuilt-jar",
70        "error_prone_annotations",
71        "guava",
72        "opencensus-java-api",
73        "opencensus-java-contrib-grpc-metrics",
74    ],
75    target: {
76
77        // For the Android variant, ignore this class since it is optional,
78        // uses javax APIs not available on Android, and is used reflectively
79        // so ignoring it does not affect the functionality of the library.
80        android: {
81            exclude_srcs: [
82                "src/main/java/io/grpc/internal/JndiResourceResolverFactory.java",
83            ],
84        },
85    },
86    sdk_version: "current",
87}
88
89java_library {
90    name: "grpc-java-core-util",
91    host_supported: true,
92    srcs: [
93        "src/main/java/io/grpc/util/*.java",
94    ],
95    libs: [
96        "grpc-java-core",
97        "grpc-java-core-internal",
98        "jsr305",
99        "guava",
100    ],
101    sdk_version: "current",
102}
103