Move to Swift Package Manager disregarding Cocoapods (#496)

* Build as many dependencies as possible with SPM.
* Xcworkspace is no longer needed.
* Collecting coverage information does unfortunately cause linking errors in Base32. So it is disabled for now.
This commit is contained in:
Danny Mösch 2021-08-30 18:41:29 +02:00 committed by GitHub
parent c72cd1c653
commit 032436fa70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 341 additions and 373 deletions

View file

@ -4,7 +4,7 @@ on: [push, pull_request]
jobs:
testing:
runs-on: macos-latest
runs-on: macos-11
steps:
- uses: actions/checkout@v2
- name: Installing packages
@ -20,12 +20,6 @@ jobs:
key: ${{ runner.os }}-carthage-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/Cartfile.resolved') }}
restore-keys: |
${{ runner.os }}-carthage-${{ secrets.CACHE_VERSION }}-
- uses: actions/cache@v2
with:
path: Pods
key: ${{ runner.os }}-pods-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-${{ secrets.CACHE_VERSION }}-
- uses: actions/cache@v2
id: gopenpgp-cache
with:
@ -37,8 +31,6 @@ jobs:
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Cocoapods
run: bundle exec pod install
- name: Carthage
if: steps.carthage-cache.outputs.cache-hit != 'true'
run: |

View file

@ -1,6 +1,2 @@
github "SVProgressHUD/SVProgressHUD"
github "radex/SwiftyUserDefaults"
github "mssun/objective-git" "master"
github "leonbreedt/FavIcon"
github "kishikawakatsumi/KeychainAccess"
github "mattrubin/OneTimePassword"

View file

@ -1,7 +1,2 @@
github "SVProgressHUD/SVProgressHUD" "2.2.5"
github "kishikawakatsumi/KeychainAccess" "v4.2.2"
github "leonbreedt/FavIcon" "3.1.0"
github "mattrubin/Base32" "1.1.2+xcode10.2"
github "mattrubin/OneTimePassword" "3.2.0"
github "mssun/objective-git" "46700019d808437b98c5ea4437a13ded8a09b218"
github "radex/SwiftyUserDefaults" "5.3.0"

View file

@ -1,6 +1,5 @@
source "https://rubygems.org"
gem "cocoapods"
gem "fastlane"
gem "xcodeproj"
gem "rest-client"

33
Podfile
View file

@ -1,33 +0,0 @@
platform :ios, '10.2'
use_frameworks!
def pods
pod 'ObjectivePGP', :git => 'https://github.com/mssun/ObjectivePGP.git', :tag => '0.15.1'
end
target 'passKit' do
pods
end
target 'pass' do
pods
end
target 'passExtension' do
pods
end
target 'passKitTests' do
pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
cflags = config.build_settings['OTHER_CFLAGS'] || ['$(inherited)']
cflags << '-fembed-bitcode'
config.build_settings['OTHER_CFLAGS'] = cflags
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.2'
end
end
end

View file

@ -46,11 +46,10 @@ For more, please read the [wiki page](https://github.com/mssun/passforios/wiki).
## Building Pass for iOS
1. Install Libtool, Automake, CMake, Carthage, CocoaPods, Go, SwiftLint, and SwiftFormat: `brew install libtool automake cmake carthage cocoapods go swiftlint swiftformat`.
1. Install Libtool, Automake, CMake, Carthage, Go, SwiftLint, and SwiftFormat: `brew install libtool automake cmake carthage go swiftlint swiftformat`.
2. Install dependencies via Carthage. Therefore, execute `./scripts/wcarthage update` and `./scripts/wcarthage bootstrap --platform iOS` in the root directory of the project. This may take some time.
3. Run `./scripts/gopenpgp_build.sh` to build GopenPGP.
4. Install dependencies via CocoaPods in the project root directory: `pod install`.
5. Open the `pass.xcworkspace` file in Xcode.
5. Open the `pass.xcodeproj` file in Xcode.
6. Build & Run.
## License

View file

@ -1,7 +1,6 @@
default_platform :ios
lane :prepare do
cocoapods
carthage(cache_builds: true, platform: "iOS")
sh "./scripts/gopenpgp_build.sh"
end

File diff suppressed because it is too large Load diff

View file

@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:pass.xcodeproj">
location = "self:">
</FileRef>
</Workspace>

View file

@ -0,0 +1,61 @@
{
"object": {
"pins": [
{
"package": "Base32",
"repositoryURL": "https://github.com/mattrubin/Base32",
"state": {
"branch": "1.1.2+spm",
"revision": "d185e44c8b355d34d5c6c6ad502c60cba4599f69",
"version": null
}
},
{
"package": "FavIcon",
"repositoryURL": "https://github.com/leonbreedt/FavIcon",
"state": {
"branch": null,
"revision": "5bf16aad3ea543891eaef7e8da2aa2f6bb29e6e4",
"version": "3.1.0"
}
},
{
"package": "KeychainAccess",
"repositoryURL": "https://github.com/kishikawakatsumi/KeychainAccess",
"state": {
"branch": null,
"revision": "84e546727d66f1adc5439debad16270d0fdd04e7",
"version": "4.2.2"
}
},
{
"package": "ObjectivePGP",
"repositoryURL": "https://github.com/krzyzanowskim/ObjectivePGP",
"state": {
"branch": null,
"revision": "d521f74f3c7555eee49499cd5b14079e721f7a70",
"version": "0.17.0"
}
},
{
"package": "OneTimePassword",
"repositoryURL": "https://github.com/mattrubin/OneTimePassword",
"state": {
"branch": "develop",
"revision": "bd2a8fa24057916e4e543ae323e34f75ae744db8",
"version": null
}
},
{
"package": "SwiftyUserDefaults",
"repositoryURL": "https://github.com/sunshinejr/SwiftyUserDefaults",
"state": {
"branch": null,
"revision": "f66bcd04088582c8fbb5cb8554d577e303bae396",
"version": "5.3.0"
}
}
]
},
"version": 1
}

View file

@ -26,8 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
codeCoverageEnabled = "YES">
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:pass.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>