From 47f11f84f79b7d28feabebdc1065388b06eaa746 Mon Sep 17 00:00:00 2001 From: Diego Torres Date: Tue, 12 May 2015 18:00:21 -0300 Subject: [PATCH] Podspec divided in subspecs. Feature Config now defaults to everything turned off --- HockeySDK.podspec | 59 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/HockeySDK.podspec b/HockeySDK.podspec index ef956e0f2f..f477267a8a 100644 --- a/HockeySDK.podspec +++ b/HockeySDK.podspec @@ -19,15 +19,58 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/bitstadium/HockeySDK-iOS.git', :tag => s.version.to_s } s.platform = :ios, '6.0' - s.source_files = 'Classes' s.requires_arc = true - s.frameworks = 'AssetsLibrary', 'CoreText', 'CoreGraphics', 'MobileCoreServices', 'QuartzCore', 'QuickLook', 'Security', 'SystemConfiguration', 'UIKit' - s.libraries = 'c++' - s.ios.vendored_frameworks = 'Vendor/CrashReporter.framework' - s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) BITHOCKEY_VERSION="@\\"#{s.version}\\"" BITHOCKEY_C_VERSION="\\"#{s.version}\\"" BITHOCKEY_BUILD="@\\"38\\"" BITHOCKEY_C_BUILD="\\"38\\""} } - s.resource_bundle = { 'HockeySDKResources' => ['Resources/*.png', 'Resources/*.lproj'] } - s.preserve_paths = 'Resources' - s.private_header_files = 'Classes/*Private.h' + s.default_subspec = 'All' + + s.subspec 'SharedRequirements' do |ss| + ss.source_files = 'Classes/HockeySDK*.{h,m}', 'Classes/BITHockeyManager*.{h,m}', 'Classes/BITHockeyAppClient.{h,m}', 'Classes/BITHTTPOperation.{h,m}', 'Classes/BITHockeyHelper.{h,m}', 'Classes/BITKeychain*.{h,m}', 'Classes/BITHockeyBaseManager*.{h,m}' + ss.frameworks = 'CoreText', 'CoreGraphics', 'QuartzCore', 'Security', 'UIKit' + ss.resource_bundle = { 'HockeySDKResources' => ['Resources/*.png', 'Resources/*.lproj'] } + ss.preserve_paths = 'Resources', 'Support' + ss.private_header_files = 'Classes/*Private.h' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) BITHOCKEY_VERSION="@\\"#{s.version}\\"" BITHOCKEY_C_VERSION="\\"#{s.version}\\"" BITHOCKEY_BUILD="@\\"38\\"" BITHOCKEY_C_BUILD="\\"38\\""} } + end + + s.subspec 'CrashReporter' do |ss| + ss.dependency 'HockeySDK/SharedRequirements' + ss.ios.vendored_frameworks = 'Vendor/CrashReporter.framework' + ss.frameworks = 'SystemConfiguration' + ss.source_files = 'Classes/BITCrash*.{h,m}', 'Classes/BITHockeyAttachment.{h,m}' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) HOCKEYSDK_FEATURE_CRASH_REPORTER=1} } + end + + s.subspec 'UserFeedback' do |ss| + ss.dependency 'HockeySDK/SharedRequirements' + ss.frameworks = 'AssetsLibrary', 'MobileCoreServices', 'QuickLook' + ss.source_files = 'Classes/BITFeedback*.{h,m}', 'Classes/BIT*ImageAnnotation.{h,m}', 'Classes/BITImageAnnotationViewController.{h,m}', 'Classes/BITHockeyAttachment.{h,m}', 'Classes/BITHockeyBaseViewController.{h,m}', 'Classes/BITAttributedLabel.{h,m}', 'Classes/BITActivityIndicatorButton.{h,m}' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) HOCKEYSDK_FEATURE_FEEDBACK=1} } + end + + s.subspec 'StoreUpdates' do |ss| + ss.dependency 'HockeySDK/SharedRequirements' + ss.source_files = 'Classes/BITStoreUpdate*.{h,m}' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) HOCKEYSDK_FEATURE_STORE_UPDATES=1} } + end + + s.subspec 'Authenticator' do |ss| + ss.dependency 'HockeySDK/SharedRequirements' + ss.source_files = 'Classes/BITAuthentica*.{h,m}', 'Classes/BITHockeyBaseViewController.{h,m}' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) HOCKEYSDK_FEATURE_AUTHENTICATOR=1} } + end + + s.subspec 'AdHocUpdates' do |ss| + ss.dependency 'HockeySDK/SharedRequirements' + ss.source_files = 'Classes/BITUpdate*.{h,m}', 'Classes/BITAppVersionMetaInfo.{h,m}', 'Classes/BITHockeyBaseViewController.{h,m}', 'Classes/BITStoreButton.{h,m}', 'Classes/BITAppStoreHeader.{h,m}', 'Classes/BITWebTableViewCell.{h,m}' + ss.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) HOCKEYSDK_FEATURE_UPDATES=1} } + end + + s.subspec 'All' do |ss| + ss.dependency 'HockeySDK/CrashReporter' + ss.dependency 'HockeySDK/UserFeedback' + ss.dependency 'HockeySDK/StoreUpdates' + ss.dependency 'HockeySDK/Authenticator' + ss.dependency 'HockeySDK/AdHocUpdates' + end end