Skip to content

Commit 2beb14a

Browse files
[CI] Remove CocoaPods (#981)
1 parent 095caaa commit 2beb14a

File tree

14 files changed

+14
-206
lines changed

14 files changed

+14
-206
lines changed

.github/workflows/cron-checks.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ jobs:
139139
- uses: ./.github/actions/bootstrap
140140
- run: bundle exec fastlane rubocop
141141
- run: bundle exec fastlane run_swift_format strict:true
142-
- run: bundle exec fastlane pod_lint
143142

144143
slack:
145144
name: Slack Report

.github/workflows/release-publish.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ jobs:
2222
- name: "Fastlane - Publish Release"
2323
env:
2424
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }}
25-
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
2625
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
2726
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}
2827
run: bundle exec fastlane publish_release --verbose

.github/workflows/smoke-checks.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ jobs:
6060
- run: bundle exec fastlane rubocop
6161
- run: bundle exec fastlane run_swift_format strict:true
6262
- run: bundle exec fastlane validate_public_interface
63-
- run: bundle exec fastlane pod_lint
64-
if: startsWith(github.event.pull_request.head.ref, 'release/')
6563

6664
build-xcode15:
6765
name: Build SDKs (Xcode 15)

.gitignore

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,6 @@ playground.xcworkspace
5353
# Package.pins
5454
.build/
5555

56-
# CocoaPods
57-
#
58-
# We recommend against adding the Pods directory to your .gitignore. However
59-
# you should judge for yourself, the pros and cons are mentioned at:
60-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
61-
Pods/
62-
6356
# Ignore Products folder
6457
Products/
6558

@@ -86,7 +79,6 @@ StreamChatCoreTests.xctest.coverage.txt
8679
vendor/bundle/
8780
.bundle/
8881
.swiftpm
89-
Sample/Cocoapods/Podfile.lock
9082
docusaurus/.env
9183
reports/
9284
.scannerwork/

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Agents should optimize for API stability, backwards compatibility, accessibility
88

99
### Tech & toolchain
1010
• Language: Swift (SwiftUI)
11-
• Primary distribution: Swift Package Manager (SPM), secondary CocoaPods and XCFrameworks
11+
• Primary distribution: Swift Package Manager (SPM) and XCFrameworks
1212
• Xcode: 15.x or newer (Apple Silicon supported)
13-
• Platforms / deployment targets: Use the values set in Package.swift/podspecs; do not lower targets without approval
13+
• Platforms / deployment targets: Use the values set in Package.swift; do not lower targets without approval
1414
• CI: GitHub Actions (assume PR validation for build + tests + lint)
1515
• Linters & docs: SwiftLint and SwiftFormat
1616

Gemfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ gem 'slather'
1515
eval_gemfile('fastlane/Pluginfile')
1616

1717
group :fastlane_dependencies do
18-
gem 'cocoapods'
1918
gem 'fastlane-plugin-lizard'
2019
gem 'plist'
2120
gem 'xctest_list'

