Skip to content

Commit

Permalink
🔥 Get rid of Cocoapods
Browse files Browse the repository at this point in the history
  • Loading branch information
olejnjak committed Mar 13, 2024
1 parent 147490b commit 865b215
Show file tree
Hide file tree
Showing 12 changed files with 8 additions and 224 deletions.
11 changes: 1 addition & 10 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,4 @@ jobs:
with:
changelog_regex: 'CHANGELOG.md'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
podspec:
name: Podspec
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Install Bundler dependencies
run: bundle install
- name: Lint podspec
run: bundle exec pod lib lint --allow-warnings
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 1 addition & 13 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,4 @@ jobs:
with:
file: ACKReactiveExtensions.xcframework.zip
tags: true
draft: false
cocoapods:
name: Push podspec to Cocoapods trunk
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: AckeeCZ/load-xcode-version@v1
- name: Install gems
run: bundle install
- name: Push podspec
run: bundle exec pod trunk push --allow-warnings
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
draft: false
7 changes: 0 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,3 @@ DerivedData
.bundle

Carthage
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Note: if you ignore the Pods directory, make sure to uncomment
# `pod install` in .travis.yml
Example/Pods
1 change: 0 additions & 1 deletion .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ included: # paths to include during linting. `--path` is ignored if present.
- ACKReactiveExtensions
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Carthage
- Pods
force_cast: warning # implicitly
function_body_length:
- 100 # warning
Expand Down
38 changes: 0 additions & 38 deletions ACKReactiveExtensions.podspec

This file was deleted.

2 changes: 0 additions & 2 deletions ACKReactiveExtensions.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@
699C4F9920838C0900AEEAA1 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = "<group>"; };
699C4F9D20838EB600AEEAA1 /* ImageDownloaderExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDownloaderExtensions.swift; sourceTree = "<group>"; };
69BDC494201A477700591992 /* Cartfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; fileEncoding = 4; path = Cartfile; sourceTree = "<group>"; };
69BDC495201A477700591992 /* ACKReactiveExtensions.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; fileEncoding = 4; path = ACKReactiveExtensions.podspec; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -214,7 +213,6 @@
690B9FAF1FF526770098BEC6 = {
isa = PBXGroup;
children = (
69BDC495201A477700591992 /* ACKReactiveExtensions.podspec */,
69BDC494201A477700591992 /* Cartfile */,
699B58A31FF5273C00FFDC91 /* ACKReactiveExtensions */,
699B58401FF526A000FFDC91 /* Products */,
Expand Down
8 changes: 0 additions & 8 deletions ACKReactiveExtensions/UIKit/TextfieldBinding.swift
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
//
// TextFieldBinding.swift
// Pods
//
// Created by Jakub Olejník on 28/06/2017.
//
//

import UIKit
import ReactiveSwift

Expand Down
5 changes: 1 addition & 4 deletions Deprecated/Marshal/MarshalMapping.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
import Foundation
import Marshal
import ReactiveSwift

#if !COCOAPODS
import ACKReactiveExtensionsCore
#endif
import ACKReactiveExtensionsCore

/**
* Protocol that allows creation of custom Marshal errors
Expand Down
5 changes: 1 addition & 4 deletions Deprecated/Realm/RealmExtensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ import UIKit
import RealmSwift
import ReactiveCocoa
import ReactiveSwift

#if !COCOAPODS
import ACKReactiveExtensionsCore
#endif
import ACKReactiveExtensionsCore

/// Error return in case of Realm operation failure
public struct RealmError: Error {
Expand Down
7 changes: 0 additions & 7 deletions Gemfile

This file was deleted.

101 changes: 0 additions & 101 deletions Gemfile.lock

This file was deleted.

33 changes: 4 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,30 @@
![ackee|ACKReactiveExtensions](Resources/cover-image.png)

![Build](https://github.com/AckeeCZ/ACKReactiveExtensions/workflows/Build/badge.svg)
[![Version](https://img.shields.io/cocoapods/v/ACKReactiveExtensions.svg?style=flat)](http://cocoapods.org/pods/ACKReactiveExtensions)
[![License](https://img.shields.io/cocoapods/l/ACKReactiveExtensions.svg?style=flat)](http://cocoapods.org/pods/ACKReactiveExtensions)
[![Platform](https://img.shields.io/cocoapods/p/ACKReactiveExtensions.svg?style=flat)](http://cocoapods.org/pods/ACKReactiveExtensions)

# ACKReactiveExtensions

ACKReactiveExtensions is set of useful extensions for ReactiveCocoa you could use in your apps.

Currently we have extensions for
- [AlamofireImage](https://github.com/Alamofire/AlamofireImage)
- UIKit
- WebKit

If you'd love to have more extensions available just open an issue or even better create a pull request!

## Installation

ACKReactiveExtensions is available through [CocoaPods](http://cocoapods.org). Simply add the following line to your Podfile:
You can use Carthage by adding it to your Cartfile:

```ruby
pod "ACKReactiveExtensions"
```

## Subspecs
By using `pod "ACKReactiveExtensions"` you will get only general and UIKit extensions but there are also subspecs you can like/need.

```ruby
pod 'ACKReactiveExtensions/AlamofireImage'
pod 'ACKReactiveExtensions/WebKit'
github "AckeeCZ/ACKReactiveExtensions
```
These subspecs mostly require aditional dependencies (as Argo or Reachability) and you could not need it for your project. That's why it is separated to subspecs.

Or you can use SPM by adding it to you _Package.swift_.

## Usage
Usage is really simple, ACKReactiveExtensions contains just more extensions for ReactiveSwift's `Reactive` struct so it can be used on more objects.

```swift
let imageURL: Property<URL> = ...
let imageView = UIImageView()

imageView.reactive.imageURL <~ imageURL
```

### Mapping extensions

ACKReactiveExtensions contains reactive mapping extensions for following libraries. See their page for more information.

- [Argo extensions](Docs/Argo.md)
- [Marshal extensions](Docs/Marshal.md)

#### Mapping configuration

In general we are against mapping objects on main thread (and you should be too), but you know, you only live once so we still give you the opportunity to do so. By default our mapping extensions allow this behavior but if you want to restrict that, you can do that by setting a configuration variable.
Expand Down

0 comments on commit 865b215

Please sign in to comment.