load("//Config:utils.bzl", "library_configs", ) load("//Config:wallet_configs.bzl", "app_binary_configs", "app_info_plist_substitutions", ) load("//Config:buck_rule_macros.bzl", "framework_binary_dependencies", "framework_bundle_dependencies", ) framework_dependencies = [ "//submodules/MtProtoKit:MtProtoKit", "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", "//submodules/AsyncDisplayKit:AsyncDisplayKit", "//submodules/Display:Display", ] resource_dependencies = [ "//submodules/WalletUI:WalletUIResources", "//submodules/WalletUI:WalletUIAssets", "//submodules/OverlayStatusController:OverlayStatusControllerResources", ":StringResources", ":InfoPlistStringResources", ":Icons", ":LaunchScreen", ] apple_resource( name = "StringResources", files = [], variants = glob([ "Strings/*.lproj/Localizable.strings", ]), visibility = ["PUBLIC"], ) apple_resource( name = "InfoPlistStringResources", files = [], variants = glob([ "InfoPlistStrings/*.lproj/InfoPlist.strings", ]), visibility = ["PUBLIC"], ) apple_asset_catalog( name = "Icons", dirs = [ "Icons.xcassets", ], app_icon = "AppIconWallet", visibility = ["PUBLIC"], ) apple_resource( name = "LaunchScreen", files = [ "LaunchScreen.xib", ], visibility = ["PUBLIC"], ) apple_library( name = "AppLibrary", visibility = [ "//Wallet:...", ], configs = library_configs(), swift_version = native.read_config("swift", "version"), srcs = glob([ "Sources/**/*.m", "Sources/**/*.swift", ]), exported_linker_flags = [ "-lc++", "-lz" ], deps = [ "//submodules/WalletUI:WalletUI", "//submodules/BuildConfig:BuildConfig", ] + framework_binary_dependencies(framework_dependencies), frameworks = [ "$SDKROOT/System/Library/Frameworks/Foundation.framework", "$SDKROOT/System/Library/Frameworks/UIKit.framework", "$SDKROOT/System/Library/Frameworks/VideoToolbox.framework", ], ) apple_binary( name = "AppBinary", visibility = [ "//Wallet:...", ], configs = app_binary_configs(), swift_version = native.read_config("swift", "version"), srcs = [ "SupportFiles/Empty.swift", ], deps = [ ":AppLibrary", ] + resource_dependencies, ) apple_bundle( name = "Wallet", visibility = [ "//:", ], extension = "app", binary = ":AppBinary", product_name = "Wallet", info_plist = "Info.plist", info_plist_substitutions = app_info_plist_substitutions(), deps = [ ] + framework_bundle_dependencies(framework_dependencies), ) apple_package( name = "AppPackage", bundle = ":Wallet", ) xcode_workspace_config( name = "workspace", workspace_name = "WalletWorkspace", src_target = ":Wallet", )