Gemfile.lock

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ GEM
1919
tzinfo (~> 2.0, >= 2.0.5)
2020
addressable (2.8.7)
2121
public_suffix (>= 2.0.2, < 7.0)
22-
algoliasearch (1.27.5)
23-
httpclient (~> 2.8, >= 2.8.3)
24-
json (>= 1.5.1)
2522
artifactory (3.0.17)
2623
ast (2.4.3)
2724
atomos (0.1.3)
@@ -54,43 +51,6 @@ GEM
5451
nap
5552
open4 (~> 1.3)
5653
clamp (1.3.3)
57-
cocoapods (1.16.2)
58-
addressable (~> 2.8)
59-
claide (>= 1.0.2, < 2.0)
60-
cocoapods-core (= 1.16.2)
61-
cocoapods-deintegrate (>= 1.0.3, < 2.0)
62-
cocoapods-downloader (>= 2.1, < 3.0)
63-
cocoapods-plugins (>= 1.0.0, < 2.0)
64-
cocoapods-search (>= 1.0.0, < 2.0)
65-
cocoapods-trunk (>= 1.6.0, < 2.0)
66-
cocoapods-try (>= 1.1.0, < 2.0)
67-
colored2 (~> 3.1)
68-
escape (~> 0.0.4)
69-
fourflusher (>= 2.3.0, < 3.0)
70-
gh_inspector (~> 1.0)
71-
molinillo (~> 0.8.0)
72-
nap (~> 1.0)
73-
ruby-macho (>= 2.3.0, < 3.0)
74-
xcodeproj (>= 1.27.0, < 2.0)
75-
cocoapods-core (1.16.2)
76-
activesupport (>= 5.0, < 8)
77-
addressable (~> 2.8)
78-
algoliasearch (~> 1.0)
79-
concurrent-ruby (~> 1.1)
80-
fuzzy_match (~> 2.0.4)
81-
nap (~> 1.0)
82-
netrc (~> 0.11)
83-
public_suffix (~> 4.0)
84-
typhoeus (~> 1.0)
85-
cocoapods-deintegrate (1.0.5)
86-
cocoapods-downloader (2.1)
87-
cocoapods-plugins (1.0.0)
88-
nap
89-
cocoapods-search (1.0.1)
90-
cocoapods-trunk (1.6.0)
91-
nap (>= 0.8, < 2.0)
92-
netrc (~> 0.11)
93-
cocoapods-try (1.2.0)
9454
coderay (1.1.3)
9555
colored (1.2)
9656
colored2 (3.1.2)
@@ -125,9 +85,6 @@ GEM
12585
dotenv (2.8.1)
12686
drb (2.2.3)
12787
emoji_regex (3.2.3)
128-
escape (0.0.4)
129-
ethon (0.16.0)
130-
ffi (>= 1.15.0)
13188
excon (0.112.0)
13289
faraday (1.10.4)
13390
faraday-em_http (~> 1.0)
@@ -208,14 +165,11 @@ GEM
208165
fastlane
209166
pry
210167
fastlane-plugin-sonarcloud_metric_kit (0.2.1)
211-
fastlane-plugin-stream_actions (0.3.90)
168+
fastlane-plugin-stream_actions (0.3.91)
212169
xctest_list (= 1.2.1)
213170
fastlane-plugin-versioning (0.7.1)
214171
fastlane-sirp (1.0.0)
215172
sysrandom (~> 1.0)
216-
ffi (1.17.2)
217-
fourflusher (2.3.1)
218-
fuzzy_match (2.0.4)
219173
gh_inspector (1.1.3)
220174
git (2.3.3)
221175
activesupport (>= 5.0)
@@ -280,7 +234,6 @@ GEM
280234
mini_mime (1.1.5)
281235
mini_portile2 (2.8.9)
282236
minitest (5.25.5)
283-
molinillo (0.8.0)
284237
multi_json (1.17.0)
285238
multipart-post (2.4.1)
286239
mustermann (3.0.3)
@@ -289,7 +242,6 @@ GEM
289242
nanaimo (0.4.0)
290243
nap (1.1.0)
291244
naturally (2.3.0)
292-
netrc (0.11.0)
293245
nio4r (2.7.4)
294246
nkf (0.2.0)
295247
nokogiri (1.18.9)
@@ -355,7 +307,6 @@ GEM
355307
rubocop-ast (>= 0.4.0)
356308
rubocop-require_tools (0.1.2)
357309
rubocop (>= 0.49.1)
358-
ruby-macho (2.5.1)
359310
ruby-progressbar (1.13.0)
360311
ruby2_keywords (0.0.5)
361312
rubyzip (2.4.1)
@@ -395,8 +346,6 @@ GEM
395346
tty-screen (0.8.2)
396347
tty-spinner (0.9.3)
397348
tty-cursor (~> 0.7)
398-
typhoeus (1.4.1)
399-
ethon (>= 0.9.0)
400349
tzinfo (2.0.6)
401350
concurrent-ruby (~> 1.0)
402351
uber (0.1.0)
@@ -419,14 +368,13 @@ PLATFORMS
419368
ruby
420369

421370
DEPENDENCIES
422-
cocoapods
423371
danger
424372
danger-commit_lint
425373
fastlane
426374
fastlane-plugin-create_xcframework
427375
fastlane-plugin-lizard
428376
fastlane-plugin-sonarcloud_metric_kit
429-
fastlane-plugin-stream_actions (= 0.3.90)
377+
fastlane-plugin-stream_actions (= 0.3.91)
430378
fastlane-plugin-versioning
431379
json
432380
lefthook

Sources/StreamChatSwiftUI/README.md

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ The SwiftUI SDK offers three types of components:
1111

1212
- Screens - Easiest to integrate, but offer small customizations, like branding and text changes.
1313
- Stateful components - Offer more customization options and possibility to inject custom views. Also fairly simple to integrate, if the extension points are suitable for your chat use-case. These components come with view models.
14-
- Stateless components - These are the building blocks for the other two types of components. In order to use them, you would have to provide the state and data. Using these components only make sense if you want to implement completely custom chat experience.
14+
- Stateless components - These are the building blocks for the other two types of components. In order to use them, you would have to provide the state and data. Using these components only make sense if you want to implement completely custom chat experience.
1515

16-
### Dependencies
16+
### Dependencies
1717

1818
This SDK tries to keep the list of external dependencies to a minimum, these are the dependencies currently used:
1919

2020
#### StreamChatSwiftUI
2121

