Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add Swift Package Manager support; upgrade ParseFacbookUtils to Facebook SDK 15 #1683

Merged
merged 25 commits into from
Jan 29, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
78d0412
feature: create release framework for SPM
vazarkevych Nov 28, 2022
5dd73b8
fix: fixed functionality with SPM
vazarkevych Nov 29, 2022
5c10109
fixed crash when run demo app
vazarkevych Dec 3, 2022
02fb65a
update script for run ParseDemo
vazarkevych Dec 3, 2022
bb8bb39
update ci for update carthage
vazarkevych Dec 3, 2022
aa61dd5
add test configuration for target 'ParseFacebookUtilsV4-iOS'
vazarkevych Dec 3, 2022
ffe9b0f
Update Ci for run test for facebookUtils
vazarkevych Dec 3, 2022
5049a56
add token for update Carthage for test
vazarkevych Dec 3, 2022
1a21c61
update CI for run command update carthage
vazarkevych Dec 5, 2022
cc7d1a7
remove unnecessary files
vazarkevych Dec 6, 2022
0cf8068
fixed assets tests
vazarkevych Dec 7, 2022
ae70ce3
update CI for assets test
vazarkevych Dec 7, 2022
dca8cb4
update CI for assets test
vazarkevych Dec 7, 2022
cff2da6
Update token and appID for Facebook
vazarkevych Dec 9, 2022
c484c57
update podspec for CI with cocoapods
vazarkevych Dec 10, 2022
6e811e7
fix cocoapods tests for CI
vazarkevych Dec 12, 2022
18310fc
Merge branch 'master' into SPM
mtrezza Dec 17, 2022
0d7fb66
test assets without facebook build
vazarkevych Dec 23, 2022
4e5ed19
fixed assets tests
vazarkevych Dec 26, 2022
1df5312
delete Carthage from project
vazarkevych Jan 2, 2023
890f72f
Delete .circleci directory
mtrezza Jan 28, 2023
cc50be3
add setup ruby to ci
mtrezza Jan 28, 2023
d0f58a9
add ruby setup to more CI jobs
mtrezza Jan 28, 2023
eafdc41
Update ci.yml
mtrezza Jan 29, 2023
9f1f7bc
use macos-11 for assets
mtrezza Jan 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Cartfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "BoltsFramework/Bolts-ObjC" ~> 1.9.1
github "facebook/facebook-ios-sdk" == 11.0.1
github "vazarkevych/Bolts-ObjC" "spm"
mtrezza marked this conversation as resolved.
Show resolved Hide resolved
github "facebook/facebook-ios-sdk" == 15.1.0
82 changes: 82 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// swift-tools-version:5.5

import PackageDescription

