Skip to content

Commit ded8c2a

Browse files
committed
Add support for CoreAardvark in SPM
1 parent 491d57c commit ded8c2a

26 files changed

+109
-10
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ profile
1616
*.moved-aside
1717
DerivedData
1818
.idea/
19+
# SPM
20+
.build/

CoreAardvark.podspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ Pod::Spec.new do |s|
1111
s.ios.deployment_target = '14.0'
1212
s.watchos.deployment_target = '7.0'
1313

14-
s.source_files = 'Sources/CoreAardvark/**/*.{h,m,swift}'
15-
s.private_header_files = 'Sources/CoreAardvark/**/*_Testing.h', 'Sources/CoreAardvark/PrivateCategories/*.h'
14+
s.source_files = 'Sources/CoreAardvark/**/*.{h,m}', 'Sources/CoreAardvarkSwift/**/*.{swift}'
15+
s.private_header_files = 'Sources/CoreAardvark/private/*.h'
1616
end

Package.swift

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// swift-tools-version:5.10
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "Aardvark",
7+
defaultLocalization: "en",
8+
platforms: [
9+
.iOS(.v14),
10+
],
11+
products: [
12+
.library(
13+
name: "CoreAardvark",
14+
targets: ["CoreAardvark", "CoreAardvarkSwift"]
15+
),
16+
],
17+
targets: [
18+
.target(
19+
name: "CoreAardvark",
20+
resources: [
21+
.process("Resources/en.lproj"),
22+
],
23+
cSettings: [
24+
.define("SWIFT_PACKAGE"),
25+
.headerSearchPath("private"),
26+
]
27+
),
28+
.target(
29+
name: "CoreAardvarkSwift",
30+
dependencies: ["CoreAardvark"],
31+
cSettings: [
32+
.define("SWIFT_PACKAGE"),
33+
]
34+
),
35+
]
36+
)

Sources/CoreAardvark/Logging/ARKLogMessage.m

+11-7
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414
// limitations under the License.
1515
//
1616

17+
#if SWIFT_PACKAGE
18+
#import "ARKLogMessage.h"
19+
#else
1720
#import <CoreAardvark/ARKLogMessage.h>
21+
#endif
1822

1923
#import "AardvarkDefines.h"
2024

@@ -46,14 +50,14 @@ - (instancetype)initWithText:(NSString *)text image:(UIImage *)image type:(ARKLo
4650
- (instancetype)initWithText:(NSString *)text image:(UIImage *)image type:(ARKLogType)type parameters:(NSDictionary *)parameters userInfo:(NSDictionary *)userInfo date:(nonnull NSDate *)date;
4751
{
4852
self = [super init];
49-
53+
5054
_text = [text copy];
5155
_image = image;
5256
_type = type;
5357
_parameters = [parameters copy] ?: @{};
5458
_userInfo = [userInfo copy] ?: @{};
5559
_date = date;
56-
60+
5761
return self;
5862
}
5963

@@ -69,7 +73,7 @@ - (instancetype)initWithCoder:(NSCoder *)aDecoder;
6973
NSDate *const date = [([aDecoder decodeObjectOfClass:[NSDate class] forKey:ARKSelfKeyPath(date)] ?: [aDecoder decodeObjectOfClass:[NSDate class] forKey:ARKSelfKeyPath(creationDate)]) copy];
7074
#pragma clang diagnostic pop
7175
NSDictionary<NSString *, NSString*> *const parameters = [aDecoder decodeObjectOfClass:[NSDictionary class] forKey:ARKSelfKeyPath(parameters)];
72-
76+
7377
return [self initWithText:text image:image type:type parameters:parameters userInfo:nil date:date];
7478
}
7579

@@ -97,16 +101,16 @@ - (BOOL)isEqual:(id)object;
97101
if (![self isMemberOfClass:[object class]]) {
98102
return NO;
99103
}
100-
104+
101105
ARKLogMessage *otherMessage = (ARKLogMessage *)object;
102106
if (!(self.text == otherMessage.text || [self.text isEqualToString:otherMessage.text])) {
103107
return NO;
104108
}
105-
109+
106110
if (!(self.image == otherMessage.image || [self.image isEqual:otherMessage.image])) {
107111
return NO;
108112
}
109-
113+
110114
if (self.type != otherMessage.type) {
111115
return NO;
112116
}
@@ -118,7 +122,7 @@ - (BOOL)isEqual:(id)object;
118122
if (![self.parameters isEqualToDictionary:otherMessage.parameters]) {
119123
return NO;
120124
}
121-
125+
122126
return YES;
123127
}
124128

Sources/CoreAardvark/Logging/ARKLogging.m

+4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414
// limitations under the License.
1515
//
1616

17+
#if SWIFT_PACKAGE
18+
#import "ARKLogging.h"
19+
#else
1720
#import <CoreAardvark/ARKLogging.h>
21+
#endif
1822

1923
#import "ARKLogDistributor.h"
2024

Sources/CoreAardvark/Logging/ARKDefaultLogFormatter.h Sources/CoreAardvark/include/ARKDefaultLogFormatter.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import Foundation;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKLogFormatter.h"
21+
#else
1922
#import <CoreAardvark/ARKLogFormatter.h>
23+
#endif
2024

2125

