95 lines
2.8 KiB
Python
95 lines
2.8 KiB
Python
load("//build_defs:internal_shell.bzl", "inline_sh_binary")
|
|
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
|
|
|
inline_sh_binary(
|
|
name = "build_conformance_test",
|
|
srcs = ["Google.Protobuf.Conformance.csproj"],
|
|
cmd = "dotnet build -c Release $(SRCS)",
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
CONFORMANCE_DEPS = [
|
|
"Google.Protobuf.dll",
|
|
"Google.Protobuf.Conformance.deps.json",
|
|
"Google.Protobuf.Conformance.pdb",
|
|
"Google.Protobuf.Conformance.runtimeconfig.json",
|
|
"Google.Protobuf.Test.dll",
|
|
"Google.Protobuf.Test.TestProtos.dll",
|
|
"Microsoft.TestPlatform.CommunicationUtilities.dll",
|
|
"Microsoft.TestPlatform.CoreUtilities.dll",
|
|
"Microsoft.TestPlatform.CrossPlatEngine.dll",
|
|
"Microsoft.TestPlatform.PlatformAbstractions.dll",
|
|
"Microsoft.TestPlatform.Utilities.dll",
|
|
"Microsoft.VisualStudio.CodeCoverage.Shim.dll",
|
|
"Microsoft.VisualStudio.TestPlatform.Common.dll",
|
|
"Microsoft.VisualStudio.TestPlatform.ObjectModel.dll",
|
|
"NUnit3.TestAdapter.dll",
|
|
"Newtonsoft.Json.dll",
|
|
"NuGet.Frameworks.dll",
|
|
"nunit.engine.api.dll",
|
|
"nunit.engine.core.dll",
|
|
"nunit.engine.dll",
|
|
"nunit.framework.dll",
|
|
"testcentric.engine.metadata.dll",
|
|
"testhost.dll",
|
|
]
|
|
|
|
filegroup(
|
|
name = "srcs",
|
|
srcs = [
|
|
"Google.Protobuf.Conformance.csproj",
|
|
"Program.cs",
|
|
],
|
|
visibility = [
|
|
"//csharp:__subpackages__",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "package_conformance_test",
|
|
srcs = [
|
|
"Program.cs",
|
|
"Google.Protobuf.Conformance.csproj",
|
|
"//conformance:conformance_csharp_proto",
|
|
"//csharp:srcs",
|
|
],
|
|
outs = CONFORMANCE_DEPS + ["Google.Protobuf.Conformance.dll"],
|
|
cmd = """
|
|
SRCDIR=$$(dirname $(location :Program.cs))
|
|
cp $(location //conformance:conformance_csharp_proto) $$SRCDIR
|
|
DOTNET_CLI_HOME=/tmp ./$(location :build_conformance_test)
|
|
cp -r $$SRCDIR/bin/Release/net6.0/* $(RULEDIR)
|
|
""",
|
|
tools = [":build_conformance_test"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "conformance_dll",
|
|
srcs = ["Google.Protobuf.Conformance.dll"],
|
|
data = [":package_conformance_test"],
|
|
visibility = ["//conformance:__subpackages__"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "conformance_runfiles",
|
|
srcs = CONFORMANCE_DEPS,
|
|
data = [":package_conformance_test"],
|
|
visibility = ["//conformance:__subpackages__"],
|
|
)
|
|
|
|
################################################################################
|
|
# Distribution files
|
|
################################################################################
|
|
|
|
pkg_files(
|
|
name = "dist_files",
|
|
srcs = [
|
|
"BUILD.bazel",
|
|
"Google.Protobuf.Conformance.csproj",
|
|
"Program.cs",
|
|
],
|
|
strip_prefix = strip_prefix.from_root(""),
|
|
visibility = ["//csharp:__pkg__"],
|
|
)
|