| 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"], |
| ) |