Skip to content

Commit a6e40bd

Browse files
committed
Initial commit
0 parents  commit a6e40bd

File tree

1,052 files changed

+123308
-0
lines changed

Some content is hidden

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

1,052 files changed

+123308
-0
lines changed

.circleci/config.yml

+350
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,350 @@
1+
version: 2.1
2+
3+
executors:
4+
xcode:
5+
macos:
6+
xcode: 11.5.0
7+
8+
useMacOS: &useMacOS
9+
executor: xcode
10+
11+
requiresSetup: &requiresSetup
12+
requires:
13+
- setup
14+
15+
tagFilters: &onlyRunOnTags
16+
filters:
17+
branches:
18+
ignore: /.*/
19+
tags:
20+
only: /^v([0-9]{1}|[1-9][0-9]+)\.([0-9]{1}|[1-9][0-9]+)\.([0-9]{1}|[1-9][0-9]+)($|[-+][0-9A-Za-z+.-]+$)/
21+
22+
commands:
23+
setup:
24+
description: Runs before each job and checks out the source code
25+
steps:
26+
- checkout
27+
- install_gems
28+
- persist_to_workspace:
29+
root: .
30+
paths:
31+
- .
32+
33+
install_gems:
34+
description: Installs ruby gems in the Gemfile
35+
steps:
36+
- run:
37+
name: Set Ruby Version
38+
command: echo 'chruby ruby-2.7' >> ~/.bash_profile
39+
- restore_cache:
40+
key: 1-gems-{{ checksum "Gemfile.lock" }}
41+
- run: bundle check || bundle install --path vendor/bundle
42+
- save_cache:
43+
key: 1-gems-{{ checksum "Gemfile.lock" }}
44+
paths:
45+
- vendor/bundle
46+
- run: bundle
47+
48+
build_carthage:
49+
description: Builds all schemes using Carthage
50+
steps:
51+
- attach_workspace:
52+
at: .
53+
- run: CARTHAGE_BIN_PATH=$( which carthage ) sh scripts/carthage.sh build --no-skip-current
54+
55+
build_for_release:
56+
description: Builds libraries for release
57+
steps:
58+
- attach_workspace:
59+
at: .
60+
- run: sh scripts/run.sh release github
61+
- persist_to_workspace:
62+
root: .
63+
paths:
64+
- build/Release
65+
66+
build_swift_packages:
67+
description: Builds Swift Packages using xcodebuild
68+
steps:
69+
- attach_workspace:
70+
at: .
71+
- run: sh scripts/run.sh build spm
72+
73+
build_xcode:
74+
description: Runs xcodebuild for the FacebookSDK workspace with a given scheme, and configuration
75+
parameters:
76+
scheme:
77+
type: string
78+
configuration:
79+
default: Debug
80+
type: string
81+
steps:
82+
- attach_workspace:
83+
at: .
84+
- run: |
85+
xcodebuild clean build \
86+
-workspace FacebookSDK.xcworkspace \
87+
-scheme << parameters.scheme >> \
88+
-configuration << parameters.configuration >>
89+
90+
build_xcode_debug:
91+
description: Builds the Debug configuration for all schemes using xcodebuild
92+
steps:
93+
- build_xcode:
94+
scheme: BuildCoreKitBasics
95+
- build_xcode:
96+
scheme: BuildAllKits
97+
- build_xcode:
98+
scheme: BuildAllKits_TV
99+
100+
build_xcode_release:
101+
description: Builds the Release configuration for all schemes using xcodebuild
102+
steps:
103+
- build_xcode:
104+
scheme: BuildCoreKitBasics
105+
configuration: Release
106+
- build_xcode:
107+
scheme: BuildAllKits
108+
configuration: Release
109+
- build_xcode:
110+
scheme: BuildAllKits_TV
111+
configuration: Release
112+
113+
integrate_spm:
114+
description: Builds a project that includes the Swift Packages
115+
steps:
116+
- attach_workspace:
117+
at: .
118+
- run: sh scripts/run.sh build spm-integration
119+
120+
lint_cocoapods:
121+
description: Lints CocoaPods using `pod lib lint` command
122+
parameters:
123+
arguments:
124+
default: ''
125+
type: string
126+
steps:
127+
- attach_workspace:
128+
at: .
129+
- run: sh scripts/run.sh lint cocoapods << parameters.arguments >>
130+
131+
lint_swift:
132+
description: Lints using Swiftlint
133+
steps:
134+
- attach_workspace:
135+
at: .
136+
- run: brew install swiftlint
137+
- run: sh scripts/run.sh lint swift
138+
139+
publish_aggregate_cocoapod:
140+
description: Pushes aggregate pod FacebookSDK to trunk
141+
steps:
142+
- attach_workspace:
143+
at: .
144+
- run: |
145+
rm -rf ~/Library/Caches/Cocoapods && \
146+
rm -rf ~/.cocoapods/repos && \
147+
pod repo update
148+
- run: sh scripts/run.sh release cocoapods FacebookSDK
149+
150+
publish_base_cocoapods:
151+
description: Pushes Core to trunk
152+
steps:
153+
- attach_workspace:
154+
at: .
155+
- run: sh scripts/run.sh release cocoapods FBSDKCoreKit
156+
157+
publish_dependent_cocoapods:
158+
description: Pushes Login and Share to trunk
159+
steps:
160+
- attach_workspace:
161+
at: .
162+
- run: |
163+
rm -rf ~/Library/Caches/Cocoapods && \
164+
rm -rf ~/.cocoapods/repos && \
165+
pod repo update
166+
- run: sh scripts/run.sh release cocoapods FBSDKLoginKit FBSDKShareKit
167+
168+
publish_top_level_cocoapods:
169+
description: Pushes GamingServices and tvOS to trunk
170+
steps:
171+
- attach_workspace:
172+
at: .
173+
- run: |
174+
rm -rf ~/Library/Caches/Cocoapods && \
175+
rm -rf ~/.cocoapods/repos && \
176+
pod repo update
177+
- run: sh scripts/run.sh release cocoapods FBSDKGamingServicesKit FBSDKTVOSKit
178+
179+
publish_to_github:
180+
description: Creates a draft for a release on github
181+
steps:
182+
- attach_workspace:
183+
at: .
184+
- run: |
185+
STRIPPED_VERSION_NUMBER=${CIRCLE_TAG//.}
186+
STRIPPED_VERSION_NUMBER=${STRIPPED_VERSION_NUMBER//v}
187+
188+
ghr \
189+
--token ${GITHUB_ACCESS_TOKEN} \
190+
--username ${CIRCLE_PROJECT_USERNAME} \
191+
--repository ${CIRCLE_PROJECT_REPONAME} \
192+
--commitish ${CIRCLE_SHA1} \
193+
--name "Facebook SDK ${CIRCLE_TAG}" \
194+
--body "Consult [Changelog](https://github.com/facebook/facebook-ios-sdk/blob/master/CHANGELOG.md#${STRIPPED_VERSION_NUMBER})" \
195+
--draft \
196+
${CIRCLE_TAG} \
197+
build/Release
198+
199+
verify_release:
200+
description: Verifies that the release workflow published artifacts successfully
201+
steps:
202+
- attach_workspace:
203+
at: .
204+
- run: sh scripts/run.sh check-release-status
205+
206+
verify_spm_headers:
207+
description: Verifies that all public headers are available when using Swift Package Manager
208+
steps:
209+
- attach_workspace:
210+
at: .
211+
- run: sh scripts/run.sh verify-spm-headers
212+
213+
verify_xcode_integration:
214+
description: Verifies that an xcode project that includes the SDK can build without error
215+
steps:
216+
- attach_workspace:
217+
at: .
218+
- run: sh scripts/run.sh verify-xcode-integration
219+
220+
jobs:
221+
setup:
222+
<<: *useMacOS
223+
steps:
224+
- setup
225+
build-for-release:
226+
<<: *useMacOS
227+
steps:
228+
- build_for_release
229+
build-swift-packages:
230+
<<: *useMacOS
231+
steps:
232+
- build_swift_packages
233+
build-xcode-debug:
234+
<<: *useMacOS
235+
steps:
236+
- build_xcode_debug
237+
build-xcode-release:
238+
<<: *useMacOS
239+
steps:
240+
- build_xcode_release
241+
build-carthage:
242+
<<: *useMacOS
243+
steps:
244+
- build_carthage
245+
integrate-spm:
246+
<<: *useMacOS
247+
steps:
248+
- integrate_spm
249+
lint-cocoapods:
250+
<<: *useMacOS
251+
steps:
252+
- lint_cocoapods
253+
lint-cocoapods-static:
254+
<<: *useMacOS
255+
steps:
256+
- lint_cocoapods:
257+
arguments: --use-libraries
258+
lint-swift:
259+
<<: *useMacOS
260+
steps:
261+
- lint_swift
262+
publish-aggregate-cocoapod:
263+
<<: *useMacOS
264+
steps:
265+
- publish_aggregate_cocoapod
266+
publish-base-cocoapods:
267+
<<: *useMacOS
268+
steps:
269+
- publish_base_cocoapods
270+
publish-dependent-cocoapods:
271+
<<: *useMacOS
272+
steps:
273+
- publish_dependent_cocoapods
274+
publish-top-level-cocoapods:
275+
<<: *useMacOS
276+
steps:
277+
- publish_top_level_cocoapods
278+
publish-to-github:
279+
docker:
280+
- image: cibuilds/github:0.13
281+
steps:
282+
- publish_to_github
283+
verify-release:
284+
<<: *useMacOS
285+
steps:
286+
- verify_release
287+
verify-spm-headers:
288+
<<: *useMacOS
289+
steps:
290+
- verify_spm_headers
291+
verify-xcode-integration:
292+
<<: *useMacOS
293+
steps:
294+
- verify_xcode_integration
295+
296+
workflows:
297+
test:
298+
jobs:
299+
- setup
300+
- build-swift-packages:
301+
<<: *requiresSetup
302+
- build-xcode-debug:
303+
<<: *requiresSetup
304+
- build-xcode-release:
305+
<<: *requiresSetup
306+
- build-carthage:
307+
<<: *requiresSetup
308+
- integrate-spm:
309+
<<: *requiresSetup
310+
- lint-cocoapods:
311+
<<: *requiresSetup
312+
- lint-cocoapods-static:
313+
<<: *requiresSetup
314+
- lint-swift:
315+
<<: *requiresSetup
316+
- verify-spm-headers:
317+
<<: *requiresSetup
318+
- verify-xcode-integration:
319+
<<: *requiresSetup
320+
release:
321+
jobs:
322+
- setup:
323+
<<: *onlyRunOnTags
324+
- build-for-release:
325+
<<: *onlyRunOnTags
326+
<<: *requiresSetup
327+
- publish-to-github:
328+
<<: *onlyRunOnTags
329+
requires:
330+
- build-for-release
331+
- publish-base-cocoapods:
332+
<<: *onlyRunOnTags
333+
<<: *requiresSetup
334+
- publish-dependent-cocoapods:
335+
<<: *onlyRunOnTags
336+
requires:
337+
- publish-base-cocoapods
338+
- publish-top-level-cocoapods:
339+
<<: *onlyRunOnTags
340+
requires:
341+
- publish-dependent-cocoapods
342+
- publish-aggregate-cocoapod:
343+
<<: *onlyRunOnTags
344+
requires:
345+
- publish-top-level-cocoapods
346+
- verify-release:
347+
<<: *onlyRunOnTags
348+
requires:
349+
- publish-aggregate-cocoapod
350+
- publish-to-github

.editorconfig

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_size = 2
8+
indent_style = space
9+
trim_trailing_whitespace = true
10+
11+
[*.pbxproj]
12+
indent_size = 4
13+
indent_style = tab

.fast_checks

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
InheritParentConfig: true
2+
Checks: '
3+
-idfa-usage
4+
'

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.strings diff=localizablestrings

.github/CODEOWNERS

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Project Owners
2+
* @joesus @jingping2015 @kalendae @robtimp
3+
4+
# Login Kit
5+
FBSDKLoginKit/* @joesus @robtimp @abeatte
6+
7+
# Swift Files
8+
*.swift @joesus

.github/FUNDING.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

0 commit comments

Comments
 (0)