xref: /aosp_15_r20/external/bazelbuild-kotlin-rules/tests/jvm/java/srcartifacts/BUILD (revision 3a22c0a33dd99bcca39a024d43e6fbcc55c2806e)
1*3a22c0a3SAlix# Copyright 2022 Google LLC. All rights reserved.
2*3a22c0a3SAlix#
3*3a22c0a3SAlix# Licensed under the Apache License, Version 2.0 (the License);
4*3a22c0a3SAlix# you may not use this file except in compliance with the License.
5*3a22c0a3SAlix# You may obtain a copy of the License at
6*3a22c0a3SAlix#
7*3a22c0a3SAlix#     http://www.apache.org/licenses/LICENSE-2.0
8*3a22c0a3SAlix#
9*3a22c0a3SAlix# Unless required by applicable law or agreed to in writing, software
10*3a22c0a3SAlix# distributed under the License is distributed on an "AS IS" BASIS,
11*3a22c0a3SAlix# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*3a22c0a3SAlix# See the License for the specific language governing permissions and
13*3a22c0a3SAlix# limitations under the License.
14*3a22c0a3SAlix
15*3a22c0a3SAlixload("//kotlin:rules.bzl", "kt_jvm_library", "kt_jvm_test")
16*3a22c0a3SAlixload("//kotlin/common/testing:testing_rules.bzl", "kt_testing_rules")
17*3a22c0a3SAlixload("@bazel_skylib//rules:build_test.bzl", "build_test")
18*3a22c0a3SAlix
19*3a22c0a3SAlixpackage(
20*3a22c0a3SAlix    default_applicable_licenses = ["//:license"],
21*3a22c0a3SAlix    default_testonly = 1,
22*3a22c0a3SAlix)
23*3a22c0a3SAlix
24*3a22c0a3SAlixlicenses(["notice"])
25*3a22c0a3SAlix
26*3a22c0a3SAlixkt_jvm_test(
27*3a22c0a3SAlix    name = "srcartifacts",
28*3a22c0a3SAlix    srcs = [
29*3a22c0a3SAlix        "JavaSrc.java",
30*3a22c0a3SAlix        "KtSrc.kt",
31*3a22c0a3SAlix        "SrcArtifactsTest.kt",
32*3a22c0a3SAlix        ":JavaSrcjar_gen",
33*3a22c0a3SAlix        ":dir/java",
34*3a22c0a3SAlix        ":dir/kotlin",
35*3a22c0a3SAlix    ],
36*3a22c0a3SAlix    resources = [
37*3a22c0a3SAlix        "dir/empty",
38*3a22c0a3SAlix        "dir/resources",
39*3a22c0a3SAlix    ],
40*3a22c0a3SAlix    test_class = "srcartifacts.SrcArtifactsTest",
41*3a22c0a3SAlix    deps = [
42*3a22c0a3SAlix        "@maven//:com_google_truth_truth",
43*3a22c0a3SAlix        "@maven//:junit_junit",
44*3a22c0a3SAlix    ],
45*3a22c0a3SAlix)
46*3a22c0a3SAlix
47*3a22c0a3SAlixkt_testing_rules.create_dir(
48*3a22c0a3SAlix    name = "dir/java",
49*3a22c0a3SAlix    srcs = [
50*3a22c0a3SAlix        "JavaInJavaDir.java",
51*3a22c0a3SAlix    ],
52*3a22c0a3SAlix    subdir = "srcartifacts",
53*3a22c0a3SAlix)
54*3a22c0a3SAlix
55*3a22c0a3SAlixkt_testing_rules.create_dir(
56*3a22c0a3SAlix    name = "dir/kotlin",
57*3a22c0a3SAlix    srcs = [
58*3a22c0a3SAlix        "KtInKotlinDir.kt",
59*3a22c0a3SAlix    ],
60*3a22c0a3SAlix    subdir = "srcartifacts",
61*3a22c0a3SAlix)
62*3a22c0a3SAlix
63*3a22c0a3SAlixkt_testing_rules.create_dir(
64*3a22c0a3SAlix    name = "dir/empty",
65*3a22c0a3SAlix    srcs = [],
66*3a22c0a3SAlix    subdir = "srcartifacts/empty",
67*3a22c0a3SAlix)
68*3a22c0a3SAlix
69*3a22c0a3SAlixkt_testing_rules.create_dir(
70*3a22c0a3SAlix    name = "dir/resources",
71*3a22c0a3SAlix    srcs = [
72*3a22c0a3SAlix        kt_testing_rules.create_file(
73*3a22c0a3SAlix            name = "resources_in_resources_dir.txt",
74*3a22c0a3SAlix            content = "Test resource content.",
75*3a22c0a3SAlix        ),
76*3a22c0a3SAlix    ],
77*3a22c0a3SAlix    subdir = "resources",
78*3a22c0a3SAlix)
79*3a22c0a3SAlix
80*3a22c0a3SAlixgenrule(
81*3a22c0a3SAlix    name = "JavaSrcjar_gen",
82*3a22c0a3SAlix    srcs = [":libJavaSrcjar_lib-src.jar"],
83*3a22c0a3SAlix    outs = ["JavaSrcjar.srcjar"],
84*3a22c0a3SAlix    cmd = "cp $(location :libJavaSrcjar_lib-src.jar) $(location :JavaSrcjar.srcjar)",
85*3a22c0a3SAlix)
86*3a22c0a3SAlix
87*3a22c0a3SAlixjava_library(
88*3a22c0a3SAlix    name = "JavaSrcjar_lib",
89*3a22c0a3SAlix    srcs = ["JavaSrcjar.java"],
90*3a22c0a3SAlix    tags = ["manual"],
91*3a22c0a3SAlix)
92*3a22c0a3SAlix
93*3a22c0a3SAlixkt_jvm_library(
94*3a22c0a3SAlix    name = "empty_java_tree_artifact",
95*3a22c0a3SAlix    srcs = [
96*3a22c0a3SAlix        kt_testing_rules.create_dir(
97*3a22c0a3SAlix            name = "dir/empty_java/java",
98*3a22c0a3SAlix            srcs = [],
99*3a22c0a3SAlix            subdir = "srcartifacts",
100*3a22c0a3SAlix        ),
101*3a22c0a3SAlix    ],
102*3a22c0a3SAlix)
103*3a22c0a3SAlix
104*3a22c0a3SAlixkt_jvm_library(
105*3a22c0a3SAlix    name = "empty_kotlin_tree_artifact",
106*3a22c0a3SAlix    srcs = [
107*3a22c0a3SAlix        kt_testing_rules.create_dir(
108*3a22c0a3SAlix            name = "dir/empty_kotlin/kotlin",
109*3a22c0a3SAlix            srcs = [],
110*3a22c0a3SAlix            subdir = "srcartifacts",
111*3a22c0a3SAlix        ),
112*3a22c0a3SAlix    ],
113*3a22c0a3SAlix)
114*3a22c0a3SAlix
115*3a22c0a3SAlixbuild_test(
116*3a22c0a3SAlix    name = "empty_dirs_build_test",
117*3a22c0a3SAlix    targets = [
118*3a22c0a3SAlix        "empty_java_tree_artifact",
119*3a22c0a3SAlix        "empty_kotlin_tree_artifact",
120*3a22c0a3SAlix    ],
121*3a22c0a3SAlix)
122