diff options
Diffstat (limited to 'tests/jvm/analysis/jvm_library/friends')
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/BUILD | 110 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/Input.java | 19 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/Input.kt | 17 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/sub/BUILD | 58 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/sub/Input.kt | 17 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/testing/BUILD | 89 | ||||
-rw-r--r-- | tests/jvm/analysis/jvm_library/friends/testing/Input.kt | 17 |
7 files changed, 327 insertions, 0 deletions
diff --git a/tests/jvm/analysis/jvm_library/friends/BUILD b/tests/jvm/analysis/jvm_library/friends/BUILD new file mode 100644 index 0000000..f2454f4 --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/BUILD @@ -0,0 +1,110 @@ +# Copyright 2022 Google LLC. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the License); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("//kotlin/jvm/testing:for_analysis.bzl", ktfa = "kt_for_analysis") +load("//kotlin/jvm/testing:jvm_library_analysis_test.bzl", "kt_jvm_library_analysis_test") + +package( + default_applicable_licenses = ["//:license"], + default_testonly = True, + default_visibility = ["//tests/jvm/analysis/jvm_library/friends:__subpackages__"], +) + +licenses(["notice"]) + +kt_jvm_library_analysis_test( + name = "no_kt_exported_friend_cross_package_test", + expected_friend_jar_names = [], + target_under_test = ktfa.kt_jvm_library( + name = "no_kt_exported_friend_cross_package", + srcs = ["Input.kt"], + deps = [ + # Exports :friend from this package + "//tests/jvm/analysis/jvm_library/friends/sub:kt_exports_friend", + ], + ), +) + +kt_jvm_library_analysis_test( + name = "has_java_exported_friend_in_package_test", + expected_friend_jar_names = [ + "libjava_exports_friend-hjar.jar", + "libfriend-compile.jar", + ], + target_under_test = ktfa.kt_jvm_library( + name = "has_java_exported_friend_in_package", + srcs = ["Input.kt"], + deps = [":java_exports_friend"], + ), +) + +kt_jvm_library_analysis_test( + name = "has_kt_exported_friend_in_package_test", + expected_friend_jar_names = [ + "libkt_exports_friend-compile.jar", + "libfriend-compile.jar", + ], + target_under_test = ktfa.kt_jvm_library( + name = "has_kt_exported_friend_in_package", + srcs = ["Input.kt"], + deps = [":kt_exports_friend"], + ), +) + +kt_jvm_library_analysis_test( + name = "no_direct_friend_testing_package_test", + expected_friend_jar_names = [], + target_under_test = ktfa.kt_jvm_library( + name = "no_direct_friend_testing_package", + srcs = ["Input.kt"], + deps = ["//tests/jvm/analysis/jvm_library/friends/testing:testingfriend"], + ), +) + +kt_jvm_library_analysis_test( + name = "no_direct_friend_subpackage_test", + expected_friend_jar_names = [], + target_under_test = ktfa.kt_jvm_library( + name = "no_direct_friend_subpackage", + srcs = ["Input.kt"], + deps = ["//tests/jvm/analysis/jvm_library/friends/sub:subfriend"], + ), +) + +kt_jvm_library_analysis_test( + name = "has_direct_friend_in_package_test", + expected_friend_jar_names = ["libfriend-compile.jar"], + target_under_test = ktfa.kt_jvm_library( + name = "has_direct_friend_in_package", + srcs = ["Input.kt"], + deps = [":friend"], + ), +) + +ktfa.java_library( + name = "java_exports_friend", + srcs = ["Input.java"], + exports = [":friend"], +) + +ktfa.kt_jvm_library( + name = "kt_exports_friend", + srcs = ["Input.kt"], + exports = [":friend"], +) + +ktfa.kt_jvm_library( + name = "friend", + srcs = ["Input.kt"], +) diff --git a/tests/jvm/analysis/jvm_library/friends/Input.java b/tests/jvm/analysis/jvm_library/friends/Input.java new file mode 100644 index 0000000..5bf1d18 --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/Input.java @@ -0,0 +1,19 @@ +/* + * * Copyright 2022 Google LLC. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package test; + +final class Input {} diff --git a/tests/jvm/analysis/jvm_library/friends/Input.kt b/tests/jvm/analysis/jvm_library/friends/Input.kt new file mode 100644 index 0000000..b1a99cb --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/Input.kt @@ -0,0 +1,17 @@ +/* + * * Copyright 2022 Google LLC. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package test diff --git a/tests/jvm/analysis/jvm_library/friends/sub/BUILD b/tests/jvm/analysis/jvm_library/friends/sub/BUILD new file mode 100644 index 0000000..7f4a38e --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/sub/BUILD @@ -0,0 +1,58 @@ +# Copyright 2022 Google LLC. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the License); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("//kotlin/jvm/testing:for_analysis.bzl", ktfa = "kt_for_analysis") +load("//kotlin/jvm/testing:jvm_library_analysis_test.bzl", "kt_jvm_library_analysis_test") + +package( + default_applicable_licenses = ["//:license"], + default_testonly = True, + default_visibility = ["//tests/jvm/analysis/jvm_library/friends:__subpackages__"], +) + +licenses(["notice"]) + +kt_jvm_library_analysis_test( + name = "no_kt_exported_friend_cross_package_test", + expected_friend_jar_names = [ + "libkt_exports_friend-compile.jar", + # Absent # "libfriend-compile.jar" + ], + target_under_test = ktfa.kt_jvm_library( + name = "no_kt_exported_friend_cross_package", + srcs = ["Input.kt"], + deps = [":kt_exports_friend"], + ), +) + +kt_jvm_library_analysis_test( + name = "no_direct_friend_cross_package_test", + expected_friend_jar_names = [], + target_under_test = ktfa.kt_jvm_library( + name = "no_direct_friend_cross_package", + srcs = ["Input.kt"], + deps = ["//tests/jvm/analysis/jvm_library/friends:friend"], + ), +) + +ktfa.kt_jvm_library( + name = "kt_exports_friend", + srcs = ["Input.kt"], + exports = ["//tests/jvm/analysis/jvm_library/friends:friend"], +) + +ktfa.kt_jvm_library( + name = "subfriend", + srcs = ["Input.kt"], +) diff --git a/tests/jvm/analysis/jvm_library/friends/sub/Input.kt b/tests/jvm/analysis/jvm_library/friends/sub/Input.kt new file mode 100644 index 0000000..4c87a1e --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/sub/Input.kt @@ -0,0 +1,17 @@ +/* + * * Copyright 2022 Google LLC. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package test.sub diff --git a/tests/jvm/analysis/jvm_library/friends/testing/BUILD b/tests/jvm/analysis/jvm_library/friends/testing/BUILD new file mode 100644 index 0000000..0ab1bba --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/testing/BUILD @@ -0,0 +1,89 @@ +# Copyright 2022 Google LLC. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the License); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("//kotlin/jvm/testing:for_analysis.bzl", ktfa = "kt_for_analysis") +load("//kotlin/jvm/testing:jvm_library_analysis_test.bzl", "kt_jvm_library_analysis_test") + +package( + default_applicable_licenses = ["//:license"], + default_testonly = True, + default_visibility = ["//tests/jvm/analysis/jvm_library/friends:__subpackages__"], +) + +licenses(["notice"]) + +kt_jvm_library_analysis_test( + name = "has_kt_exported_friend_impl_package_test", + expected_friend_jar_names = [ + "libkt_exports_friend-compile.jar", + "libfriend-compile.jar", + ], + target_under_test = ktfa.kt_jvm_library( + name = "has_kt_exported_friend_impl_package", + srcs = ["Input.kt"], + deps = [":kt_exports_friend"], + ), +) + +kt_jvm_library_analysis_test( + name = "has_direct_friend_impl_package_test", + expected_friend_jar_names = [ + "libfriend-compile.jar", + ], + target_under_test = ktfa.kt_jvm_library( + name = "has_direct_friend_impl_package", + srcs = ["Input.kt"], + deps = ["//tests/jvm/analysis/jvm_library/friends:friend"], + ), +) + +kt_jvm_library_analysis_test( + name = "no_kt_exported_friend_sibling_package_test", + expected_friend_jar_names = [ + "libkt_exports_subfriend-compile.jar", + # Absent # "subfriend-compile.jar" + ], + target_under_test = ktfa.kt_jvm_library( + name = "no_kt_exported_friend_sibling_package", + srcs = ["Input.kt"], + deps = [":kt_exports_subfriend"], + ), +) + +kt_jvm_library_analysis_test( + name = "no_direct_friend_sibling_package_test", + expected_friend_jar_names = [], + target_under_test = ktfa.kt_jvm_library( + name = "no_direct_friend_sibling_package", + srcs = ["Input.kt"], + deps = ["//tests/jvm/analysis/jvm_library/friends/sub:subfriend"], + ), +) + +ktfa.kt_jvm_library( + name = "kt_exports_subfriend", + srcs = ["Input.kt"], + exports = ["//tests/jvm/analysis/jvm_library/friends/sub:subfriend"], +) + +ktfa.kt_jvm_library( + name = "kt_exports_friend", + srcs = ["Input.kt"], + exports = ["//tests/jvm/analysis/jvm_library/friends:friend"], +) + +ktfa.kt_jvm_library( + name = "testingfriend", + srcs = ["Input.kt"], +) diff --git a/tests/jvm/analysis/jvm_library/friends/testing/Input.kt b/tests/jvm/analysis/jvm_library/friends/testing/Input.kt new file mode 100644 index 0000000..2c65124 --- /dev/null +++ b/tests/jvm/analysis/jvm_library/friends/testing/Input.kt @@ -0,0 +1,17 @@ +/* + * * Copyright 2022 Google LLC. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package test.testing |