# Copyright 2021 Code Intelligence GmbH # # 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("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_test") # A kt_jvm_test wrapped in a java_test for Windows compatibility. # Workaround for https://github.com/bazelbuild/rules_kotlin/issues/599: rules_kotlin can only create # a shell wrapper script for Java targets, no native executable as is required on Windows. def wrapped_kt_jvm_test( name, test_class, size = None, tags = None, timeout = None, visibility = None, **kt_jvm_test_args): kt_jvm_test_name = name + "_kt_" # Modify a copy of the tags. kt_jvm_test_tags = list(tags) if tags != None else [] kt_jvm_test_tags.append("manual") kt_jvm_test( name = kt_jvm_test_name, test_class = test_class, visibility = ["//visibility:private"], tags = kt_jvm_test_tags, **kt_jvm_test_args ) native.java_test( name = name, size = size, tags = tags, test_class = test_class, timeout = timeout, visibility = visibility, runtime_deps = [ ":" + kt_jvm_test_name, ], )