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