xref: /aosp_15_r20/libcore/luni/src/test/java9language/Android.bp (revision 89a6322812dc8573315e60046e7959c50dad91d4)
1// Copyright (C) 2019 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// Android tests related to Java 9 language features.
16
17// Use jarjar to repackage Java9LanguageFeatures, to be used in tests below.
18package {
19    default_team: "trendy_team_java_core_libraries",
20    // http://go/android-license-faq
21    // A large-scale-change added 'default_applicable_licenses' to import
22    // the below license kinds from "libcore_luni_license":
23    //   SPDX-license-identifier-Apache-2.0
24    default_applicable_licenses: ["libcore_luni_license"],
25}
26
27java_library {
28    name: "core-java-9-language-features-repackaged-for-test",
29    hostdex: true,
30
31    srcs: [":core-java-9-language-features-source"],
32    jarjar_rules: "jarjar_rules_java9_language_features.txt",
33    java_version: "1.9",
34
35    sdk_version: "none",
36    system_modules: "core-all-system-modules",
37    patch_module: "java.base",
38
39    visibility: ["//visibility:private"],
40}
41
42// Generate a clone of Java9LanguageFeaturesTest which uses a version of
43// Java9LanguageFeatures repackaged by jarjar. This ensures that jarjar is able
44// to handle a class file which must be at least v53 and includes bytecode
45// compiled from Java 9 language features.
46filegroup {
47    name: "core-rewrite-test-for-jarjar-sed-script",
48    srcs: ["rewrite-test-for-jarjar.sed"],
49    visibility: ["//visibility:private"],
50}
51
52filegroup {
53    name: "core-java-9-language-features-test-src",
54    srcs: ["java/libcore/libcore/internal/Java9LanguageFeaturesTest.java"],
55    visibility: ["//visibility:private"],
56}
57
58genrule {
59    name: "core-gen-test-repackaged-java-9-language-features",
60    srcs: [
61        ":core-rewrite-test-for-jarjar-sed-script",
62        ":core-java-9-language-features-test-src",
63    ],
64    out: ["libcore/libcore/internal/Java9LanguageFeaturesJarjarTest.java"],
65    cmd: "sed -r -f $(location :core-rewrite-test-for-jarjar-sed-script) $(location :core-java-9-language-features-test-src) > $(out)",
66    visibility: ["//visibility:private"],
67}
68
69java_library {
70    name: "core-java-9-language-tests",
71    hostdex: true,
72    srcs: [
73        "java/**/*.java",
74        ":core-gen-test-repackaged-java-9-language-features",
75    ],
76    sdk_version: "none",
77    system_modules: "core-all-system-modules",
78    static_libs: [
79        "core-java-9-language-features-repackaged-for-test",
80        "junit",
81    ],
82    visibility: ["//libcore"],
83}
84