# Protobuf C# runtime
#
# See also code generation logic under /src/google/protobuf/compiler/csharp.

load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("//:protobuf.bzl", "internal_csharp_proto_library")
load("//build_defs:internal_shell.bzl", "inline_sh_test")
load("//conformance:defs.bzl", "conformance_test")

################################################################################
# Tests
################################################################################

conformance_test(
    name = "conformance_test",
    failure_list = "//conformance:failure_list_csharp.txt",
    testee = "//conformance:conformance_csharp",
    text_format_failure_list = "//conformance:text_format_failure_list_csharp.txt",
)

################################################################################
# CSharp Runtime
################################################################################

filegroup(
    name = "srcs",
    srcs = glob([
        "keys/*",
        "protos/*",
        "src/**/*.cs*",  # .cs and .csproj
    ], exclude = [
        # Exclude generated files.
        "src/*/obj/**/*"
    ]) + [
        "src/Directory.Build.props",
        "src/Google.Protobuf.Test/testprotos.pb",
        "src/Google.Protobuf.sln",
    ],
    visibility = [
        "//csharp:__subpackages__",
        "//conformance:__subpackages__"
    ],
)

filegroup(
    name = "wkt_cs_srcs",
    srcs = [
        "src/Google.Protobuf/Reflection/Descriptor.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Any.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Api.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Duration.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Empty.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/FieldMask.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/SourceContext.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Struct.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Timestamp.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Type.pb.cs",
        "src/Google.Protobuf/WellKnownTypes/Wrappers.pb.cs",
    ],
    visibility = ["//src/google/protobuf/compiler/csharp:__pkg__"],
)

inline_sh_test(
    name = "tests",
    srcs = [
        ":srcs",
        "src/Google.Protobuf.sln",
        "//conformance:conformance_csharp_proto",
        "//csharp/src/Google.Protobuf.Conformance:srcs",
    ],
    cmd = """
        cp $(rootpath //conformance:conformance_csharp_proto) `dirname $(location src/Google.Protobuf.sln)`/Google.Protobuf.Conformance/
        pushd `dirname $(location src/Google.Protobuf.sln)`/..
        dotnet restore src/Google.Protobuf.sln
        dotnet build -c Release src/Google.Protobuf.sln
        dotnet test -c Release -f netcoreapp3.1 src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
        popd
    """,
)

################################################################################
# Distribution files
################################################################################

pkg_files(
    name = "dist_files",
    srcs = [
        ":srcs",
        ".editorconfig",
        ".gitignore",
        "BUILD.bazel",
        "CHANGES.txt",
        "Google.Protobuf.Tools.nuspec",
        "Google.Protobuf.Tools.targets",
        "NuGet.Config",
        "README.md",
        "build_packages.bat",
        "build_release.sh",
        "build_tools.sh",
        "buildall.bat",
        "buildall.sh",
        "generate_protos.sh",
        "install_dotnet_sdk.ps1",
        "//csharp/src/Google.Protobuf.Conformance:dist_files",
    ],
    strip_prefix = strip_prefix.from_root(""),
    visibility = ["//pkg:__pkg__"],
)

sh_binary(
  name = "release",
  srcs = ["build_release.sh"],
  args = ["$(location build_release.sh)"],
)