2222
- [Nuke](https://github.com/kean/Nuke) for loading images
23-
- [NukeUI](https://github.com/kean/NukeUI) for SwiftUI async image loading
23+
- [NukeUI](https://github.com/kean/NukeUI) for SwiftUI async image loading
2424
- [SwiftyGif](https://github.com/kirualex/SwiftyGif) for high performance GIF rendering
2525
- StreamChat the low-level client to Stream Chat API
2626

@@ -50,41 +50,7 @@ The repository contains 3 targets: StreamChat, StreamChatUI and StreamChatSwiftU
5050
After you press finish, it's done!
5151

5252
:::caution
53-
Because StreamChat SDKs have to be distributed with its resources, the minimal Swift version requirement for this installation method is 5.3. If you need to support older Swift version, please install it using CocoaPods.
53+
Because StreamChat SDKs have to be distributed with its resources, the minimal Swift version requirement for this installation method is 5.3.
5454
:::
5555

56-
### Install with CocoaPods
57-
58-
In your project's Podfile, add: `pod 'StreamChatSwiftUI', '~> 0.0.1'`. It should look similar to the snippet below.
59-
60-
```ruby
61-
target 'MyProject' do
62-
# Comment the next line if you don't want to use dynamic frameworks
63-
use_frameworks!
64-
65-
# Pods for MyProject
66-
pod 'StreamChatSwiftUI', '~> 0.0.1'
67-
end
68-
```
69-
70-
The StreamChatUI pod will automatically include the StreamChat dependency. If you want just the StreamChat dependency, without the UI components, add `pod 'StreamChat', '~> 4.0'` to your Podfile instead. It should look similar to the snippet below.
71-
72-
```ruby
73-
target 'MyProject' do
74-
# Comment the next line if you don't want to use dynamic frameworks
75-
use_frameworks!
76-
77-
# Pods for MyProject
78-
pod 'StreamChat', '~> 4.0.0'
79-
end
80-
```
81-
82-
Now that we’ve modified our Podfile, let’s go ahead and install the project dependencies via the terminal with one simple command:
83-
84-
```bash
85-
pod install --repo-update
86-
```
87-
88-
The above command will generate the **MyProject.xcworkspace** file automatically.
89-
90-
To stay up-to-date with our updates and get a detailed breakdown of what's new, subscribe to the releases of [getstream/stream-chat-swift](https://github.com/GetStream/stream-chat-swift/releases) by clicking the "watch" button. You can further tweak your watch preferences and subscribe only to the release events.
56+
To stay up-to-date with our updates and get a detailed breakdown of what's new, subscribe to the releases of [getstream/stream-chat-swift](https://github.com/GetStream/stream-chat-swift/releases) by clicking the "watch" button. You can further tweak your watch preferences and subscribe only to the release events.

Sources/StreamChatSwiftUI/Utils/BundleExtensions.swift

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,7 @@ private class BundleIdentifyingClass {}
88

99
extension Bundle {
1010
static var streamChatUI: Bundle {
11-
// We're using `resource_bundles` to export our resources in the podspec file
12-
// (See https://guides.cocoapods.org/syntax/podspec.html#resource_bundles)
13-
// since we need to support building pod as a static library.
14-
// This attribute causes cocoapods to build a resource bundle and put all our resources inside, during `pod install`
15-
// But this bundle exists only for cocoapods builds, and for other methods (Carthage, git submodule) we directly export
16-
// assets.
17-
// So we need this compiler check to decide which bundle to use.
18-
// See https://github.com/GetStream/stream-chat-swift/issues/774
19-
#if COCOAPODS
20-
return Bundle(for: BundleIdentifyingClass.self)
21-
.url(forResource: "StreamChatSwiftUI", withExtension: "bundle")
22-
.flatMap(Bundle.init(url:))!
23-
#elseif SWIFT_PACKAGE
11+
#if SWIFT_PACKAGE
2412
return Bundle.module
2513
#else
2614
return Bundle(for: BundleIdentifyingClass.self)

Sources/StreamChatSwiftUI/Utils/LazyImageExtensions.swift

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,12 @@ extension LazyImage {
3030

3131
init(imageURL: URL?, @ViewBuilder content: @escaping (LazyImageState) -> Content) {
3232
let imageCDN = InjectedValues[\.utils].imageCDN
33-
guard let imageURL = imageURL else {
34-
#if COCOAPODS
35-
self.init(source: imageURL, content: content)
36-
#else
33+
guard let imageURL else {
3734
self.init(url: imageURL, content: content)
38-
#endif
3935
return
4036
}
4137
let urlRequest = imageCDN.urlRequest(forImage: imageURL)
4238
let imageRequest = ImageRequest(urlRequest: urlRequest)
43-
#if COCOAPODS
44-
self.init(source: imageRequest, content: content)
45-
#else
4639
self.init(request: imageRequest, content: content)
47-
#endif
4840
}
4941
}

0 commit comments

Comments
 (0)