diff --git a/Makefile b/Makefile
index e35940b7f0..8a8b71c926 100644
--- a/Makefile
+++ b/Makefile
@@ -51,6 +51,7 @@ ifneq ($(BAZEL_CACHE_DIR),)
endif
BAZEL_COMMON_FLAGS=\
+ --announce_rc \
--features=swift.use_global_module_cache \
BAZEL_DEBUG_FLAGS=\
@@ -445,3 +446,9 @@ bazel_project: kill_xcode
APP_VERSION="${APP_VERSION}" \
BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
build-system/generate-xcode-project.sh
+
+bazel_soft_project:
+ APP_VERSION="${APP_VERSION}" \
+ BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
+ build-system/generate-xcode-project.sh
+
diff --git a/Telegram/BUILD b/Telegram/BUILD
index 3fad209128..5dfb99e09b 100644
--- a/Telegram/BUILD
+++ b/Telegram/BUILD
@@ -1,5 +1,6 @@
load("@build_bazel_rules_apple//apple:ios.bzl",
"ios_application",
+ "ios_extension",
"ios_framework",
)
@@ -28,6 +29,49 @@ load(
"telegram_aps_environment",
)
+config_setting(
+ name = "debug",
+ values = {
+ "compilation_mode": "dbg",
+ },
+)
+
+genrule(
+ name = "empty",
+ outs = ["empty.swift"],
+ cmd = "touch $(OUTS)",
+)
+
+swift_library(
+ name = "_LocalDebugOptions",
+ srcs = [":empty"],
+ copts = [
+ "-Xfrontend",
+ "-serialize-debugging-options",
+ ],
+ deps = [
+ "//submodules/AsyncDisplayKit:AsyncDisplayKit",
+ "//submodules/AppBundle:AppBundle",
+ "//submodules/ObjCRuntimeUtils:ObjCRuntimeUtils",
+ "//submodules/UIKitRuntimeUtils:UIKitRuntimeUtils",
+ "//submodules/Crc32:Crc32",
+ "//submodules/MurMurHash32:MurMurHash32",
+ "//submodules/StringTransliteration:StringTransliteration",
+ "//submodules/sqlcipher:sqlcipher",
+ "//submodules/NumberPluralizationForm:NumberPluralizationForm",
+ "//submodules/EncryptionProvider:EncryptionProvider",
+ "//submodules/MtProtoKit:MtProtoKit",
+ ],
+ module_name = "_LocalDebugOptions",
+ tags = ["no-remote"],
+ visibility = ["//visibility:public"],
+)
+
+debug_deps = select({
+ ":debug": [":_LocalDebugOptions"],
+ "//conditions:default": [],
+})
+
filegroup(
name = "AppResources",
srcs = glob([
@@ -114,6 +158,14 @@ swift_library(
":AppResources",
":AppIntentVocabularyResources",
":InfoPlistStringResources",
+ "//submodules/LegacyComponents:LegacyComponentsResources",
+ "//submodules/OverlayStatusController:OverlayStatusControllerResources",
+ "//submodules/PasswordSetupUI:PasswordSetupUIResources",
+ "//submodules/PasswordSetupUI:PasswordSetupUIAssets",
+ "//submodules/TelegramUI:TelegramUIResources",
+ "//submodules/TelegramUI:TelegramUIAssets",
+ "//submodules/WalletUI:WalletUIResources",
+ "//submodules/WalletUI:WalletUIAssets",
],
deps = [
"//submodules/TelegramUI:TelegramUI",
@@ -283,7 +335,7 @@ objc_library(
)
plist_fragment(
- name = "WatchVersionInfoPlist",
+ name = "VersionInfoPlist",
extension = "plist",
template =
"""
@@ -298,7 +350,7 @@ plist_fragment(
)
plist_fragment(
- name = "WatchAppNameInfoPlist",
+ name = "AppNameInfoPlist",
extension = "plist",
template =
"""
@@ -347,8 +399,8 @@ watchos_extension(
bundle_name = "TelegramWatchExtension",
infoplists = [
"Watch/Extension/Info.plist",
- ":WatchVersionInfoPlist",
- ":WatchAppNameInfoPlist",
+ ":VersionInfoPlist",
+ ":AppNameInfoPlist",
":WatchExtensionNSExtensionInfoPlist",
],
minimum_os_version = "5.0",
@@ -374,8 +426,8 @@ watchos_application(
extension = ":TelegramWatchExtension",
infoplists = [
"Watch/App/Info.plist",
- ":WatchVersionInfoPlist",
- ":WatchAppNameInfoPlist",
+ ":VersionInfoPlist",
+ ":AppNameInfoPlist",
":WatchAppCompanionInfoPlist",
],
minimum_os_version = "5.0",
@@ -391,6 +443,79 @@ watchos_application(
],
)
+swift_library(
+ name = "ShareExtensionLib",
+ module_name = "ShareExtensionLib",
+ srcs = glob([
+ "Share/**/*.swift",
+ ]),
+ deps = [
+ "//submodules/TelegramUI:TelegramUI"
+ ],
+)
+
+plist_fragment(
+ name = "TelegramUIInfoPlist",
+ extension = "plist",
+ template =
+ """
+ CFBundleIdentifier
+ {telegram_bundle_id}.TelegramUI
+ CFBundleVersion
+ {telegram_build_number}
+ CFBundleDevelopmentRegion
+ en
+ CFBundleName
+ TelegramUI
+ CFBundleShortVersionString
+ {telegram_version}
+ """.format(
+ telegram_bundle_id = telegram_bundle_id,
+ telegram_version = telegram_version,
+ telegram_build_number = telegram_build_number,
+ )
+)
+
+ios_framework(
+ name = "TelegramUIFramework",
+ bundle_id = "{telegram_bundle_id}.TelegramUI".format(
+ telegram_bundle_id = telegram_bundle_id,
+ ),
+ families = [
+ "iphone",
+ "ipad",
+ ],
+ infoplists = [
+ ":TelegramUIInfoPlist.plist",
+ ],
+ minimum_os_version = "9.0",
+ deps = [
+ "//submodules/TelegramUI:TelegramUI",
+ ] + debug_deps,
+)
+
+ios_extension(
+ name = "ShareExtension",
+ bundle_id = "{telegram_bundle_id}.Share".format(
+ telegram_bundle_id = telegram_bundle_id,
+ ),
+ families = [
+ "iphone",
+ "ipad",
+ ],
+ infoplists = [
+ "Share/Info.plist",
+ ":VersionInfoPlist",
+ ":AppNameInfoPlist",
+ ],
+ minimum_os_version = "9.0",
+ provisioning_profile = "//build-input/data/provisioning-profiles:Share.mobileprovision",
+ deps = [":ShareExtensionLib"],
+ frameworks = [
+ ":TelegramUIFramework"
+ ],
+)
+
ios_application(
name = "Telegram",
bundle_id = "{telegram_bundle_id}".format(
@@ -408,11 +533,14 @@ ios_application(
":DefaultAppIcon",
],
frameworks = [
- #":AsyncDisplayKitFramework",
+ ":TelegramUIFramework",
],
strings = [
":AppStringResources",
],
+ extensions = [
+ ":ShareExtension",
+ ],
watch_application = ":TelegramWatchApp",
deps = [
":Main",
diff --git a/Telegram/Share/Info.plist b/Telegram/Share/Info.plist
index ed09b1e9fd..f78fdec72f 100644
--- a/Telegram/Share/Info.plist
+++ b/Telegram/Share/Info.plist
@@ -4,8 +4,6 @@
CFBundleDevelopmentRegion
en
- CFBundleDisplayName
- ${APP_NAME}
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -16,10 +14,6 @@
$(PRODUCT_NAME)
CFBundlePackageType
XPC!
- CFBundleShortVersionString
- $(PRODUCT_BUNDLE_SHORT_VERSION)
- CFBundleVersion
- ${BUILD_NUMBER}
NSExtension
NSExtensionAttributes
diff --git a/build-system/bazel-rules/rules_swift b/build-system/bazel-rules/rules_swift
index ec21bcc566..bbe187c4b1 160000
--- a/build-system/bazel-rules/rules_swift
+++ b/build-system/bazel-rules/rules_swift
@@ -1 +1 @@
-Subproject commit ec21bcc566e09d5ff2777cdf34090958090fd4c4
+Subproject commit bbe187c4b1f55c0974a0da345e5e313eaed37c05
diff --git a/submodules/LegacyComponents/BUILD b/submodules/LegacyComponents/BUILD
index 50995c58e7..f460ed401b 100644
--- a/submodules/LegacyComponents/BUILD
+++ b/submodules/LegacyComponents/BUILD
@@ -4,6 +4,7 @@ filegroup(
srcs = glob([
"LegacyComponentsResources.bundle/**/*",
], exclude = ["Resources/LegacyComponentsResources.bundle/**/.*"]),
+ visibility = ["//visibility:public"],
)
objc_library(
diff --git a/submodules/OverlayStatusController/BUILD b/submodules/OverlayStatusController/BUILD
index 3133e584d1..e28e643223 100644
--- a/submodules/OverlayStatusController/BUILD
+++ b/submodules/OverlayStatusController/BUILD
@@ -5,14 +5,12 @@ filegroup(
srcs = glob([
"Resources/**/*",
], exclude = ["Resources/**/.*"]),
+ visibility = ["//visibility:public"],
)
swift_library(
name = "OverlayStatusController",
module_name = "OverlayStatusController",
- data = [
- ":OverlayStatusControllerResources",
- ],
srcs = glob([
"Sources/**/*.swift",
]),
diff --git a/submodules/PasswordSetupUI/BUILD b/submodules/PasswordSetupUI/BUILD
index 5f9ff52ae1..048733408a 100644
--- a/submodules/PasswordSetupUI/BUILD
+++ b/submodules/PasswordSetupUI/BUILD
@@ -5,11 +5,13 @@ filegroup(
srcs = glob([
"Resources/**/*",
], exclude = ["Resources/**/.*"]),
+ visibility = ["//visibility:public"],
)
filegroup(
name = "PasswordSetupUIAssets",
srcs = glob(["PasswordSetupUIImages.xcassets/**"]),
+ visibility = ["//visibility:public"],
)
swift_library(
@@ -18,10 +20,6 @@ swift_library(
srcs = glob([
"Sources/**/*.swift",
]),
- data = [
- ":PasswordSetupUIResources",
- ":PasswordSetupUIAssets",
- ],
deps = [
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
"//submodules/AsyncDisplayKit:AsyncDisplayKit",
diff --git a/submodules/TelegramUI/BUILD b/submodules/TelegramUI/BUILD
index ce54d7e777..9a6707f0cf 100644
--- a/submodules/TelegramUI/BUILD
+++ b/submodules/TelegramUI/BUILD
@@ -6,11 +6,13 @@ filegroup(
"Sounds/**/*",
"Resources/**/*",
], exclude = ["Sounds/**/.*", "Resources/**/.*"]),
+ visibility = ["//visibility:public"],
)
filegroup(
name = "TelegramUIAssets",
srcs = glob(["Images.xcassets/**"]),
+ visibility = ["//visibility:public"],
)
swift_library(
@@ -19,10 +21,6 @@ swift_library(
srcs = glob([
"Sources/**/*.swift",
]),
- data = [
- ":TelegramUIResources",
- ":TelegramUIAssets",
- ],
deps = [
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
"//submodules/SSignalKit/SSignalKit:SSignalKit",
diff --git a/submodules/WalletUI/BUILD b/submodules/WalletUI/BUILD
index 2d352e26df..3933e3e274 100644
--- a/submodules/WalletUI/BUILD
+++ b/submodules/WalletUI/BUILD
@@ -5,11 +5,13 @@ filegroup(
srcs = glob([
"Resources/**/*",
], exclude = ["Resources/**/.*"]),
+ visibility = ["//visibility:public"],
)
filegroup(
name = "WalletUIAssets",
srcs = glob(["WalletImages.xcassets/**"]),
+ visibility = ["//visibility:public"],
)
swift_library(
@@ -18,10 +20,6 @@ swift_library(
srcs = glob([
"Sources/**/*.swift",
]),
- data = [
- ":WalletUIResources",
- ":WalletUIAssets",
- ],
deps = [
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
"//submodules/AsyncDisplayKit:AsyncDisplayKit",