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

load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_shell//shell:sh_binary.bzl", "sh_binary")
load("//build_defs:internal_shell.bzl", "inline_sh_test")
load("//conformance:defs.bzl", "conformance_test")
load("//editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
load("//upb/cmake:build_defs.bzl", "staleness_test")

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

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

################################################################################
# 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 = [
        "//conformance:__subpackages__",
        "//csharp:__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 = [
        "src/Google.Protobuf.sln",
        ":srcs",
        "//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 net6.0 src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
        popd
    """,
)

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

pkg_files(
    name = "dist_files",
    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",
        ":srcs",
        "//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)"],
)

################################################################################
# Generated edition defaults (and staleness test)
################################################################################

compile_edition_defaults(
    name = "csharp_edition_defaults",
    srcs = [
        "//:descriptor_proto",
    ],
    maximum_edition = "2024",
    minimum_edition = "PROTO2",
)

# TODO Make bazel tests use this output instead of the checked-in one
embed_edition_defaults(
    name = "embedded_csharp_edition_defaults_generate",
    defaults = "csharp_edition_defaults",
    encoding = "base64",
    output = "generated/src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs",
    placeholder = "DEFAULTS_VALUE",
    template = "src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs.template",
)

staleness_test(
    name = "generated_csharp_defaults_staleness_test",
    outs = ["src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs"],
    generated_pattern = "generated/%s",
    tags = ["manual"],
    target_files = ["src/Google.Protobuf/Reflection/FeatureSetDescriptor.g.cs"],
)
