#######
# Gradle 2.14.1
#######

# do not use directly. Use //tools/base/build-system:gradle
filegroup(
    name = "gradle-distrib-2.14.1",
    srcs = ["gradle-2.14.1-bin.zip"],
    visibility = ["//tools/base/build-system:__pkg__"],
)

# gradle-api jar, as generated by gradle when using the gradleApi() magic dependency.
# do not use directly. Use
# //tools/base/build-system:gradle-api_neverlink
# //tools/base/build-system:gradle-api
filegroup(
    name = "gradle-api-2.14.1",
    srcs = ["gradle-api-2.14.1.jar"],
    visibility = ["//tools/base/build-system:__pkg__"],
)

#######
# gradle 3.3
#######

# do not use directly. Use //tools/base/build-system:gradle
filegroup(
    name = "gradle-distrib-3.3",
    srcs = ["gradle-3.3-bin.zip"],
    visibility = ["//tools/base/build-system:__pkg__"],
)

# gradle-api jar, as generated by gradle when using the gradleApi() magic dependency.
# do not use directly. Use
# //tools/base/build-system:gradle-api_neverlink
# //tools/base/build-system:gradle-api
filegroup(
    name = "gradle-api-3.3",
    srcs = ["gradle-api-3.3.jar"],
    visibility = ["//tools/base/build-system:__pkg__"],
)

#######
# gradle nightly
#######

# do not use directly. Use //tools/base/build-system:gradle
filegroup(
    name = "gradle-distrib-nightly",
    srcs = ["gradle-3.5-20170221000043+0000-bin.zip"],
    visibility = ["//tools/base/build-system:__pkg__"],
)

# gradle-api jar, as generated by gradle when using the gradleApi() magic dependency.
# do not use directly. Use
# //tools/base/build-system:gradle-api_neverlink
# //tools/base/build-system:gradle-api
filegroup(
    name = "gradle-api-nightly",
    srcs = ["gradle-api-3.5-20170221000043+0000.jar"],
    visibility = ["//tools/base/build-system:__pkg__"],
)
