load("@build_bazel_rules_apple//apple:macos.bzl",
"macos_application",
)
load("@build_bazel_rules_swift//swift:swift.bzl",
"swift_library",
)
load("//build-system/bazel-utils:plist_fragment.bzl",
"plist_fragment",
)
load(
"@build_bazel_rules_apple//apple:resources.bzl",
"apple_resource_bundle",
"apple_resource_group",
)
load(
"@rules_xcodeproj//xcodeproj:defs.bzl",
"top_level_target",
"top_level_targets",
"xcodeproj",
"xcode_provisioning_profile",
)
load("@build_bazel_rules_apple//apple:apple.bzl", "local_provisioning_profile")
load(
"@build_configuration//:variables.bzl",
"telegram_bazel_path",
)
filegroup(
name = "AppResources",
srcs = glob([
"Resources/**/*",
], exclude = ["Resources/**/.*"]),
)
plist_fragment(
name = "BuildNumberInfoPlist",
extension = "plist",
template =
"""
CFBundleVersion
1
"""
)
plist_fragment(
name = "VersionInfoPlist",
extension = "plist",
template =
"""
CFBundleShortVersionString
1.0
"""
)
plist_fragment(
name = "AppNameInfoPlist",
extension = "plist",
template =
"""
CFBundleDisplayName
Test
"""
)
plist_fragment(
name = "MacAppInfoPlist",
extension = "plist",
template =
"""
CFBundleDevelopmentRegion
en
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
$(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
Telegram
CFBundlePackageType
APPL
NSMainStoryboardFile
Main
NSPrincipalClass
NSApplication
"""
)
filegroup(
name = "TestDataBundleFiles",
srcs = glob([
"TestData/*.json",
]),
visibility = ["//visibility:public"],
)
plist_fragment(
name = "TestDataBundleInfoPlist",
extension = "plist",
template =
"""
CFBundleIdentifier
org.telegram.TestDataBundle
CFBundleDevelopmentRegion
en
CFBundleName
TestDataBundle
"""
)
apple_resource_bundle(
name = "TestDataBundle",
infoplists = [
":TestDataBundleInfoPlist",
],
resources = [
":TestDataBundleFiles",
],
)
swift_library(
name = "MacLib",
srcs = glob([
"MacSources/**/*.swift",
]),
data = [
"Resources/Main.storyboard",
],
)
macos_application(
name = "LottieMetalMacTest",
app_icons = [],
bundle_id = "com.example.hello-world-swift",
infoplists = [
":MacAppInfoPlist",
":BuildNumberInfoPlist",
":VersionInfoPlist",
],
minimum_os_version = "10.13",
deps = [
":MacLib"
],
visibility = ["//visibility:public"],
)
xcodeproj(
name = "LottieMetalMacTest_xcodeproj",
build_mode = "bazel",
bazel_path = telegram_bazel_path,
project_name = "LottieMetalMacTest",
tags = ["manual"],
top_level_targets = top_level_targets(
labels = [
":LottieMetalMacTest",
],
),
xcode_configurations = {
"Debug": {
"//command_line_option:compilation_mode": "dbg",
},
"Release": {
"//command_line_option:compilation_mode": "opt",
},
},
default_xcode_configuration = "Debug"
)