2226
@interface ARKDefaultLogFormatter : NSObject <ARKLogFormatter>

Sources/CoreAardvark/Logging/ARKLogDistributor.h Sources/CoreAardvark/include/ARKLogDistributor.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import UIKit;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKLogTypes.h"
21+
#else
1922
#import <CoreAardvark/ARKLogTypes.h>
23+
#endif
2024

2125

2226
@protocol ARKLogObserver;

Sources/CoreAardvark/Logging/ARKLogMessage.h Sources/CoreAardvark/include/ARKLogMessage.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import UIKit;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKLogTypes.h"
21+
#else
1922
#import <CoreAardvark/ARKLogTypes.h>
23+
#endif
2024

2125

2226
@interface ARKLogMessage : NSObject <NSCopying, NSSecureCoding>

Sources/CoreAardvark/Logging/ARKLogStore.h Sources/CoreAardvark/include/ARKLogStore.h

+4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414
// limitations under the License.
1515
//
1616

17+
#if SWIFT_PACKAGE
18+
#import "ARKLogObserver.h"
19+
#else
1720
#import <CoreAardvark/ARKLogObserver.h>
21+
#endif
1822

1923

2024
/// Stores log messages locally for use in bug reports. All methods and properties on this class are threadsafe.

Sources/CoreAardvark/Logging/ARKLogging.h Sources/CoreAardvark/include/ARKLogging.h

+4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414
// limitations under the License.
1515
//
1616

17+
#if SWIFT_PACKAGE
18+
#import "ARKLogTypes.h"
19+
#else
1720
#import <CoreAardvark/ARKLogTypes.h>
21+
#endif
1822

1923

2024
/// Logs a log with default type to the default log distributor.

Sources/CoreAardvark/CoreAardvark.h Sources/CoreAardvark/include/CoreAardvark.h

+14-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,19 @@ FOUNDATION_EXPORT double CoreAardvark_iOSVersionNumber;
2323
//! Project version string for CoreAardvark-iOS.
2424
FOUNDATION_EXPORT const unsigned char CoreAardvark_iOSVersionString[];
2525

26-
26+
#if SWIFT_PACKAGE
27+
#import "AardvarkDefines.h"
28+
#import "ARKDataArchive.h"
29+
#import "ARKDefaultLogFormatter.h"
30+
#import "ARKLogDistributor.h"
31+
#import "ARKLogging.h"
32+
#import "ARKLogFormatter.h"
33+
#import "ARKLogMessage.h"
34+
#import "ARKLogObserver.h"
35+
#import "ARKLogStore.h"
36+
#import "ARKLogTypes.h"
37+
#import "ARKExceptionLogging.h"
38+
#else
2739
#import <CoreAardvark/AardvarkDefines.h>
2840
#import <CoreAardvark/ARKDataArchive.h>
2941
#import <CoreAardvark/ARKDefaultLogFormatter.h>
@@ -35,3 +47,4 @@ FOUNDATION_EXPORT const unsigned char CoreAardvark_iOSVersionString[];
3547
#import <CoreAardvark/ARKLogStore.h>
3648
#import <CoreAardvark/ARKLogTypes.h>
3749
#import <CoreAardvark/ARKExceptionLogging.h>
50+
#endif

Sources/CoreAardvark/Logging/ARKDataArchive_Testing.h Sources/CoreAardvark/private/ARKDataArchive_Testing.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import Foundation;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKDataArchive.h"
21+
#else
1922
#import <CoreAardvark/ARKDataArchive.h>
23+
#endif
2024

2125

2226
@interface ARKDataArchive (Private)

Sources/CoreAardvark/Logging/ARKLogDistributor_Protected.h Sources/CoreAardvark/private/ARKLogDistributor_Protected.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import Foundation;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKLogDistributor.h"
21+
#else
1922
#import <CoreAardvark/ARKLogDistributor.h>
23+
#endif
2024

2125

2226
@interface ARKLogDistributor (Protected)

Sources/CoreAardvark/Logging/ARKLogDistributor_Testing.h Sources/CoreAardvark/private/ARKLogDistributor_Testing.h

+4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
@import Foundation;
1818

19+
#if SWIFT_PACKAGE
20+
#import "ARKLogDistributor.h"
21+
#else
1922
#import <CoreAardvark/ARKLogDistributor.h>
23+
#endif
2024

2125

2226
@interface ARKLogDistributor (Private)

Sources/CoreAardvark/Logging/ARKLogDistributor+SwiftAdditions.swift Sources/CoreAardvarkSwift/ARKLogDistributor+SwiftAdditions.swift

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
import Foundation
1818

19+
#if SWIFT_PACKAGE
20+
import CoreAardvark
21+
#endif
22+
1923
extension ARKLogDistributor {
2024

2125
/// Creates a log message and distributes it to the log observers. This is a convenience wrapper for Swift usage

Sources/CoreAardvark/Logging/Logging.swift Sources/CoreAardvarkSwift/Logging.swift

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
import Foundation
1818

19+
#if SWIFT_PACKAGE
20+
import CoreAardvark
21+
#endif
22+
1923
/// Logs a new messages to the default Aardvark log distributor.
2024
///
2125
/// - parameter text: The text of the log message.

0 commit comments

Comments
 (0)