# This build file includes a target for the Ruby wrapper library for
# google-cloud-dlp.

# This is an API workspace, having public visibility by default makes perfect sense.
package(default_visibility = ["//visibility:public"])

# Export yaml configs.
exports_files(glob(["*.yaml"]))

load(
    "@com_google_googleapis_imports//:imports.bzl",
    "ruby_cloud_gapic_library",
    "ruby_gapic_assembly_pkg",
)

# Generates a Ruby wrapper client for dlp.
# Ruby wrapper clients are versionless, but are generated from source protos
# for a particular service version, v2 in this case.
ruby_cloud_gapic_library(
    name = "dlp_ruby_wrapper",
    srcs = ["//google/privacy/dlp/v2:dlp_proto_with_info"],
    extra_protoc_parameters = [
        "ruby-cloud-gem-name=google-cloud-dlp",
        "ruby-cloud-env-prefix=DLP",
        "ruby-cloud-wrapper-of=v2:0.20",
        "ruby-cloud-product-url=https://cloud.google.com/dlp",
        "ruby-cloud-api-id=dlp.googleapis.com",
        "ruby-cloud-api-shortname=dlp",
        "ruby-cloud-migration-version=1.0",
    ],
    ruby_cloud_description = "Provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.",
    ruby_cloud_title = "Cloud Data Loss Prevention (DLP)",
    transport = "grpc+rest",
)

# Open Source package.
ruby_gapic_assembly_pkg(
    name = "google-cloud-dlp-ruby",
    deps = [
        ":dlp_ruby_wrapper",
    ],
)