let package = Package(
name: "ParseObjC",
defaultLocalization: "en",
platforms: [.iOS(.v12),
.macOS(.v10_10),
.tvOS(.v12),
.watchOS(.v2)],
products: [
.library(name: "ParseObjC", targets: ["ParseCore"]),
.library(name: "ParseFacebookUtilsiOS", targets: ["ParseFacebookUtilsiOS"]),
.library(name: "ParseFacebookUtilsTvOS", targets: ["ParseFacebookUtilsTvOS"]),
.library(name: "ParseTwitterUtils", targets: ["ParseTwitterUtils"]),
.library(name: "ParseUI", targets: ["ParseUI"])
],
dependencies: [
.package(url: "https://github.com/vazarkevych/Bolts-ObjC.git", branch: "spm"),
.package(url: "https://github.com/facebook/facebook-ios-sdk", from: "15.1.0")
],
targets: [
.target(
name: "ParseCore",
dependencies: [.product(name: "Bolts", package: "Bolts-ObjC")],
path: "Parse/Parse",
exclude: ["Resources/Parse-tvOS.Info.plist", "Resources/Parse-iOS.Info.plist", "Resources/Parse-OSX.Info.plist", "Resources/Parse-watchOS.Info.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source",
cSettings: [.headerSearchPath("Internal/**")]),
.target(
name: "ParseFacebookUtils",
dependencies: [
"ParseCore",
.product(name: "Bolts", package: "Bolts-ObjC"),
.product(name: "FacebookCore", package: "facebook-ios-sdk", condition: .when(platforms: [.iOS, .tvOS])),
.product(name: "FacebookLogin", package: "facebook-ios-sdk", condition: .when(platforms: [.iOS, .tvOS]))],
path: "ParseFacebookUtils/ParseFacebookUtils",
exclude: ["exclude", "Resources/Info-tvOS.plist", "Resources/Info-iOS.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source"),
.target(name: "ParseFacebookUtilsiOS",
dependencies: [
"ParseFacebookUtils"
],
path: "ParseFacebookUtilsiOS/ParseFacebookUtilsiOS",
exclude: ["exclude", "Resources/Info-iOS.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source",
cSettings: [.headerSearchPath("Internal/**")]),
.target(name: "ParseFacebookUtilsTvOS",
dependencies: [
"ParseFacebookUtils",
.product(name: "FacebookTV", package: "facebook-ios-sdk", condition: .when(platforms: [.tvOS]))
],
path: "ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS",
exclude: ["exclude", "Resources/Info-tvOS.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source",
cSettings: [.headerSearchPath("Internal/**")]),
.target(name: "ParseTwitterUtils",
dependencies: [
"ParseCore"
],
path: "ParseTwitterUtils/ParseTwitterUtils",
exclude: ["Resources/Info-iOS.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source",
cSettings: [.headerSearchPath("Internal/**")]),
.target(name: "ParseUI",
dependencies: [
"ParseFacebookUtilsiOS",
"ParseTwitterUtils"
],
path: "ParseUI/ParseUI",
exclude: ["Resources/Info-iOS.plist"],
resources: [.process("Resources")],
publicHeadersPath: "Source",
cSettings: [.headerSearchPath("Internal/**")]),
]
)
116 changes: 69 additions & 47 deletions Parse.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,28 @@ Pod::Spec.new do |s|
s.subspec 'Core' do |s|
s.requires_arc = true

s.source_files = 'Parse/Parse/*.{h,m}',
s.source_files = 'Parse/Parse/Source/*.{h,m}',
'Parse/Parse/Internal/**/*.{h,m}'
s.public_header_files = 'Parse/Parse/*.h'
s.public_header_files = 'Parse/Parse/Source/*.h'
s.private_header_files = 'Parse/Parse/Internal/**/*.h'

s.ios.exclude_files = 'Parse/Parse/Internal/PFMemoryEventuallyQueue.{h,m}'
s.osx.exclude_files = 'Parse/Parse/PFNetworkActivityIndicatorManager.{h,m}',
'Parse/Parse/PFProduct.{h,m}',
'Parse/Parse/PFPurchase.{h,m}',
s.osx.exclude_files = 'Parse/Parse/Source/PFNetworkActivityIndicatorManager.{h,m}',
'Parse/Parse/Source/PFProduct.{h,m}',
'Parse/Parse/Source/PFPurchase.{h,m}',
'Parse/Parse/Internal/PFAlertView.{h,m}',
'Parse/Parse/Internal/Product/**/*.{h,m}',
'Parse/Parse/Internal/Purchase/**/*.{h,m}',
'Parse/Parse/Internal/PFMemoryEventuallyQueue.{h,m}'
s.tvos.exclude_files = 'Parse/Parse/PFNetworkActivityIndicatorManager.{h,m}',
s.tvos.exclude_files = 'Parse/Parse/Source/PFNetworkActivityIndicatorManager.{h,m}',
'Parse/Parse/Internal/PFAlertView.{h,m}'
s.watchos.exclude_files = 'Parse/Parse/PFNetworkActivityIndicatorManager.{h,m}',
'Parse/Parse/PFProduct.{h,m}',
'Parse/Parse/PFPurchase.{h,m}',
'Parse/Parse/PFPush.{h,m}',
'Parse/Parse/PFPush+Synchronous.{h,m}',
'Parse/Parse/PFPush+Deprecated.{h,m}',
'Parse/Parse/PFInstallation.{h,m}',
s.watchos.exclude_files = 'Parse/Parse/Source/PFNetworkActivityIndicatorManager.{h,m}',
'Parse/Parse/Source/PFProduct.{h,m}',
'Parse/Parse/Source/PFPurchase.{h,m}',
'Parse/Parse/Source/PFPush.{h,m}',
'Parse/Parse/Source/PFPush+Synchronous.{h,m}',
'Parse/Parse/Source/PFPush+Deprecated.{h,m}',
'Parse/Parse/Source/PFInstallation.{h,m}',
'Parse/Parse/Internal/PFAlertView.{h,m}',
'Parse/Parse/Internal/PFReachability.{h,m}',
'Parse/Parse/Internal/Product/**/*.{h,m}',
Expand Down Expand Up @@ -80,16 +80,40 @@ Pod::Spec.new do |s|

s.libraries = 'z', 'sqlite3'

s.dependency 'Bolts/Tasks', '1.9.1'
s.dependency 'Bolts/Tasks', '1.9.2'
end

s.subspec 'FacebookUtils' do |s|
s.platform = :ios, :tvos
s.ios.deployment_target = '12.0'
s.tvos.deployment_target = '12.0'
s.public_header_files = 'ParseFacebookUtils/ParseFacebookUtils/Source/*.h'
s.source_files = 'ParseFacebookUtils/ParseFacebookUtils/Source/*.{h,m}'

s.frameworks = 'AudioToolbox',
'CFNetwork',
'CoreGraphics',
'CoreLocation',
'QuartzCore',
'Security',
'SystemConfiguration'
s.ios.weak_frameworks = 'Accounts',
'Social'
s.libraries = 'z', 'sqlite3'

s.dependency 'Parse/Core'
s.dependency 'Bolts/Tasks', '1.9.2'
s.dependency 'FBSDKCoreKit', '= 15.1.0'
s.dependency 'FBSDKLoginKit', '= 15.1.0'
end

s.subspec 'FacebookUtils-iOS' do |s|
s.platform = :ios
s.ios.deployment_target = '9.0'
s.public_header_files = 'ParseFacebookUtils/ParseFacebookUtils/*.h'
s.source_files = 'ParseFacebookUtils/ParseFacebookUtils/**/*.{h,m}'
s.exclude_files = 'ParseFacebookUtils/ParseFacebookUtils/ParseFacebookUtilsV4.h',
'ParseFacebookUtils/ParseFacebookUtils/Internal/AuthenticationProvider/tvOS/**/*.{h,m}'
s.ios.deployment_target = '12.0'
s.public_header_files = 'ParseFacebookUtilsiOS/ParseFacebookUtilsiOS/Source/*.h'
s.private_header_files = 'ParseFacebookUtilsiOS/ParseFacebookUtilsiOS/Internal/**/*.h'
s.source_files = 'ParseFacebookUtilsiOS/ParseFacebookUtilsiOS/Source/*.{h,m}',
'ParseFacebookUtilsiOS/ParseFacebookUtilsiOS/Internal/**/*.{h,m}'

s.frameworks = 'AudioToolbox',
'CFNetwork',
Expand All @@ -103,18 +127,19 @@ Pod::Spec.new do |s|
s.libraries = 'z', 'sqlite3'

s.dependency 'Parse/Core'
s.dependency 'Bolts/Tasks', '~> 1.9.1'
s.dependency 'FBSDKCoreKit', '= 11.0.1'
s.dependency 'FBSDKLoginKit', '= 11.0.1'
s.dependency 'Parse/FacebookUtils'
s.dependency 'Bolts/Tasks', '1.9.2'
s.dependency 'FBSDKCoreKit', '= 15.1.0'
s.dependency 'FBSDKLoginKit', '= 15.1.0'
end

s.subspec 'FacebookUtils-tvOS' do |s|
s.platform = :tvos
s.tvos.deployment_target = '10.0'
s.public_header_files = 'ParseFacebookUtils/ParseFacebookUtils/*.h'
s.source_files = 'ParseFacebookUtils/ParseFacebookUtils/**/*.{h,m}'
s.exclude_files = 'ParseFacebookUtils/ParseFacebookUtils/ParseFacebookUtilsV4.h',
'ParseFacebookUtils/ParseFacebookUtils/Internal/AuthenticationProvider/iOS/**/*.{h,m}'
s.tvos.deployment_target = '12.0'
s.public_header_files = 'ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS/Source/*.h'
s.private_header_files = 'ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS/Internal/*.h'
s.source_files = 'ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS/Source/*.{h,m}',
'ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS/Internal/*.{h,m}'

s.frameworks = 'AudioToolbox',
'CFNetwork',
Expand All @@ -126,17 +151,19 @@ Pod::Spec.new do |s|
s.libraries = 'z', 'sqlite3'

s.dependency 'Parse/Core'
s.dependency 'Bolts/Tasks', '~> 1.9.1'
s.dependency 'FBSDKTVOSKit', '= 11.0'
s.dependency 'FBSDKShareKit', '= 11.0.1'
s.dependency 'Parse/FacebookUtils'
s.dependency 'Bolts/Tasks', '1.9.2'
s.dependency 'FBSDKTVOSKit', '= 15.1.0'
s.dependency 'FBSDKShareKit', '= 15.1.0'
end

s.subspec 'TwitterUtils' do |s|
s.platform = :ios
s.public_header_files = 'ParseTwitterUtils/ParseTwitterUtils/*.h'
s.source_files = 'ParseTwitterUtils/ParseTwitterUtils/**/*.{h,m}'
s.exclude_files = 'ParseTwitterUtils/ParseTwitterUtils/ParseTwitterUtils.h'
s.resource_bundle = { 'TwitterUtils' => 'ParseTwitterUtils/Resources/en.lproj' }
s.public_header_files = 'ParseTwitterUtils/ParseTwitterUtils/Source/*.h'
s.source_files = 'ParseTwitterUtils/ParseTwitterUtils/Source/*.{h,m}',
'ParseTwitterUtils/ParseTwitterUtils/Internal/**/*.{h,m}'
s.private_header_files = 'ParseTwitterUtils/ParseTwitterUtils/Internal/**/*.h'
s.resource_bundle = { 'TwitterUtils' => 'ParseTwitterUtils/ParseTwitterUtils/Resources/en.lproj' }
s.frameworks = 'AudioToolbox',
'CFNetwork',
'CoreGraphics',
Expand All @@ -155,17 +182,12 @@ Pod::Spec.new do |s|
s.platform = :ios
s.requires_arc = true
s.ios.deployment_target = '9.0'
s.source_files = 'ParseUI/**/*.{h,m}'
s.exclude_files = 'ParseUI/ParseUIDemo/**/*', 'ParseUI/Other/ParseUI.h', 'ParseUI/SignInWithAppleTests/'
s.public_header_files = 'ParseUI/Classes/LogInViewController/*.h',
'ParseUI/Classes/SignUpViewController/*.h',
'ParseUI/Classes/QueryTableViewController/*.h',
'ParseUI/Classes/QueryCollectionViewController/*.h',
'ParseUI/Classes/ProductTableViewController/*.h',
'ParseUI/Classes/Views/*.h',
'ParseUI/Classes/Cells/*.h',
'ParseUI/Other/*.h'
s.resource_bundles = { 'ParseUI' => ['ParseUI/Resources/Localization/*.lproj'] }
s.source_files = 'ParseUI/ParseUI/Internal/**/*.{h,m}',
'ParseUI/ParseUI/Source/*.{h,m}'
s.exclude_files = 'ParseUI/ParseUIDemo/**/*', 'ParseUI/SignInWithAppleTests/'
s.public_header_files = 'ParseUI/ParseUI/Source/*.h'
s.private_header_files = 'ParseUI/ParseUI/Internal/**/*.h'
s.resource_bundles = { 'ParseUI' => ['ParseUI/ParseUI/Resources/Localization/*.lproj'] }
s.frameworks = 'Foundation',
'UIKit',
'CoreGraphics',
Expand All @@ -176,7 +198,7 @@ Pod::Spec.new do |s|
# prepare command for parseUI
s.prepare_command = <<-CMD
ruby ParseUI/Scripts/convert_images.rb \
ParseUI/Resources/Images/ \
ParseUI/Generated/PFResources
ParseUI/ParseUI/Resources/Images/ \
ParseUI/Source/PFResources
CMD
end
6 changes: 6 additions & 0 deletions Parse.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Parse/Configurations/Parse-iOS-Dynamic.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,3 @@ INFOPLIST_FILE = $(PROJECT_DIR)/Parse/Resources/Parse-iOS.Info.plist

// TODO: (nlutsenko) Cleanup source code so we can safely ignore local variable shadow warnings.
GCC_WARN_SHADOW = NO

FRAMEWORK_SEARCH_PATHS = $(inherited) $(SRCROOT)/../Carthage/Build/iOS
1 change: 0 additions & 1 deletion Parse/Configurations/Parse-macOS.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ INFOPLIST_FILE = $(PROJECT_DIR)/Parse/Resources/Parse-OSX.Info.plist
GCC_WARN_SHADOW = NO

CONFIGURATION_BUILD_DIR=$(BUILD_DIR)/$(CONFIGURATION)
FRAMEWORK_SEARCH_PATHS = $(inherited) $(SRCROOT)/../Carthage/Build/Mac
2 changes: 0 additions & 2 deletions Parse/Configurations/Parse-tvOS-Dynamic.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,3 @@ INFOPLIST_FILE = $(PROJECT_DIR)/Parse/Resources/Parse-tvOS.Info.plist

// TODO: (nlutsenko) Cleanup source code so we can safely ignore local variable shadow warnings.
GCC_WARN_SHADOW = NO

FRAMEWORK_SEARCH_PATHS = $(inherited) $(SRCROOT)/../Carthage/Build/tvOS
2 changes: 0 additions & 2 deletions Parse/Configurations/Parse-watchOS-Dynamic.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,3 @@ INFOPLIST_FILE = $(PROJECT_DIR)/Parse/Resources/Parse-watchOS.Info.plist

// TODO: (nlutsenko) Cleanup source code so we can safely ignore local variable shadow warnings.
GCC_WARN_SHADOW = NO

FRAMEWORK_SEARCH_PATHS = $(inherited) $(SRCROOT)/../Carthage/Build/watchOS
Loading