blob: b7bca73bee1c3000ef23ca9b910286411d67ada8 [file] [log] [blame]
# Copyright 2019 The Bazel Authors. 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.
"""Starlark rules for building Java projects."""
load("//java/private:native.bzl", "NativeJavaInfo", "NativeJavaPluginInfo", "native_java_common")
# Do not touch: This line marks the end of loads; needed for PR importing.
_MIGRATION_TAG = "__JAVA_RULES_MIGRATION_DO_NOT_USE_WILL_BREAK__"
version = "7.3.0"
def _add_tags(attrs):
if "tags" in attrs and attrs["tags"] != None:
attrs["tags"] = attrs["tags"] + [_MIGRATION_TAG]
else:
attrs["tags"] = [_MIGRATION_TAG]
return attrs
def java_binary(**attrs):
"""Bazel java_binary rule.
https://docs.bazel.build/versions/master/be/java.html#java_binary
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_binary(**_add_tags(attrs))
def java_import(**attrs):
"""Bazel java_import rule.
https://docs.bazel.build/versions/master/be/java.html#java_import
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_import(**_add_tags(attrs))
def java_library(**attrs):
"""Bazel java_library rule.
https://docs.bazel.build/versions/master/be/java.html#java_library
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_library(**_add_tags(attrs))
def java_lite_proto_library(**attrs):
"""Bazel java_lite_proto_library rule.
https://docs.bazel.build/versions/master/be/java.html#java_lite_proto_library
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_lite_proto_library(**_add_tags(attrs))
def java_proto_library(**attrs):
"""Bazel java_proto_library rule.
https://docs.bazel.build/versions/master/be/java.html#java_proto_library
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_proto_library(**_add_tags(attrs))
def java_test(**attrs):
"""Bazel java_test rule.
https://docs.bazel.build/versions/master/be/java.html#java_test
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_test(**_add_tags(attrs))
def java_package_configuration(**attrs):
"""Bazel java_package_configuration rule.
https://docs.bazel.build/versions/master/be/java.html#java_package_configuration
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_package_configuration(**_add_tags(attrs))
def java_plugin(**attrs):
"""Bazel java_plugin rule.
https://docs.bazel.build/versions/master/be/java.html#java_plugin
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_plugin(**_add_tags(attrs))
def java_runtime(**attrs):
"""Bazel java_runtime rule.
https://docs.bazel.build/versions/master/be/java.html#java_runtime
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_runtime(**_add_tags(attrs))
def java_toolchain(**attrs):
"""Bazel java_toolchain rule.
https://docs.bazel.build/versions/master/be/java.html#java_toolchain
Args:
**attrs: Rule attributes
"""
# buildifier: disable=native-java
native.java_toolchain(**_add_tags(attrs))
java_common = native_java_common
JavaInfo = NativeJavaInfo
JavaPluginInfo = NativeJavaPluginInfo