• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2022 Google LLC. All rights reserved.
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
15load("//kotlin:rules.bzl", "kt_jvm_library")
16load("//tests/analysis:for_test.bzl", "rules_for_test")
17load("//tests/analysis:jvm_library_test.bzl", "jvm_library_test")
18load("//tests/analysis:util.bzl", "ONLY_FOR_ANALYSIS_TEST_TAGS")
19
20package(
21    default_testonly = True,
22    default_visibility = ["//tests/analysis/jvm_library/friends:__subpackages__"],
23)
24
25licenses(["notice"])
26
27jvm_library_test(
28    name = "no_kt_exported_friend_cross_package_test",
29    expected_friend_jar_names = [],
30    target_under_test = rules_for_test.kt_jvm_library(
31        name = "no_kt_exported_friend_cross_package",
32        srcs = ["Input.kt"],
33        deps = [
34            # Exports :friend from this package
35            "//tests/analysis/jvm_library/friends/sub:kt_exports_friend",
36        ],
37    ),
38)
39
40jvm_library_test(
41    name = "has_java_exported_friend_in_package_test",
42    expected_friend_jar_names = [
43        "libjava_exports_friend-hjar.jar",
44        "libfriend-compile.jar",
45    ],
46    target_under_test = rules_for_test.kt_jvm_library(
47        name = "has_java_exported_friend_in_package",
48        srcs = ["Input.kt"],
49        deps = [":java_exports_friend"],
50    ),
51)
52
53jvm_library_test(
54    name = "has_kt_exported_friend_in_package_test",
55    expected_friend_jar_names = [
56        "libkt_exports_friend-compile.jar",
57        "libfriend-compile.jar",
58    ],
59    target_under_test = rules_for_test.kt_jvm_library(
60        name = "has_kt_exported_friend_in_package",
61        srcs = ["Input.kt"],
62        deps = [":kt_exports_friend"],
63    ),
64)
65
66jvm_library_test(
67    name = "no_direct_friend_testing_package_test",
68    expected_friend_jar_names = [],
69    target_under_test = rules_for_test.kt_jvm_library(
70        name = "no_direct_friend_testing_package",
71        srcs = ["Input.kt"],
72        deps = ["//tests/analysis/jvm_library/friends/testing:testingfriend"],
73    ),
74)
75
76jvm_library_test(
77    name = "no_direct_friend_subpackage_test",
78    expected_friend_jar_names = [],
79    target_under_test = rules_for_test.kt_jvm_library(
80        name = "no_direct_friend_subpackage",
81        srcs = ["Input.kt"],
82        deps = ["//tests/analysis/jvm_library/friends/sub:subfriend"],
83    ),
84)
85
86jvm_library_test(
87    name = "has_direct_friend_in_package_test",
88    expected_friend_jar_names = ["libfriend-compile.jar"],
89    target_under_test = rules_for_test.kt_jvm_library(
90        name = "has_direct_friend_in_package",
91        srcs = ["Input.kt"],
92        deps = [":friend"],
93    ),
94)
95
96java_library(
97    name = "java_exports_friend",
98    srcs = ["Input.java"],
99    tags = ONLY_FOR_ANALYSIS_TEST_TAGS,
100    exports = [":friend"],
101)
102
103kt_jvm_library(
104    name = "kt_exports_friend",
105    srcs = ["Input.kt"],
106    tags = ONLY_FOR_ANALYSIS_TEST_TAGS,
107    exports = [":friend"],
108)
109
110kt_jvm_library(
111    name = "friend",
112    srcs = ["Input.kt"],
113    tags = ONLY_FOR_ANALYSIS_TEST_TAGS,
114)
115