blob: 3666257938562aa7d86782fac638400561af2b85 [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_source", "go_test")
load("@io_bazel_rules_go//tests:bazel_tests.bzl", "bazel_test")
test_suite(
name = "cross",
)
go_binary(
name = "windows_cross",
srcs = ["main.go"],
goarch = "amd64",
goos = "windows",
pure = "on",
)
go_binary(
name = "linux_cross",
srcs = ["main.go"],
goarch = "amd64",
goos = "linux",
pure = "on",
)
go_binary(
name = "darwin_cross",
srcs = ["main.go"],
goarch = "amd64",
goos = "darwin",
pure = "on",
)
go_test(
name = "cross_test",
size = "small",
srcs = ["cross_test.go"],
args = [
"-darwin",
"$(location :darwin_cross)",
"-linux",
"$(location :linux_cross)",
"-windows",
"$(location :windows_cross)",
],
data = [
":darwin_cross",
":linux_cross",
":windows_cross",
],
rundir = ".",
deps = ["//go/tools/bazel:go_default_library"],
)
bazel_test(
name = "ios_select_test",
args = ["--platforms=@io_bazel_rules_go//go/toolchain:ios_amd64"],
command = "build",
targets = [":ios_lib"],
)
go_library(
name = "use_ios_lib",
importpath = "github.com/bazelbuild/rules_go/tests/core/cross/use_ios_lib",
deps = select({
":is_osx": [":ios_lib"],
"//conditions:default": [],
}),
)
config_setting(
name = "is_osx",
constraint_values = ["@bazel_tools//platforms:osx"],
)
go_library(
name = "ios_lib",
srcs = select({
"@io_bazel_rules_go//go/platform:darwin": ["ios_good.go"],
"//conditions:default": ["ios_bad.go"],
}),
importpath = "github.com/bazelbuild/rules_go/tests/core/cross/ios_lib",
tags = ["manual"],
)