From 46b4be864fa33109e3297f465f708d8b65d9a643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Menu?= Date: Mon, 13 Jan 2025 15:30:57 +0100 Subject: [PATCH 1/3] 3.0.0-beta.2 --- CHANGELOG.md | 5 ++++- README.md | 14 +++++++------- .../CocoaPods/ReadiumAdapterGCDWebServer.podspec | 9 +++++---- Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec | 9 +++++---- Support/CocoaPods/ReadiumInternal.podspec | 5 +++-- Support/CocoaPods/ReadiumLCP.podspec | 9 +++++---- Support/CocoaPods/ReadiumNavigator.podspec | 9 +++++---- Support/CocoaPods/ReadiumOPDS.podspec | 12 +++++------- Support/CocoaPods/ReadiumShared.podspec | 7 ++++--- Support/CocoaPods/ReadiumStreamer.podspec | 11 ++++++----- TestApp/Sources/Info.plist | 4 ++-- docs/Migration Guide.md | 4 +++- 12 files changed, 54 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee7be4d6..872a69c68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ All notable changes to this project will be documented in this file. Take a look **Warning:** Features marked as *alpha* may change or be removed in a future release without notice. Use with caution. -## [Unreleased] + + +## [3.0.0-beta.2] * The Readium Swift toolkit now requires a minimum of iOS 13.4. @@ -835,3 +837,4 @@ progression. Now if no reading progression is set, the `effectiveReadingProgress [3.0.0-alpha.2]: https://github.com/readium/swift-toolkit/compare/3.0.0-alpha.1...3.0.0-alpha.2 [3.0.0-alpha.3]: https://github.com/readium/swift-toolkit/compare/3.0.0-alpha.2...3.0.0-alpha.3 [3.0.0-beta.1]: https://github.com/readium/swift-toolkit/compare/3.0.0-alpha.3...3.0.0-beta.1 +[3.0.0-beta.2]: https://github.com/readium/swift-toolkit/compare/3.0.0-beta.1...3.0.0-beta.2 diff --git a/README.md b/README.md index fb6d0c8a9..ca3dc1d17 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ If you're stuck, find more information at [developer.apple.com](https://develope Add the following to your `Cartfile`: ``` -github "readium/swift-toolkit" ~> 3.0.0-beta.1 +github "readium/swift-toolkit" ~> 3.0.0-beta.2 ``` Then, [follow the usual Carthage steps](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add the Readium libraries to your project. @@ -71,14 +71,14 @@ Refer to the following table to know which dependencies are required for each Re Add the following `pod` statements to your `Podfile` for the Readium libraries you want to use: ``` -pod 'ReadiumStreamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumStreamer.podspec' -pod 'ReadiumNavigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumNavigator.podspec' -pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumOPDS.podspec' -pod 'ReadiumLCP', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumLCP.podspec' +pod 'ReadiumStreamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumStreamer.podspec' +pod 'ReadiumNavigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumNavigator.podspec' +pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumOPDS.podspec' +pod 'ReadiumLCP', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumLCP.podspec' # Required by all the other libraries -pod 'ReadiumShared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumShared.podspec' -pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.1/Support/CocoaPods/ReadiumInternal.podspec' +pod 'ReadiumShared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumShared.podspec' +pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumInternal.podspec' ``` Take a look at [CocoaPods's documentation](https://guides.cocoapods.org/using/using-cocoapods.html) for more information. diff --git a/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec b/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec index c60ffbade..300d2fb7d 100644 --- a/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec +++ b/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec @@ -1,20 +1,21 @@ Pod::Spec.new do |s| s.name = "ReadiumAdapterGCDWebServer" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Adapter to use GCDWebServer as an HTTP server in Readium" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.source_files = "Sources/Adapters/GCDWebServer/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } - s.dependency 'ReadiumShared' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumShared', '~> 3.0.0-beta.2' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' s.dependency 'ReadiumGCDWebServer', '~> 4.0.0' end diff --git a/Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec b/Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec index 8b3b88ceb..a3188b168 100644 --- a/Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec +++ b/Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec @@ -1,20 +1,21 @@ Pod::Spec.new do |s| s.name = "ReadiumAdapterLCPSQLite" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Adapter to use SQLite.swift for the Readium LCP repositories" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.source_files = "Sources/Adapters/LCPSQLite/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } - s.dependency 'ReadiumLCP' - s.dependency 'ReadiumShared' + s.dependency 'ReadiumLCP', '~> 3.0.0-beta.2' + s.dependency 'ReadiumShared', '~> 3.0.0-beta.2' s.dependency 'SQLite.swift', '~> 0.15.0' end diff --git a/Support/CocoaPods/ReadiumInternal.podspec b/Support/CocoaPods/ReadiumInternal.podspec index 5c737fa20..e86ce3541 100644 --- a/Support/CocoaPods/ReadiumInternal.podspec +++ b/Support/CocoaPods/ReadiumInternal.podspec @@ -1,14 +1,15 @@ Pod::Spec.new do |s| s.name = "ReadiumInternal" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Private utilities used by the Readium modules" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.source_files = "Sources/Internal/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } diff --git a/Support/CocoaPods/ReadiumLCP.podspec b/Support/CocoaPods/ReadiumLCP.podspec index 44ad5596b..509b8418c 100644 --- a/Support/CocoaPods/ReadiumLCP.podspec +++ b/Support/CocoaPods/ReadiumLCP.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "ReadiumLCP" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Readium LCP" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.resource_bundles = { 'ReadiumLCP' => [ @@ -15,12 +15,13 @@ Pod::Spec.new do |s| ], } s.source_files = "Sources/LCP/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2'} - s.dependency 'ReadiumShared' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumShared' , '~> 3.0.0-beta.2' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' s.dependency 'ReadiumZIPFoundation', '~> 1.0.0' s.dependency 'CryptoSwift', '~> 1.8.0' end diff --git a/Support/CocoaPods/ReadiumNavigator.podspec b/Support/CocoaPods/ReadiumNavigator.podspec index ca70899c4..05ac58e2e 100644 --- a/Support/CocoaPods/ReadiumNavigator.podspec +++ b/Support/CocoaPods/ReadiumNavigator.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "ReadiumNavigator" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Readium Navigator" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.resource_bundles = { 'ReadiumNavigator' => [ @@ -15,11 +15,12 @@ Pod::Spec.new do |s| ], } s.source_files = "Sources/Navigator/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" - s.dependency 'ReadiumShared' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumShared', '~> 3.0.0-beta.2' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' s.dependency 'DifferenceKit', '~> 1.0' s.dependency 'SwiftSoup', '~> 2.7.0' diff --git a/Support/CocoaPods/ReadiumOPDS.podspec b/Support/CocoaPods/ReadiumOPDS.podspec index a789cd5e4..df13bafc5 100644 --- a/Support/CocoaPods/ReadiumOPDS.podspec +++ b/Support/CocoaPods/ReadiumOPDS.podspec @@ -1,23 +1,21 @@ Pod::Spec.new do |s| s.name = "ReadiumOPDS" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Readium OPDS" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true - s.resource_bundles = { - 'ReadiumOPDS' => ['Sources/OPDS/Resources/**'], - } s.source_files = "Sources/OPDS/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } - s.dependency 'ReadiumShared' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumShared', '~> 3.0.0-beta.2' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' s.dependency 'ReadiumFuzi', '~> 4.0.0' end diff --git a/Support/CocoaPods/ReadiumShared.podspec b/Support/CocoaPods/ReadiumShared.podspec index 35d2e55ba..4b348b42f 100644 --- a/Support/CocoaPods/ReadiumShared.podspec +++ b/Support/CocoaPods/ReadiumShared.podspec @@ -1,14 +1,15 @@ Pod::Spec.new do |s| s.name = "ReadiumShared" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Readium Shared" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => 'https://github.com/readium/swift-toolkit.git', :branch => "develop" } + s.source = { :git => 'https://github.com/readium/swift-toolkit.git', :tag => s.version } s.requires_arc = true s.source_files = "Sources/Shared/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios s.ios.deployment_target = "13.4" s.frameworks = "CoreServices" @@ -18,6 +19,6 @@ Pod::Spec.new do |s| s.dependency 'SwiftSoup', '~> 2.7.0' s.dependency 'ReadiumFuzi', '~> 4.0.0' s.dependency 'ReadiumZIPFoundation', '~> 1.0.0' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' end diff --git a/Support/CocoaPods/ReadiumStreamer.podspec b/Support/CocoaPods/ReadiumStreamer.podspec index 515f801d7..2e1db1a9e 100644 --- a/Support/CocoaPods/ReadiumStreamer.podspec +++ b/Support/CocoaPods/ReadiumStreamer.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "ReadiumStreamer" - s.version = "3.0.0-beta.1" + s.version = "3.0.0-beta.2" s.license = "BSD 3-Clause License" s.summary = "Readium Streamer" s.homepage = "http://readium.github.io" s.author = { "Readium" => "contact@readium.org" } - s.source = { :git => "https://github.com/readium/swift-toolkit.git", :branch => "develop" } + s.source = { :git => "https://github.com/readium/swift-toolkit.git", :tag => s.version } s.requires_arc = true s.resource_bundles = { 'ReadiumStreamer' => [ @@ -15,14 +15,15 @@ Pod::Spec.new do |s| ], } s.source_files = "Sources/Streamer/**/*.{m,h,swift}" + s.swift_version = '5.10' s.platform = :ios - s.ios.deployment_target = "13.0" + s.ios.deployment_target = "13.4" s.libraries = 'z', 'xml2' s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } s.dependency 'ReadiumFuzi', '~> 4.0.0' - s.dependency 'ReadiumShared' - s.dependency 'ReadiumInternal' + s.dependency 'ReadiumShared', '~> 3.0.0-beta.2' + s.dependency 'ReadiumInternal', '~> 3.0.0-beta.2' s.dependency 'CryptoSwift', '~> 1.8.0' end diff --git a/TestApp/Sources/Info.plist b/TestApp/Sources/Info.plist index 30f92af6a..1a59c1145 100644 --- a/TestApp/Sources/Info.plist +++ b/TestApp/Sources/Info.plist @@ -252,9 +252,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0.0-beta.1 + 3.0.0-beta.2 CFBundleVersion - 3.0.0-beta.1 + 3.0.0-beta.2 LSRequiresIPhoneOS LSSupportsOpeningDocumentsInPlace diff --git a/docs/Migration Guide.md b/docs/Migration Guide.md index 5d744639e..82c9e4e0e 100644 --- a/docs/Migration Guide.md +++ b/docs/Migration Guide.md @@ -2,7 +2,9 @@ All migration steps necessary in reading apps to upgrade to major versions of the Swift Readium toolkit will be documented in this file. -## Unreleased + + +## 3.0.0-beta.2 ### ZIPFoundation replaces Minizip From 6a02609b6cbe47a4334eb458dbc45a3e39005987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Menu?= Date: Tue, 14 Jan 2025 11:54:06 +0100 Subject: [PATCH 2/3] Update CocoaPods integration to use the podspecs repo --- README.md | 17 +++++++++-------- TestApp/Integrations/CocoaPods/Podfile | 14 ++++++++------ TestApp/Integrations/CocoaPods/Podfile+lcp | 18 ++++++++++-------- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index ca3dc1d17..960fe8760 100644 --- a/README.md +++ b/README.md @@ -71,14 +71,15 @@ Refer to the following table to know which dependencies are required for each Re Add the following `pod` statements to your `Podfile` for the Readium libraries you want to use: ``` -pod 'ReadiumStreamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumStreamer.podspec' -pod 'ReadiumNavigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumNavigator.podspec' -pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumOPDS.podspec' -pod 'ReadiumLCP', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumLCP.podspec' - -# Required by all the other libraries -pod 'ReadiumShared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumShared.podspec' -pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/3.0.0-beta.2/Support/CocoaPods/ReadiumInternal.podspec' +# Make sure the Readium repository is before the official CocoaPods CDN. +source 'https://github.com/readium/podspecs' +source 'https://cdn.cocoapods.org/' + +pod 'ReadiumShared', '~> 3.0.0-beta.2' +pod 'ReadiumStreamer', '~> 3.0.0-beta.2' +pod 'ReadiumNavigator', '~> 3.0.0-beta.2' +pod 'ReadiumOPDS', '~> 3.0.0-beta.2' +pod 'ReadiumLCP', '~> 3.0.0-beta.2' ``` Take a look at [CocoaPods's documentation](https://guides.cocoapods.org/using/using-cocoapods.html) for more information. diff --git a/TestApp/Integrations/CocoaPods/Podfile b/TestApp/Integrations/CocoaPods/Podfile index b66f6aaf8..ccb328764 100644 --- a/TestApp/Integrations/CocoaPods/Podfile +++ b/TestApp/Integrations/CocoaPods/Podfile @@ -1,15 +1,17 @@ +source 'https://github.com/readium/podspecs' +source 'https://cdn.cocoapods.org/' + platform :ios, '18.0' target 'TestApp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! - pod 'ReadiumShared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumShared.podspec' - pod 'ReadiumStreamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumStreamer.podspec' - pod 'ReadiumNavigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumNavigator.podspec' - pod 'ReadiumAdapterGCDWebServer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec' - pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumOPDS.podspec' - pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumInternal.podspec' + pod 'ReadiumShared', '~> VERSION' + pod 'ReadiumStreamer', '~> VERSION' + pod 'ReadiumNavigator', '~> VERSION' + pod 'ReadiumOPDS', '~> VERSION' + pod 'ReadiumAdapterGCDWebServer', '~> VERSION' pod 'GRDB.swift', '~> 6.0' pod 'Kingfisher', '~> 5.0' diff --git a/TestApp/Integrations/CocoaPods/Podfile+lcp b/TestApp/Integrations/CocoaPods/Podfile+lcp index 394acff97..5fa4c80ac 100644 --- a/TestApp/Integrations/CocoaPods/Podfile+lcp +++ b/TestApp/Integrations/CocoaPods/Podfile+lcp @@ -1,17 +1,19 @@ +source 'https://github.com/readium/podspecs' +source 'https://cdn.cocoapods.org/' + platform :ios, '18.0' target 'TestApp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! - pod 'ReadiumShared', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumShared.podspec' - pod 'ReadiumStreamer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumStreamer.podspec' - pod 'ReadiumNavigator', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumNavigator.podspec' - pod 'ReadiumAdapterGCDWebServer', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumAdapterGCDWebServer.podspec' - pod 'ReadiumAdapterLCPSQLite', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumAdapterLCPSQLite.podspec' - pod 'ReadiumOPDS', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumOPDS.podspec' - pod 'ReadiumLCP', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumLCP.podspec' - pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumInternal.podspec' + pod 'ReadiumShared', '~> VERSION' + pod 'ReadiumStreamer', '~> VERSION' + pod 'ReadiumNavigator', '~> VERSION' + pod 'ReadiumOPDS', '~> VERSION' + pod 'ReadiumLCP', '~> VERSION' + pod 'ReadiumAdapterGCDWebServer', '~> VERSION' + pod 'ReadiumAdapterLCPSQLite', '~> VERSION' pod 'R2LCPClient', podspec: 'LCP_URL' pod 'GRDB.swift', '~> 6.0' From 03e4579b9d5bb487b0f409d40825e57b9b605515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Menu?= Date: Tue, 14 Jan 2025 13:54:25 +0100 Subject: [PATCH 3/3] Update documentation --- .github/workflows/checks.yml | 23 ----------------------- CHANGELOG.md | 1 + MAINTAINING.md | 18 ++++++++++++++++-- README.md | 1 - docs/Migration Guide.md | 32 ++++++++++++++++++++++++++------ 5 files changed, 43 insertions(+), 32 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 722c51fda..54b9c236f 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -152,26 +152,3 @@ jobs: set -eo pipefail xcodebuild build -scheme TestApp -destination "platform=$platform,name=$device" | if command -v xcpretty &> /dev/null; then xcpretty; else cat; fi - # Warning: This job cannot actually test the state of the current commit, - # but will check that the latest branch/tag set in the Podspecs are valid. - int-cocoapods: - name: Integration (CocoaPods) - if: github.event_name == 'push' - runs-on: macos-14 - defaults: - run: - working-directory: TestApp - environment: LCP - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Install dependencies - run: | - brew update - brew install xcodegen - - name: Generate project - run: make cocoapods lcp=${{ secrets.LCP_URL_COCOAPODS }} commit=$commit_sha - - name: Build - run: | - set -eo pipefail - xcodebuild build -workspace TestApp.xcworkspace -scheme TestApp -destination "platform=$platform,name=$device" | if command -v xcpretty &> /dev/null; then xcpretty; else cat; fi diff --git a/CHANGELOG.md b/CHANGELOG.md index 872a69c68..1e4d42dc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file. Take a look ## [3.0.0-beta.2] * The Readium Swift toolkit now requires a minimum of iOS 13.4. +* All the libraries are now available on a dedicated [Readium CocoaPods Specs repository](https://github.com/readium/podspecs). Take a look at [the migration guide](Documentation/Migration%20Guide.md) to migrate. ### Added diff --git a/MAINTAINING.md b/MAINTAINING.md index af381da8a..a08c18783 100644 --- a/MAINTAINING.md +++ b/MAINTAINING.md @@ -18,7 +18,7 @@ You are ready to release a new version of the Swift toolkit? Great, follow these 4. Issue the new release. 1. Create a branch with the same name as the future tag, from `develop`. 2. Bump the version numbers in the `Support/CocoaPods/*.podspec` files. - * :warning: Don't forget to use `:tag` in the `Podspec` files instead of `:branch`, [for example](https://github.com/readium/swift-toolkit/pull/353/commits/a0714589b3da928dd923ba78f379116715797333#diff-b726fa4aff3ea878dedf3e0f78607c09975ef5412966dc1b547d9b5e9e4b0d9cL9). + * :warning: Don't forget to use `:tag => s.version` in the `Podspec` files instead of `:branch`. 3. Bump the version numbers in `README.md`. 4. Bump the version numbers in `TestApp/Sources/Info.plist`. 5. Close the version in the `CHANGELOG.md`, [for example](https://github.com/readium/swift-toolkit/pull/353/commits/a0714589b3da928dd923ba78f379116715797333#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed). @@ -31,11 +31,25 @@ You are ready to release a new version of the Swift toolkit? Great, follow these git tag -a 3.0.1 -m 3.0.1 git push --tags ``` + 9. Release the updated Podspecs: + ```shell + cd Support/CocoaPods + + pod repo add readium git@github.com:readium/podspecs.git + + pod repo push readium ReadiumInternal.podspec + pod repo push readium ReadiumShared.podspec + pod repo push readium ReadiumStreamer.podspec + pod repo push readium ReadiumNavigator.podspec + pod repo push readium ReadiumOPDS.podspec + pod repo push readium ReadiumLCP.podspec + pod repo push readium ReadiumAdapterGCDWebServer.podspec + pod repo push readium ReadiumAdapterLCPSQLite.podspec + ``` 5. Verify you can fetch the new version from the latest Test App with `make spm|carthage|cocoapods version=3.0.1` 7. Announce the release. 1. Create a new release on GitHub. 2. Publish a new TestFlight beta with LCP enabled. * Click on "External Groups" > "Public Beta", then add the new build so that it's available to everyone. 8. Merge `develop` into `main`. -9. :warning: Revert to `:branch => "develop"` in the `Podspec` files in `develop`. diff --git a/README.md b/README.md index 960fe8760..e29f8f563 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,6 @@ Refer to the following table to know which dependencies are required for each Re Add the following `pod` statements to your `Podfile` for the Readium libraries you want to use: ``` -# Make sure the Readium repository is before the official CocoaPods CDN. source 'https://github.com/readium/podspecs' source 'https://cdn.cocoapods.org/' diff --git a/docs/Migration Guide.md b/docs/Migration Guide.md index 82c9e4e0e..0d87c9c84 100644 --- a/docs/Migration Guide.md +++ b/docs/Migration Guide.md @@ -6,21 +6,41 @@ All migration steps necessary in reading apps to upgrade to major versions of th ## 3.0.0-beta.2 -### ZIPFoundation replaces Minizip +### CocoaPods Specs repository -The default `ZIPArchiveOpener` is now using ZIPFoundation instead of Minizip, with improved performances when reading ranges of `stored` ZIP entries. +All the libraries are now available on a dedicated [Readium CocoaPods Specs repository](https://github.com/readium/podspecs). To use it, add the following statements at the top of your `Podfile`: -If you use Carthage, remove `Minizip.xcframework` from your dependencies and add `ReadiumZIPFoundation.xcframework` instead. No changes are needed when using Swift Package Manager or CocoaPods. +``` +source 'https://github.com/readium/podspecs' +source 'https://cdn.cocoapods.org/' +``` -### CocoaPods dependencies +Then, you can reference the Readium libraries as any other CocoaPods dependency, without specifying the full URL to the `Podspec` file. -Some CocoaPods dependencies are now part of the official trunk and handled automatically. You must remove the custom declarations from your `Podfile`: +``` +pod 'ReadiumShared', '~> 3.0.0-beta.2' +pod 'ReadiumStreamer', '~> 3.0.0-beta.2' +pod 'ReadiumNavigator', '~> 3.0.0-beta.2' +pod 'ReadiumOPDS', '~> 3.0.0-beta.2' +pod 'ReadiumLCP', '~> 3.0.0-beta.2' +``` + +Don't forget to remove the statements for some internal dependencies that are now referenced automatically: ```diff --pod 'Fuzi', podspec: 'https://raw.githubusercontent.com/readium/Fuzi/refs/heads/master/Fuzi.podspec' +-pod 'ReadiumInternal', podspec: 'https://raw.githubusercontent.com/readium/swift-toolkit/VERSION/Support/CocoaPods/ReadiumInternal.podspec' -pod 'ReadiumGCDWebServer', podspec: 'https://raw.githubusercontent.com/readium/GCDWebServer/4.0.0/GCDWebServer.podspec' +-pod 'Fuzi', podspec: 'https://raw.githubusercontent.com/readium/Fuzi/refs/heads/master/Fuzi.podspec' ``` +Finally, run `pod install --repo-update`. + +### ZIPFoundation replaces Minizip + +The default `ZIPArchiveOpener` is now using ZIPFoundation instead of Minizip, with improved performances when reading ranges of `stored` ZIP entries. + +If you use Carthage, remove `Minizip.xcframework` from your dependencies and add `ReadiumZIPFoundation.xcframework` instead. No changes are needed when using Swift Package Manager or CocoaPods. + ## 3.0.0-alpha.2