Skip to content

Commit 840390b

Browse files
authored
feat: Add Swift Package Manager support; upgrade ParseFacbookUtils to Facebook SDK 15 (#1683)
BREAKING CHANGE: Carthage support is removed; the core module name has changed therefore the import statement is now `import ParseCore` instead of `import Parse` (#1683)
1 parent f0aa483 commit 840390b

File tree

406 files changed

+8848
-4494
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

406 files changed

+8848
-4494
lines changed

.circleci/config.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ on:
66
branches: [ '**' ]
77
env:
88
CI_XCODE_11: '/Applications/Xcode_11.7.app/Contents/Developer'
9-
CI_XCODE_13: '/Applications/Xcode_13.1.app/Contents/Developer'
9+
CI_XCODE_13: '/Applications/Xcode_13.4.1.app/Contents/Developer'
1010

1111
jobs:
1212
ios:
1313
runs-on: macos-latest
1414
steps:
1515
- uses: actions/checkout@v2
16+
- name: Setup Ruby
17+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
1618
- name: Cache Gems
1719
id: cache-gems
1820
uses: actions/cache@v2
@@ -38,6 +40,8 @@ jobs:
3840
runs-on: macos-latest
3941
steps:
4042
- uses: actions/checkout@v2
43+
- name: Setup Ruby
44+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
4145
- name: Cache Gems
4246
id: cache-gems
4347
uses: actions/cache@v2
@@ -68,8 +72,12 @@ jobs:
6872
facebook_utils:
6973
needs: parseui
7074
runs-on: macos-latest
75+
env:
76+
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7177
steps:
7278
- uses: actions/checkout@v2
79+
- name: Setup Ruby
80+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
7381
- name: Cache Gems
7482
id: cache-gems
7583
uses: actions/cache@v2
@@ -78,12 +86,13 @@ jobs:
7886
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
7987
restore-keys: |
8088
${{ runner.os }}-gem-
81-
- name: Submodules and Bundle Install
89+
- name: Submodules and Bundle Install
8290
run: |
8391
git submodule update --init --recursive
8492
sudo gem install bundler
8593
bundle config set path 'vendor/bundle'
8694
bundle install
95+
carthage bootstrap --use-xcframeworks
8796
- name: Build-Test
8897
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:facebook_utils:ios
8998
env:
@@ -96,6 +105,8 @@ jobs:
96105
runs-on: macos-latest
97106
steps:
98107
- uses: actions/checkout@v2
108+
- name: Setup Ruby
109+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
99110
- name: Cache Gems
100111
id: cache-gems
101112
uses: actions/cache@v2
@@ -119,8 +130,12 @@ jobs:
119130

120131
parseui:
121132
runs-on: macos-latest
133+
env:
134+
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
122135
steps:
123136
- uses: actions/checkout@v2
137+
- name: Setup Ruby
138+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
124139
- name: Cache Gems
125140
id: cache-gems
126141
uses: actions/cache@v2
@@ -135,10 +150,11 @@ jobs:
135150
sudo gem install bundler
136151
bundle config set path 'vendor/bundle'
137152
bundle install
153+
carthage bootstrap --use-xcframeworks
138154
- name: Build-Test
139-
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:parseui:all
140155
env:
141156
DEVELOPER_DIR: ${{ env.CI_XCODE_13 }}
157+
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake test:parseui:all
142158
- name: Send codecov
143159
run: bash <(curl https://codecov.io/bash)
144160

@@ -147,14 +163,18 @@ jobs:
147163
steps:
148164
- uses: actions/checkout@v2
149165
- name: CocoaPods
150-
run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose
166+
run: set -o pipefail && env NSUnbufferedIO=YES pod lib lint --allow-warnings --verbose --skip-import-validation
151167
env:
152168
DEVELOPER_DIR: ${{ env.CI_XCODE_13 }}
153169

154170
assets:
155-
runs-on: macos-latest
171+
runs-on: macos-11
172+
env:
173+
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
156174
steps:
157175
- uses: actions/checkout@v2
176+
- name: Setup Ruby
177+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
158178
- name: Cache Gems
159179
id: cache-gems
160180
uses: actions/cache@v2
@@ -169,6 +189,7 @@ jobs:
169189
sudo gem install bundler
170190
bundle config set path 'vendor/bundle'
171191
bundle install
192+
carthage bootstrap --use-xcframeworks
172193
- name: Build Release
173194
run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake package:release
174195
env:
@@ -179,6 +200,8 @@ jobs:
179200
runs-on: macos-latest
180201
steps:
181202
- uses: actions/checkout@v2
203+
- name: Setup Ruby
204+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
182205
- name: Cache Gems
183206
id: cache-gems
184207
uses: actions/cache@v2

.github/workflows/release-automated.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
branches: [ master, release, alpha, beta ]
55
env:
66
CI_XCODE_11: '/Applications/Xcode_11.7.app/Contents/Developer'
7-
CI_XCODE_13: '/Applications/Xcode_13.0.app/Contents/Developer'
7+
CI_XCODE_13: '/Applications/Xcode_13.4.1.app/Contents/Developer'
88

99
jobs:
1010
release:

.github/workflows/release-manual-cocoapods.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
default: ''
1111
description: 'Reference (tag / SHA):'
1212
env:
13-
CI_XCODE_13: '/Applications/Xcode_13.0.app/Contents/Developer'
13+
CI_XCODE_13: '/Applications/Xcode_13.4.1.app/Contents/Developer'
1414
jobs:
1515
cocoapods:
1616
runs-on: macos-11

Cartfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
github "BoltsFramework/Bolts-ObjC" ~> 1.9.1
2-
github "facebook/facebook-ios-sdk" == 11.0.1
2+
github "facebook/facebook-ios-sdk" == 15.1.0
3+

Cartfile.resolved

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
github "BoltsFramework/Bolts-ObjC" "1.9.1"
2-
github "facebook/facebook-ios-sdk" "v11.0.1"
2+
github "facebook/facebook-ios-sdk" "v15.1.0"
Submodule facebook-ios-sdk updated 2320 files

Package.resolved

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// swift-tools-version:5.5
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "ParseObjC",
7+
defaultLocalization: "en",
8+
platforms: [.iOS(.v12),
9+
.macOS(.v10_10),
10+
.tvOS(.v12),
11+
.watchOS(.v2)],
12+
products: [
13+
.library(name: "ParseObjC", targets: ["ParseCore"]),
14+
.library(name: "ParseFacebookUtilsiOS", targets: ["ParseFacebookUtilsiOS"]),
15+
.library(name: "ParseFacebookUtilsTvOS", targets: ["ParseFacebookUtilsTvOS"]),
16+
.library(name: "ParseTwitterUtils", targets: ["ParseTwitterUtils"]),
17+
.library(name: "ParseUI", targets: ["ParseUI"])
18+
],
19+
dependencies: [
20+
.package(url: "https://github.com/vazarkevych/Bolts-ObjC.git", branch: "spm"),
21+
.package(url: "https://github.com/facebook/facebook-ios-sdk", from: "15.1.0")
22+
],
23+
targets: [
24+
.target(
25+
name: "ParseCore",
26+
dependencies: [.product(name: "Bolts", package: "Bolts-ObjC")],
27+
path: "Parse/Parse",
28+
exclude: ["Resources/Parse-tvOS.Info.plist", "Resources/Parse-iOS.Info.plist", "Resources/Parse-OSX.Info.plist", "Resources/Parse-watchOS.Info.plist"],
29+
resources: [.process("Resources")],
30+
publicHeadersPath: "Source",
31+
cSettings: [.headerSearchPath("Internal/**")]),
32+
.target(
33+
name: "ParseFacebookUtils",
34+
dependencies: [
35+
"ParseCore",
36+
.product(name: "Bolts", package: "Bolts-ObjC"),
37+
.product(name: "FacebookCore", package: "facebook-ios-sdk", condition: .when(platforms: [.iOS, .tvOS])),
38+
.product(name: "FacebookLogin", package: "facebook-ios-sdk", condition: .when(platforms: [.iOS, .tvOS]))],
39+
path: "ParseFacebookUtils/ParseFacebookUtils",
40+
exclude: ["exclude", "Resources/Info-tvOS.plist", "Resources/Info-iOS.plist"],
41+
resources: [.process("Resources")],
42+
publicHeadersPath: "Source"),
43+
.target(name: "ParseFacebookUtilsiOS",
44+
dependencies: [
45+
"ParseFacebookUtils"
46+
],
47+
path: "ParseFacebookUtilsiOS/ParseFacebookUtilsiOS",
48+
exclude: ["exclude", "Resources/Info-iOS.plist"],
49+
resources: [.process("Resources")],
50+
publicHeadersPath: "Source",
51+
cSettings: [.headerSearchPath("Internal/**")]),
52+
.target(name: "ParseFacebookUtilsTvOS",
53+
dependencies: [
54+
"ParseFacebookUtils",
55+
.product(name: "FacebookTV", package: "facebook-ios-sdk", condition: .when(platforms: [.tvOS]))
56+
],
57+
path: "ParseFacebookUtilsTvOS/ParseFacebookUtilsTvOS",
58+
exclude: ["exclude", "Resources/Info-tvOS.plist"],
59+
resources: [.process("Resources")],
60+
publicHeadersPath: "Source",
61+
cSettings: [.headerSearchPath("Internal/**")]),
62+
.target(name: "ParseTwitterUtils",
63+
dependencies: [
64+
"ParseCore"
65+
],
66+
path: "ParseTwitterUtils/ParseTwitterUtils",
67+
exclude: ["Resources/Info-iOS.plist"],
68+
resources: [.process("Resources")],
69+
publicHeadersPath: "Source",
70+
cSettings: [.headerSearchPath("Internal/**")]),
71+
.target(name: "ParseUI",
72+
dependencies: [
73+
"ParseFacebookUtilsiOS",
74+
"ParseTwitterUtils"
75+
],
76+
path: "ParseUI/ParseUI",
77+
exclude: ["Resources/Info-iOS.plist"],
78+
resources: [.process("Resources")],
79+
publicHeadersPath: "Source",
80+
cSettings: [.headerSearchPath("Internal/**")]),
81+
]
82+
)

0 commit comments

Comments
 (0)