Opened 3 years ago

Closed 3 years ago

#5619 closed change (fixed)

Provide Carthage support for YAJL 2

Reported by: dzhang Assignee: dzhang
Priority: Unknown Milestone: Adblock-Plus-for-iOS-next
Module: Adblock-Plus-for-iOS/macOS Keywords:
Cc: mario, tiago, ashephard, CraftyDeano Blocked By:
Blocking: #5550, #5620 Platform: iOS
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by dzhang)


YAJL 2.0.4 is currently being integrated using Cocoapods.

This is a limitation because Cocoapods does not provide support for mixed static and dynamic frameworks. The result is that Swift libraries conflict with YAJL.

Since we want to use Swift and Swift libraries, a solution is to move to Carthage. It is a dependency manager that solves this problem by providing greater flexibility around how frameworks are integrated.

The latest version of YAJL is 2.1.0. The change log doesn't indicate any breaking changes with 2.0.4. Therefore, this newer version can likely be used.

What to change

Create a repository suitable for building with Carthage for YAJL 2 and integrate the resulting framework into ABP with Carthage.

Update README with Carthage instructions.

Remove use of Cocoapods.

Next Steps

Moving to Carthage allows mixed use of legacy dependencies with newer Swift frameworks. This issue is a prerequisite step for integrating RxSwift into ABP with Carthage.

Change History (5)

comment:1 Changed 3 years ago by dzhang

  • Platform changed from Unknown / Cross platform to iOS

comment:2 Changed 3 years ago by dzhang

  • Blocking 5620 added

comment:3 Changed 3 years ago by dzhang

  • Description modified (diff)

comment:4 Changed 3 years ago by dzhang

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:5 Changed 3 years ago by dzhang

  • Resolution set to fixed
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.