Skip to content

Commit

Permalink
Merge pull request #161 from square/luis/add-spm-support
Browse files Browse the repository at this point in the history
Add Swift Package Manager support
  • Loading branch information
luispadron authored Oct 10, 2024
2 parents 491d57c + 337ee77 commit 2eb62ce
Show file tree
Hide file tree
Showing 55 changed files with 435 additions and 155 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,11 @@ jobs:
run: bundle exec pod lib lint --verbose --fail-fast AardvarkLoggingUI.podspec --include-podspecs=CoreAardvark.podspec
- name: Lint AardvarkMailUI Podspec
run: bundle exec pod lib lint --verbose --fail-fast AardvarkMailUI.podspec --include-podspecs="{CoreAardvark,Aardvark}.podspec"
swift-build:
name: Swift Build
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Swift Build
run: swift build --sdk "$(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk" --triple "arm64-apple-ios14.0-simulator"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ profile
*.moved-aside
DerivedData
.idea/
# SPM
.build/
2 changes: 1 addition & 1 deletion Aardvark.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pod::Spec.new do |s|
s.swift_version = '5.0'
s.ios.deployment_target = '14.0'

s.source_files = 'Sources/Aardvark/**/*.{h,m,swift}'
s.source_files = 'Sources/Aardvark/**/*.{h,m}', 'Sources/AardvarkSwift/**/*.{swift}'
s.resource_bundle = {'Aardvark' => ['Sources/Aardvark/PrivacyInfo.xcprivacy']}

s.dependency 'CoreAardvark', '~> 4.0'
Expand Down
263 changes: 173 additions & 90 deletions Aardvark.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions AardvarkMailUI.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Pod::Spec.new do |s|
s.swift_version = '5.0'
s.ios.deployment_target = '14.0'

s.source_files = 'Sources/AardvarkMailUI/**/*.{h,m,swift}'
s.private_header_files = 'Sources/AardvarkMailUI/**/*_Testing.h', 'Sources/AardvarkMailUI/PrivateCategories/*.h'
s.source_files = 'Sources/AardvarkMailUI/**/*.{h,m}', 'Sources/AardvarkMailUISwift/**/*.swift'
s.private_header_files = 'Sources/AardvarkMailUI/private/*.h'

s.dependency 'Aardvark', '~> 5.0'
end
4 changes: 2 additions & 2 deletions CoreAardvark.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ Pod::Spec.new do |s|
s.ios.deployment_target = '14.0'
s.watchos.deployment_target = '7.0'

s.source_files = 'Sources/CoreAardvark/**/*.{h,m,swift}'
s.private_header_files = 'Sources/CoreAardvark/**/*_Testing.h', 'Sources/CoreAardvark/PrivateCategories/*.h'
s.source_files = 'Sources/CoreAardvark/**/*.{h,m}', 'Sources/CoreAardvarkSwift/**/*.{swift}'
s.private_header_files = 'Sources/CoreAardvark/private/*.h'
end
88 changes: 88 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// swift-tools-version:5.10

import PackageDescription

let package = Package(
name: "Aardvark",
defaultLocalization: "en",
platforms: [
.iOS(.v14),
],
products: [
.library(
name: "Aardvark",
targets: ["Aardvark", "AardvarkSwift"]
),
.library(
name: "AardvarkLoggingUI",
targets: ["AardvarkLoggingUI"]
),
.library(
name: "AardvarkMailUI",
targets: ["AardvarkMailUI", "AardvarkMailUISwift"]
),
.library(
name: "CoreAardvark",
targets: ["CoreAardvark", "CoreAardvarkSwift"]
),
],
targets: [
.target(
name: "Aardvark",
dependencies: ["CoreAardvark"],
resources: [
.process("PrivacyInfo.xcprivacy"),
],
cSettings: [
.define("SWIFT_PACKAGE"),
]
),
.target(
name: "AardvarkSwift",
dependencies: ["Aardvark"],
cSettings: [
.define("SWIFT_PACKAGE"),
]
),
.target(
name: "AardvarkLoggingUI",
dependencies: ["CoreAardvark"],
cSettings: [
.define("SWIFT_PACKAGE"),
.headerSearchPath("private"),
]
),
.target(
name: "AardvarkMailUI",
dependencies: ["Aardvark", "AardvarkSwift"],
cSettings: [
.define("SWIFT_PACKAGE"),
.headerSearchPath("private"),
]
),
.target(
name: "AardvarkMailUISwift",
dependencies: ["Aardvark", "AardvarkSwift", "AardvarkMailUI"],
cSettings: [
.define("SWIFT_PACKAGE"),
]
),
.target(
name: "CoreAardvark",
resources: [
.process("Resources/en.lproj"),
],
cSettings: [
.define("SWIFT_PACKAGE"),
.headerSearchPath("private"),
]
),
.target(
name: "CoreAardvarkSwift",
dependencies: ["CoreAardvark"],
cSettings: [
.define("SWIFT_PACKAGE"),
]
),
]
)
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ FOUNDATION_EXPORT double Aardvark_iOSVersionNumber;
//! Project version string for Aardvark-iOS.
FOUNDATION_EXPORT const unsigned char Aardvark_iOSVersionString[];


#if SWIFT_PACKAGE
#import "ARKLogDistributor+UIAdditions.h"
#import "ARKScreenshotLogging.h"
#else
#import <Aardvark/ARKLogDistributor+UIAdditions.h>
#import <Aardvark/ARKScreenshotLogging.h>
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,12 @@ FOUNDATION_EXPORT const unsigned char AardvarkLoggingUIVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <AardvarkLoggingUI/PublicHeader.h>


#if SWIFT_PACKAGE
#import "ARKIndividualLogViewController.h"
#import "ARKLogTableViewController.h"
#import "ARKScreenshotViewController.h"
#else
#import <AardvarkLoggingUI/ARKIndividualLogViewController.h>
#import <AardvarkLoggingUI/ARKLogTableViewController.h>
#import <AardvarkLoggingUI/ARKScreenshotViewController.h>
#endif
Loading

0 comments on commit 2eb62ce

Please sign in to comment.